linux下为.net core应用创建守护进程
1.Supervisor 安装
yum install python-setuptools
easy_install supervisor
2.配置 Supervisor
mkdir /etc/supervisor
echo_supervisord_conf > /etc/supervisor/supervisord.conf
指定配置文件
supervisord -c /etc/supervisor/supervisord.conf
vi /etc/supervisor/supervisord.conf
在最后增加
[include]
files=conf.d/*.conf
3..net core 程序配置
安装完成之后,在 /ect/supervisor/conf.d/ 目录下新建一个配置文件common.conf
打开common.conf ,写入如下命令:
[program:common] command=dotnet iss.ipsa.common.host.dll #要执行的命令 directory=/usr/service #命令执行的目录 environment=ASPNETCORE__ENVIRONMENT=Production #环境变量 user=root #进程执行的用户身份 stopsignal=INT autostart=true #是否自动启动 autorestart=true #是否自动重启 startsecs=1 #自动重启间隔 stderr_logfile=/var/log/common.err.log #标准错误日志 stdout_logfile=/var/log/common.out.log #标准输出日志
配置好以后 (:wq保存退出),需要重新加载一下配置
sudo supervisorctl shutdown
sudo supervisord -c /etc/supervisor/supervisord.conf
或者你可以直接重启 Supervisor:
sudo service supervisor stop
sudo service supervisor start
如果启动的时候报错,可以打开位于/etc/log/supervisor/supervisord.log文件来查看具体的日志。
其中dotnet 命令输出的日志文件分别为位于
/var/log/common.err.log
/var/log/common.out.log
在这些文件里面你可以查看程序中的异常信息或者是运行信息。
ps:
Supervisor 常用命令
supervisorctl shutdown #关闭所有任务 supervisorctl stop|start program_name #启动任务 supervisorctl status #查看所有任务状态 ps -ef | grep common #查看进程信息