关于如何在Linux上使用Nugix反向代理部署net core3.1项目
本文意在教大家如何在Linux上部署net core web项目,本人通过实践已经成功可以通过外网访问我部署在阿里云服务器上的站点。
一:需要用到的东西如下:
1:一个基于net core框架下的web项目,可以是MVC也可以是webapi可以自己选择,目前为了简单部署我用的是一个MVC项目,同时为了方便演示我们这里添加一句代码指定默认端口为5000,当然这个也可以自己定,和其它端口不起冲突就行。
2:一台Linux服务器,可以是阿里云或者腾讯云或者虚拟机下都可以实现,大家可根据自己的情况选择适合自己的服务器,我选择的是一台阿里云服务器。
3:打包发布我们的web项目操作如下图,发布的操作和fw下是一样的发布到文件系统,需要注意的是目标运行时需要选择Linux版本就可以了。
4:接下来需要把我们项目文件拷贝到服务器上运行,我们用的是Winscp工具。
(1):在root目录下新建一个文件夹dotnet把发布的项目文件通过Winscp拷贝到该目录下。
(2):接下来我们需要通过命令启动项目,那么我们可以使用Xshell工具远程连接到我们的服务器上通过控制台启动,连接成功如下。
(3)通过命令cd 到publish目录输入命令:dotnet +项目.dll 即可,如出现下图则说明项目部署成功。
5:此时项目已运行成功,但是外网不能访问,所以我们得安装配置Nugix替代之前的IIS进行方向代理
(1): 安装Nugix命令,
1:wget http://nginx.org/download/nginx-1.0.14.tar.gz
2:tar zxvf nginx-1.0.14.tar.gz
3:./configure --with-http_stub_status_module --prefix=/opt/nginx
4:cd nginx-1.0.14
5:make
6:make install
(2)最重要的是安装成功之后需要更改配置文件命令入下:
1:cd /usr/local/nginx/conf
2:vim nginx.conf
3:按 i 即可进入编辑状态,更改listen端口和server_name服务器地址即可,其它不用改。
4:更改好了之后输入 :wq 即可保存并退出编辑。
5:vim nginx.conf输入命令查看配置是否修改成功
6: /usr/local/nginx/sbin/nginx -s reload 输入命令重新加载配置文件
6:cd到项目跟目录重新启动项目:
7:在浏览器输入你外网地址+端口即可访问你的项目。
7:需要注意的是 如果你外网访问不了的话,需要检查你的端口是否开放,防火墙是否打开。
以上为个人实践中遇到的问题和一些实现步骤,有啥问题欢迎各位大佬指正。