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

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

一、.NetCore项目的发布

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

,点击创建配置文件。

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

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

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

二、启动虚拟机,找到IP地址

记住当前Linux操作系统所在的电脑IP地址是192.168.73.129,一会儿我们要用到。

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

打开FTP工具FileZilla,从windows上把发布的项目文件上传到Linux上。在软件中输入我们刚才的IP地址,用户名和密码,端口号,即可连接。

四、打开FinalShell连接虚拟机

在学习Linux的时候,这个软件大家应该不陌生了。用它来连接虚拟机的终端,我们操作各种命令会非常方便,如果您对这个不熟悉,欢迎通过微信公众号和我们联系。双击这个连接后,即可连接成功。

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

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

五、下载安装Nginx

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

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

1、 下载安装包。地址:http://nginx.org/en/download.html

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

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

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

查看目录

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

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

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

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

5、 配置nginx的安装路径。

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

稍等即可完成:

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

成功后,效果如下:

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

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

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

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

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

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

11、在浏览器中输入IP地址,即可看到网站页面效果:

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

如有任何问题欢迎加微信:thinger_net咨询。可扫码关注↓

.NetCore程序在Linux上面部署的实现的更多相关文章

  1. 一、netcore跨平台之 Linux上部署netcore和webapi

    这几天闲着的时候在linux上部署了一下netcore webapi,下面就纪要一下这个过程. 中间遇到不少的坑,心里都是泪啊. 话不多说,开始干活. ------------------------ ...

  2. netcore程序部署及守护

    一.程序发布 1.在本机编译无误的情况下,选择发布成文件系统.注意如果使用了swagger 需要将生成的xml文档说明复制到发版包里面.否则会报错.(可以在项目的csproj 中加入 <Prop ...

  3. Linux服务器部署.Net Core笔记:目录

        目录 Linux服务器部署.Net Core笔记:一.开启ssh服务 Linux服务器部署.Net Core笔记:二.安装FTP Linux服务器部署.Net Core笔记:三.安装.NetC ...

  4. Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(二)

    Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(一) 接上一篇 3. Nginx配置反向代理 3.1 cnetos 安装nginx 首先,我们需要在服务器上安装N ...

  5. Linux中部署JAVA程序

    JAVA程序在开发完成后,需要部署到服务器,如果是WEB项目,需要部署到WEB服务器,否则部署到应用服务器. JAVA是跨平台的编程语言,服务器的操作系统可以是Windows.Linux或者其它,下面 ...

  6. jenkins + supervisor + ansible 实现netcore程序的多机一键部署

    上一篇我们简单的说到了使用jenkins+supervisor实现了一个单机版的多副本部署,但是在更多的场景下还是需要netcore程序的多机一键部署,那么多 机器间如何分发呢? 肯定不能使用scp这 ...

  7. Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(一)

    环境 本地 win7 服务器:Virtual Box 上的Centos ssh工具: Xshell 文件传输: xftp 1.在本地创建asp.net core应用发布 1.1 使用Vs2017 新建 ...

  8. 使用PowerShell自动部署ASP.NetCore程序到IIS

    Windows PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework的强大功能.有关于更多PowerShell的信息,可参阅百度词条 接 ...

  9. Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践

    原文:Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践 环境 本地 win7 服务器:Virtual Box 上的Centos ssh工具: Xshell 文件传输 ...

随机推荐

  1. [模板] dijkstra (堆优化)

    复杂度O(mlogn) 输入起点s,可以得到从起点到各点的最短路距离数组dis[i] 过程: 1.初始化:清空标记数组,初始化距离数组设为inf,起点距离设为0,开优先队列,搜索起点 2.搜索:取出队 ...

  2. Building Applications with Force.com and VisualForce(Dev401)(十三):Implementing Business Processes:Automating Business Processes Part II

    ev401-014:Implementing Business Processes:Automating Business Processes Part II Module Agenda1.Multi ...

  3. 为何Keras中的CNN是有问题的,如何修复它们?

    在训练了 50 个 epoch 之后,本文作者惊讶地发现模型什么都没学到,于是开始深挖背后的问题,并最终从恺明大神论文中得到的知识解决了问题. 上个星期我做了一些实验,用了在 CIFAR10 数据集上 ...

  4. MFC之登录框的问题处理

    1.在做登录框的时候,把登录框做成模态对话框,并且放在 主界面程序所在窗口打开之前.也就是放在主界面类的InitInstance()里.这样做就会在弹出主界面之前被登录框弹出模态框出来阻塞住. 1.但 ...

  5. Python python 函数参数:参数组合

    '''在Python中定义函数,可以用必选参数.默认参数.可变参数和关键字参数, 这4种参数都可以一起使用,或者只用其中某些 参数定义的顺序必须是:必选参数.默认参数.可变参数和关键字参数 ''' d ...

  6. pip安装超时问题-pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.

    手动设置延时:(推荐) pip --default-timeout=100 install nibabel --或者不使用缓存pip  --no-cache-dir install Pillow 更改 ...

  7. 算法(algorithm)

    算法是什么? 算法是指令的集合,是为解决特定问题而规定的一系列操作. 它是明确定义的可计算过程,以一个数据集合作为输入,并产生一个数据集合作为输出. 一个算法通常来说具有以下五个特性: 1.输入:一个 ...

  8. CTR学习笔记&代码实现2-深度ctr模型 MLP->Wide&Deep

    背景 这一篇我们从基础的深度ctr模型谈起.我很喜欢Wide&Deep的框架感觉之后很多改进都可以纳入这个框架中.Wide负责样本中出现的频繁项挖掘,Deep负责样本中未出现的特征泛化.而后续 ...

  9. 1272: 【基础】求P进制数的最大公因子与最小公倍数

    1272: [基础]求P进制数的最大公因子与最小公倍数 时间限制: 1 Sec 内存限制: 16 MB 提交: 684 解决: 415 [提交] [状态] [讨论版] [命题人:外部导入] 题目描述 ...

  10. 掌握使用gitlab ci构建Android包的正确方式

    最近公司在做移动端的项目,自然而然的需要搭建打包的环境.本来计划用Jenkins的,但是发现在gitlab上创建完项目后,提示去配置pipeline,于是决定用gitlab去尝试下,毕竟我觉得Jenk ...