ASP.NET Core 2.x On Ubuntu

安装.NET Core 

首先须要安装.NET Core Runtime: https://www.microsoft.com/net/downloadhtml

点击以后,根据您的Linux发行版不一样,选择相应的操做步骤:linux

最后执行dotnet --info验证安装是否成功:nginx

 

安装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,若是看到以下效果说明安装成功:并发

配置nginx

根据官网的介绍,asp.net core使用nginx做为反向代理服务器。 
安装指令apt-get install nginx。 
安装成功后进入nginx的安装目录cd /etc/nginx app

 

在服务器构建源码并发布

而后就是发布程序了,发布有两种办法:asp.net

  • 在开发机上执行dotnet publish而后把发布的文件复制到服务器上
  • 或者直接在服务器上使用源码构建并发布,我通常是这样作的。

因为我是直接在服务器上构建发布,因此我须要安装.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

而后咱们再回来配置Nginx,进入/etc/nginx/sites-available,里面有一个Default文件,把它改个名,而后咱们再创建一个新的Default文件:

 

保存后执行sudo nginx -t检验这个配置文件。

而后再执行 nginx -s reload 来重启nginx。

随后须要再把发布后的程序运行一下:dotnet test.dll:

 

在我使用网址访问80端口的时候,会自动跳转到5001端口,致使链接失败:

这是由于项目里默认使用了HTTPS Redirection。由于我没有证书,因此为了演示,我把HTTPS Redirection相关的代码注释掉,再发布:

 

重复上述步骤以后,经过网址的80端口,就能够正常访问了:

 

NGINX配置证书和HTTPS

配置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网址:

相关文章
相关标签/搜索