.Net Core部署在Linux服务器:Nginx反向代理+Supervisor进程守护
前言:.Net Core 程序(网站)可以部署在windows IIS ,也可以部署在Linux系统(更加推荐)
本文部署,基于.net core 2.1,服务器CentOS 7, 需要安装的服务有2个:Nginx,SuperVisor(进程守护)
命令预览:
Linux: 重启:reboot Nginx: 强杀: killall -9 nginx 测试配置是否正确: nginx -t 启动: nginx SuperVisor:停止:supervisorctl shutdown 启动: supervisord
View Code描述:(以下,我以开发一个在线记事本 BookkeepingWeb 为例 )
一。在本地做好项目
开发好Web,并配置好程序监听的端口(不配置,默认5000端口,如果服务器部署多个web的话,这里应该更改端口),VS里面,或者cmd进入到项目进行发布,发布项目下的\bin\Debug\netcoreapp2.1\publish 后,
在cmd 进入到该项目运行 :dotnet 程序名称.dll ,浏览器打cmd提示的访问地址,保证正常访问。
找到程序的路径:D:\study\consoleTest\Bruke.Bookkeeping\Bruke.Bookkeeping.Core.Web\bin\Debug\netcoreapp2.1\publish
程序的启动入口:Bruke.Bookkeeping.Core.Web.dll
运行起来:打开cmd 进入程序路径 执行: dotnet 程序入口名称
执行:dotnet Bruke.Bookkeeping.Core.Web.dll
浏览器查看是否可以访问::5000 ,如图正常。
当cmd关闭或 程序shut down(Ctrl+C) 时, 网站就是访问不了,说明,由cmd单线程监听端口,并执行和返回的。比如浏览器访问了本地5000端口,就会给这个单线程的cmd捕获到,并执行你的代码后返回到浏览器。
至此,本地程序是没问题的,那么就可以把publish拷贝到Linux服务器上了,下面是服务器如何设置监听端口,并转发请求的。
附(设置端口)的博文,可以先忽略该文:https://www.cnblogs.com/1175429393wljblog/p/8267772.html
二.服务器操作
1.接下来就是把publish 拷贝到Linux服务器上去即可,推荐使用 SecureCRSecureFXPortable,可以上传文件,命令运行。
链接: https://pan.baidu.com/s/15kDCQn3xSg4PyZO5R4gPLw 提取码: punw
在服务器 /root 添加文件夹 BookkeepingWeb,把publish的东西拷贝上来。
2.服务上安装.Net Core SDK (基于你的项目版本去安装,我的服务器,安装了.net core 3.0.1,和.net core 2.1,以下为core 2.1为例)
微软官网:https://dotnet.microsoft.com/download/linux-package-manager/rhel/sdk-current
寻找对应2.1的版本:https://dotnet.microsoft.com/download/dotnet-core
https://dotnet.microsoft.com/download/dotnet-core/2.1
执行:sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
执行:sudo yum install dotnet-sdk-2.1
安装.net core运行环境完毕。
3.服务上安装Nginx:
(可以参考:https://www.jianshu.com/p/e1b5ee442a70)
命令:
curl -o nginx.rpm
rpm -ivh nginx.rpm
yum install nginx
至此,安装完毕,外网访问服务器,访问80端口,如图说明,Ngnix部署成功,并完成了监听端口(80)。
打开服务器的目录 /etc/nginx
把配置文件拷贝下来到本地编辑后上传,或者直接在服务器上编辑(不推荐),在本地编辑时,注意使用编码是:utf-8 无bom的格式。
a. nginx.conf
如果nginx.conf和图上没什么区别,就不用管,如果是不同,参考或复制下面的
worker_processes 1; 这个表示nginx运行处理的线程数,推荐使用cpu核数的2倍(https://www.cnblogs.com/aaron-agu/p/8003831.html)
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/8624.html
- 上一篇:Docker部署ngnix静态网站
- 下一篇:angular 中的 http 请求