腾讯qq辅助进程已经停止工作 将asp.net core程序部署到Linux服务器上(2)---以守护进程方式
上一篇只是简单的使用控制台启动方式,启动core程序。终端关闭进程也停止了。
下面首先介绍下如何使用Nginx做反向代理,转发请求到后端服务。
我们可以在nginx服务器上做负载均衡,处理高并发请求(基于服务集群节点而言)。
关于Nginx的安装,看下我另外一个博客:Nginx服务器在Linux上的安装
现通过控制台方式启动asp.net core web api程序。
然后打开nginx.conf文件进行配置:
server {
listen 指定的端口号;
server_name ip地址或者域名;
location / {
proxy_pass http://目标地址ip:端口号;
}
}
注意:如果防火墙开启的话,将端口号加入防火墙,然后重新启动下防火墙。
如果是云服务器,防火墙规则开放此端口
显示上图,说明nginx反向代理配置的没问题了。关于nginx后期会写个专栏继续分享。
1.为web api服务创建Linux守护进程
在Linux系统中为应用服务添加守护进程,它是一种运行在后台的特殊进程辅助卡盟,可以周期性的执行应用程序或用于监听端口处理网络请求。守护进程还会在系统重启或意外关闭服务后自动开启应用服务,并且不会因为远程连接的终端工具断开而中断,除非系统关闭它才会退出。
比较常用的两种方式:
1.创建Linux系统中的服务(service)实现
2.Supervisor进程管理工具
这里我只介绍第一种,另外一种也有很多人介绍,自行谷歌吧。
为了方便演示,将发布目录的文件复制到
/var/aspnetcoreprojects/release 下
mkdir -p /var/aspnetcoreprojects/
cp -r /AspNetCoreProjects/AutoMapperWebApiTest/bin/Release/netcoreapp3.1/* /var/aspnetcoreprojects/release
复制完,尝试下能否正常启动。
类似于Windows一样,Linux系统中也有“服务”这一说法,服务相当于一个后台进程,在进程中自动运行处理某个应用程序腾讯qq辅助进程已经停止工作,基于它可以带给其中应用程序一定的维稳性,因此我们又将它称为守护进程。所以我们经常将一些需要长时间运行的程序以服务的方式运行。Linux中的服务是以service的形式来体现,服务的创建方式主要是通过配置service文件来实现。
1.切换root用户
配置服务的一些列行为需要管理员的权限,所以我们先将当前的账号切换为root用户
2.进入Linux的Daemon管理路径
cd /etc/systemd/system
3..创建service配置文件
vim webapi.service
[Unit]
Description=ASP .NET Web Application
[Service]
User=root
Group=root
WorkingDirectory=/var/aspnetcoreprojects/release
ExecStart=/usr/bin/dotnet /var/aspnetcoreprojects/release/WebApiTest.dll
Restart=always
RestartSec=10
SyslogIdentifier=netcore-demo
Environment=ASPNETCORE_ENVIRONMENT=Production
[Install]
WantedBy=multi-user.target