首先须要安装.NET Core Runtime: https://www.microsoft.com/net/downloadhtml
点击以后,根据您的Linux发行版不一样,选择相应的操做步骤:linux
最后执行dotnet --info验证安装是否成功:nginx
另外还须要安装Nginx,直接查看官网文档吧:https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/linux-nginx?view=aspnetcore-2.1&tabs=aspnetcore2x#install-nginx服务器
安装好后,访问这个页面:http://你的ip地址/index.nginx-debian.html,若是看到以下效果说明安装成功:并发
根据官网的介绍,asp.net core使用nginx做为反向代理服务器。
安装指令apt-get install nginx
。
安装成功后进入nginx的安装目录cd /etc/nginx
app
而后就是发布程序了,发布有两种办法:asp.net
因为我是直接在服务器上构建发布,因此我须要安装.NET Core SDK:https://www.microsoft.com/net/learn/get-started-with-dotnet-tutorialtcp
而后就可使用发布命令了:dotnet publish --configuration Release。网站
发布好的文件在bin/Release/netcoreapp*.*/publish下面。.net
再把publish下的全部文件复制到个人目标文件夹便可:
在个人目标目录下,有这些文件:
若是执行 dotnet test.dll,这个程序就会在localhost:5000运行:
而后咱们再回来配置Nginx,进入/etc/nginx/sites-available,里面有一个Default文件,把它改个名,而后咱们再创建一个新的Default文件:
保存后执行sudo nginx -t检验这个配置文件。
而后再执行 nginx -s reload 来重启nginx。
随后须要再把发布后的程序运行一下:dotnet test.dll:
在我使用网址访问80端口的时候,会自动跳转到5001端口,致使链接失败:
这是由于项目里默认使用了HTTPS Redirection。由于我没有证书,因此为了演示,我把HTTPS Redirection相关的代码注释掉,再发布:
重复上述步骤以后,经过网址的80端口,就能够正常访问了:
配置HTTPS和证书相关的内容直接去看官方文档:https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/linux-nginx?view=aspnetcore-2.1&tabs=aspnetcore2x#configure-ssl
添加proxy.conf和编辑nginx.conf后重启nginx便可。
按照操做,运行后若是不能使用https正常访问网站,那么有多是没法绑定443端口致使的。
查看nginx错误日志:/var/log/nginx/error.log,若是出现下面的错误:
能够执行下列命令来解决:
sudo fuser -k 443/tcp
service nginx restart
而后再次访问https网址: