ASP.NET Core 发布 centos7 配置守护进程

来源:互联网 发布:vb小程序代码 编辑:程序博客网 时间:2024/06/07 04:51

ASP.NET Core应用程序发布linux在shell中运行是正常的。可一但shell关闭网站也就关闭了,所以要配置守护进程, 用的是Supervisor,本文主要记录配置的过程和过程遇到的问题

安装Supervisor

 1  yum install python-setuptools

 2   easy_install supervisor

配置Supervisor

 3  mkdir /etc/supervisor

 4  echo_supervisord_conf > /etc/supervisor/supervisord.conf

 5 上面语句执行完后就能在/etc/supervisor 文件夹下找到文件 supervisord.conf 如图

 

下面我们要将文件的结尾部分替换掉以便后面能读取到我们的配置文件

在文件的结尾找到以下

1
;[include];files = relative/directory/*.ini

将代码替换为如下,注意前后不能带 ;和空格符号

1
[include]files = conf.d/*.conf

6 进入目录 /etc/supervisor/ 新建 conf.d文件夹,conf.d文件夹下新建 myproject.conf文件

   具体内容如下,注意命令执行的目录要写你项目文件所在的目录,两个日志文件的名称最好也统一改一下

1
2
3
4
5
6
7
8
9
[program:myproject]
command=dotnet myproject.dll ; 运行程序的命令
directory=/root/mypro/ ; 命令执行的目录
autorestart=true ; 程序意外退出是否自动重启
stderr_logfile=/var/log/myproject.err.log ; 错误日志文件
stdout_logfile=/var/log/myproject.out.log ; 输出日志文件
environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量
user=root ; 进程执行的用户身份
stopsignal=INT

  

运行supervisord并查看

7  supervisord -c /etc/supervisor/supervisord.conf 

8  ps -ef | grep myproject  # 这行命令是查看有关myproject的所有进程 ,【注意】myproject是上面 program:myproject 的命名 ,如果你看到如下图 ,说明运行成功,如果没有成功可以看上面配置的那个错误日志文件

9  supervisorctl reload  #最后重新载入配置

下面整理一些关于 Supervisor 的命令 ,参考链接https://segmentfault.com

 

 

命令说明supervisord初始启动Supervisord,启动、管理配置中设置的进程supervisorctl stop myproject停止某一个进程(programxxx),programxxx为[program:chatdemon]里配置的值,这个示例就是chatdemonsupervisorctl start myproject启动某个进程supervisorctl restart myproject重启某个进程supervisorctl stop groupworker重启所有属于名为groupworker这个分组的进程(start,restart同理)supervisorctl stop all停止全部进程,注:start、restart、stop都不会载入最新的配置文件supervisorctl reload载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程supervisorctl update根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启。注意:显示用stop停止掉的进程,用reload或者update都不会自动重启

 

温馨提示:如果要结束某个守护进程,我们可以 ps -ef | grep supervisord 查出所有守护进程相关的进程

然后再用  kill -9 pid   结束进程

原创粉丝点击