vlambda博客
学习文章列表

.NetCore程序在Linux上面部署的实现




回复【必会】,查看c#快速入门内容

回复【公开课】,进入免费公开课学习

回复【全栈】,查看全栈开发高级VIP课程

回复【进阶】,查看.Net高级进阶VIP课程

回复【上位机】,查看上位机VIP系统课程




我们知道.NetCore能够实现跨平台的根本就是内置Kestrel服务器实现请求处理和不同操作系统上反向代理的实现。在windows操作系统上IIS反向代理配置非常简单。但是Linux上就较为麻烦了。今天常老师在这里就给朋友们详细聊一下在Linux上面实现.NetCore程序部署的完整过程,对于做.NetCore开发的朋友一定有帮助。下面我们先简单看一下在Linux上面实现反向代理的结构图。

.NetCore程序在Linux上面部署的实现

通过上图,我们基本知道部署完成Linux平台的程序部署需要做好程序的上传、Nginx安装、启动等系列过程。下面我就指导大家来实现一下。

一、.NetCore项目的发布

右键点击项目,选择“发布”—IIS、FTP、Web部署。

.NetCore程序在Linux上面部署的实现

.NetCore程序在Linux上面部署的实现

点击创建配置文件。

继续选择“文件系统”,目标位置选择一个提前创建好的空文件夹myweb用来保存发布的项目文件。然后继续“下一步”。

.NetCore程序在Linux上面部署的实现

.NetCore程序在Linux上面部署的实现

按照上面的选项选择后,保存即可。然后选择“发布”,即可完成。

.NetCore程序在Linux上面部署的实现

这时候我们打开D盘的myweb文件夹可以看到发布的文件如下:

.NetCore程序在Linux上面部署的实现

.NetCore程序在Linux上面部署的实现

三、上传已经发布的项目文件

.NetCore程序在Linux上面部署的实现

四、打开FinalShell连接虚拟机

.NetCore程序在Linux上面部署的实现

.NetCore程序在Linux上面部署的实现

打开成功后,输入下面的命令,我们创建data和mywebappFiles文件夹,用来接收上传的项目文件。

.NetCore程序在Linux上面部署的实现

在FileZilla中找到我们刚才创建的项目文件目录,直接拖放到右边linux系统对应的目录即可。右边绿色部分就是我们已经上传到Linux上面的项目文件。

.NetCore程序在Linux上面部署的实现

五、下载安装Nginx

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx 可以在大多数 UnixLinux OS 上编译运行,并有 Windows 移植版。

Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。还能够不间断服务的情况下进行软件版本的升级。

下载后就是这样一个压缩文件

2、把文件复制到usr/myapp目录中(从左边找到下载的文件直接拖放即可)myapp文件夹,请自己创建一下,同时创建一个nginx目录。

.NetCore程序在Linux上面部署的实现

.NetCore程序在Linux上面部署的实现

2、解压安装包,输入命令:tar -xzvf nginx-1.16.1.tar.gz 成功后如下:

.NetCore程序在Linux上面部署的实现

查看目录

.NetCore程序在Linux上面部署的实现

3、修改解压后的文件夹名字,输入命令:mv nginx-1.16.1 nginx-dev

.NetCore程序在Linux上面部署的实现

4、进入nginx-dev目录,安装nginx的各种依赖库。

输入命令:yum install -y gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel openssl openssl-devel

.NetCore程序在Linux上面部署的实现

如果已经安装过,会显示上面的结果,如果没有安装过,会稍等一下即可完成安装。

5、配置nginx的安装路径。

输入命令:./configure --prefix=/usr/myapp/nginx

稍等即可完成:

.NetCore程序在Linux上面部署的实现

6、编译并安装nginx。输入命令:make && make install

成功后,效果如下:

.NetCore程序在Linux上面部署的实现

7、退出当前目录,进入到nginx安装目录找到conf目录

.NetCore程序在Linux上面部署的实现

8、修改配置文件nginx.conf,输入命令:vim nginx.conf

.NetCore程序在Linux上面部署的实现

在上面两个位置,增加如下代理信息配置内容:

.NetCore程序在Linux上面部署的实现

然后保存退出。(按esc键,取消插入状态,并输入:wq保存退出)

9、启动nginx,重新进入nginx目录。

.NetCore程序在Linux上面部署的实现

10、重新进入到项目文件目录,启动项目。

.NetCore程序在Linux上面部署的实现

.NetCore程序在Linux上面部署的实现

到此为止,我们的.NetCore项目就在Linux上面部署完成了。小伙伴们抓紧测试一下吧。


【特此推荐免费公开课】

C#/.NET全栈/Core/

BS/CS/上位机/WPF/WCF/

MVC/分布式

扫码听课吧👇

往期精彩回顾
“阅读原文”我们一起进步