安装NetCore
1.1 安装dotnet sdk
1.1.1 添加dotnet产品Feed
说明:在安装.NET Core之前,您需要注册Microsoft产品Feed。这只需要做一次。首先,注册Microsoft签名密钥,然后添加Microsoft产品Feed
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc sudo sh -c 'echo -e "[packages-microsoft-com-prod]\nname=packages-microsoft-com-prod \nbaseurl=https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/dotnetdev.repo'
1.1.2 安装Net Core SDK
sudo yum install libunwind libicu sudo yum install dotnet-sdk-2.1
如图效果:一路y下去就可以了
1.2 查看版本号
dotnet --version
1.3 新建Asp.net core项目
dotnet new mvc -o /usr/sftpdata/web/testweb
cd /usr/sftpdata/web/testweb
1.4 修改Startup.cs 文件
说明:由于后面要用到nginx搭建反向代理,在此处修改一下Startup.cs文件中的代码,添加引用 using Microsoft.AspNetCore.HttpOverrides;并在方法体(public void Configure(IApplicationBuilder app, IHostingEnvironment env))添加以下代码:
//添加下面的代码 app.UseForwardedHeaders(new ForwardedHeadersOptions { ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto }); app.UseAuthentication();
1.5 发布项目
dotnet publish -c Release -o /root/web/testweb
1.6 启动项目
dotnet /root/web/testweb/testweb.dll
说明启动成功了!!!!
1.7 项目的开机自动运行(使用6. 守护进程supervisor后不能使用该方法,替换为:配置管理进程)
接下来设置项目的开机自动启动,在 /etc/systemd/system/ 中新建一个服务文件
vi /etc/systemd/system/kestrel-testweb.service
内容如下:
[Unit] Description=Example .NET Web MVC Application running on Centos7 [Service] WorkingDirectory=/root/web/testweb/ ExecStart=/usr/bin/dotnet /root/web/testweb/testweb.dll Restart=always RestartSec=10 # Restart service after 10 seconds if dotnet service crashes SyslogIdentifier=dotnet-example User=root Environment=ASPNETCORE_ENVIRONMENT=Production [Install] WantedBy=multi-user.target
之后保存,运行以下命令:
systemctl enable kestrel-testweb.service systemctl start kestrel-testweb.service systemctl status kestrel-testweb.service
注意:如果检查到错误,需要修改 kestrel-testweb.service 文件,修改正确之后,需要运行以下命令重新启动:
systemctl daemon-reload
systemctl restart kestrel-testweb.service
下面是正常运行后的结果