目录
一、前言二、安装运行时环境1、在线安装2、离线包安装三、上传文件四、部署1、使用Kestrel启动2、使用Nginx作为反向代理一、前言
这篇文章我们将讲解如何将ASP.NET Core 程序部署到linux。这里我们使用的是虚拟机里面安装的Centos7。这里的ASP.NET Core程序,以上篇文章中发布的框架依赖文件为例进行讲解。
二、安装运行时环境
1、在线安装
我们只是在Linux系统上面部署应用程序,所以只需要安装ASP.NET Core Runtime即可。在安装.NET之前,我们需要先注册Microsoft密钥和源,在终端里面执行下面的命令:
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
访问了。

我们也可以关闭防火墙:
service firewalld stop
如下图所示:

在生产环境中,不建议关闭防火墙,建议是开启防火墙,然后把相应的端口号添加到防火墙里面。
2、使用Nginx作为反向代理
上面我们是使用的控制台的方式启动的,这种方式不能处理反向代理,负载均衡等,所以我们建议在Linux上面使用Nginx作为反向代理服务器。我们安装Nginx。
因为默认情况下,Nginx不在CentOS的资源库中,首先要执行下面的命令将Nginx添加到资源库中:
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
如下图所示:

然后就可以安装Nginx了:
yum install nginx
如下图所示:

安装完以后启动Nginx:
systemctl start nginx
如下图所示:

将Nginx设置为开机启动:
systemctl enable ngjsiVjLrinx
Nginx默认开启80端口,我们要把80端口添加到防火墙中,添加完以后重启防火墙:
firewall-cmd --zone=public --add-port=80/tcp --permanent
如下图所示:

这时我们在外网访问Nginx:

我们看到这时可以访问Nginx了。接下来我们配置Nginx的反向代理。
首先进入Nginx的安装目录,然后查看所有文件:

如上图所示,nginx.conf是主配置文件,使用vim编辑器打开该文件:

在上图中可以发现:下面有一句include /etc/nginx/conf.d/*.conf,这说明还有一些配置在conf.d目录里面,而我们配置反向代理,主要就是在conf.d文件里面,使用下面的命令进入conf.d命令:
cd conf.d
然后查看所有文件:

发现里面有一个default.conf的文件,使用Vim编辑器打开该文件,然后修改如下:

listen表示监听的端口,这里是80端口。proxy_pass用来设置代理的地址。注意这里不要忘记最后的“;”。
保存以后使用下面的命令检查修改是否正确:

这说明修改的文件没有错误。配置成功以后,我们需要重启Nginx服务:
nginx -s reload
如下图所示:

重启之后我们访问:

这说明有错误,提示信息告诉我们查看Nginx日志,我们在nginx.conf里面查看日志路径:

然后我们进入该路径,查看下面的所有文件:

发现这下面有两个日志,我们先查看error.log:

使用下面的命令解决:
setsebool -P httpd_can_network_connect 1
我们重新访问:

这就可以访问了。我们在Linux上面部署就成功了。
到此这篇关于部署ASP.NET Core程序到Linux系统的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。








