一 安装supervisor需要的依赖软件
yum install readline readline-devel readline-static -y
yum install openssl openssl-devel openssl-static -y
yum install sqlite-devel -y
yum install bzip2-devel bzip2-libs -y
二 supervisor安装
1 安装命令
yum install python-setuptools
easy_install supervisor
2 配置
a.创建文件夹和配置文件
mkdir /etc/supervisor
echo_supervisord_conf > /etc/supervisor/supervisord.conf
b.修改/etc/supervisor/supervisord.conf文件内容
在文件结尾[include]节点处
把;files = relative/directory/*.ini 新增一行files = conf.d/*.conf
c.执行supervisorctl reload命令使配置文件生效。
若重启失败,可以尝试重新启动supervisorctl 服务
service restart supervisorctl
或者重新启动
sudo supervisord -c /etc/supervisor/supervisord.conf
d.在/etc/supervisor/下创建conf.d文件夹,及ProjectName.conf文件(以项目名称命名的)
e.打开ProjectName.conf文件,添加内容如下:
[program: ProjectName]
command=dotnet ProjectName.dll ; 运行程序的命令
directory=/root/Publishing/PublishOutput/ ; 命令执行的目录
autorestart=true ; 程序意外退出是否自动重启
autostart=true ; 是否自动启动
stderr_logfile=/var/log/ProjectName.err.log ; 错误日志文件
stdout_logfile=/var/log/ProjectName.out.log ; 输出日志文件
environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量
user=root ; 进程执行的用户身份
stopsignal=INT
startsecs=1 ; 自动重启间隔
3、 运行supervisord,查看是否生效,执行以下命令:
supervisord -c /etc/supervisor/supervisord.conf
注意:在执行命令上面若出现以下提示信息时:
Error: Another program is already listening on a port that one of our HTTP servers is configured to use.
Shut this program down first before starting supervisord.
For help, use /usr/bin/supervisord –h
是因为有一个使用supervisor配置的应用程序正在运行,需要执行
supervisorctl shutdown命令终止它,或重新创建一个ProjectName.conf文件再执行第一条命令。
ps -ef | grep ProjectName