方式一:yum安装
yum install supervisor
如果yum安装无法找到资源,可以通过easy_install
方式二:easy_install 安装
easy_install supervisor
1)创建配置文件夹
mkdir /etc/supervisor
2)创建配置文件
echo_supervisord_conf > /etc/supervisor/supervisord.conf
3)修改配置文件
vim /etc/supervisor/supervisord.conf
a. 将[include]节点改为
[include]
files=/etc/supervisor/conf.d/*.conf
*特别注意:首尾需无空格,无分号,需顶格
b. 修改所有的/tmp路径
/tmp/supervisor.sock 改成 /var/run/supervisor.sock
/tmp/supervisord.log 改成 /var/log/supervisor.log
/tmp/supervisord.pid 改成 /var/run/supervisor.pid
由于tmp路径的文件夹会不定时被linux清理掉,导致supervisor无法正常运行且报错:unix:///tmp/supervisor.sock no such file
4)在目录“/etc/supervisor”下创建dotnet core 进程配置文件存放目录“conf.d”
mkdir /etc/supervisor/conf.d
5)创建进程配置文件
vim /etc/supervisor/conf.d/MyDotNetName.conf
"MyDotNetName"可以为dotnet core 入口dll文件名字 ,插入内容:
[program:MyDotNetName]
command=dotnet MyDotNetName.dll
directory=/usr/PublishOutput/
stderr_logfile=/var/log/MyDotNetName.error.log
stdout_logfile=/var/log/MyDotNetName.stdout.log
environment=ASPNETCORE_ENVIRONMENT=Production
user=root
stopsignal=INT
autostart=true
autorestart=true
startsecs=1
*特别注意:首尾需无空格,无分号,需顶格,且无注释
以下是文件参数注释:
[program:MyDotNetName] ;显示名称
command=dotnet MyDotNetName.dll ;运行命令,启动dotnet进程
directory=/usr/PublishOutput/ ;MyDotNetName目录
stderr_logfile=/var/log/MyDotNetName.error.log ;错误日志文件
stdout_logfile=/var/log/MyDotNetName.stdout.log ;日志文件
environment=ASPNETCORE_ENVIRONMENT=Production ;进程环境变量
user=root ;进程执行用户
autostart=true ;自动启动
autorestart=true ;是否自动重启
startsecs=1 ;自动重启间隔时间
6)启动supervisor,并检查进程
supervisord -c /etc/supervisor/supervisord.conf
ps -ef | grep supervisor
ps -ef | grep dotnet
1)创建supervisor 自启动服务
vim /etc/systemd/system/supervisor.service
编辑内容:
[Unit]
Description=supervisor
[Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf
ExecStop=/usr/bin/supervisorctl shutdown
ExecReload=/usr/bin/supervisorctl reload
KillMode=process
Restart=on-failure
RestartSec=10s
[Install]
WantedBy=multi-user.target
2)使配置生效
systemctl daemon-reload
3)设置服务开机启动,即设置enable
systemctl enable supervisor.service
4)启动服务
systemctl start supervisor.service
1)修改配置文件
vim /etc/supervisor/supervisord.conf
将[inet_http_server]节点改为
[inet_http_server]
port=*:9001 ;ip 加端口
username=admin ;登陆账号,可以不设,建议设置
password=123456 ;登陆账户,可以不设,建议设置
*特别注意:每行开头默认有分毫,需删除分号
2)设置防火墙开放9001端口
firewall-cmd --zone=public --add-port=9001/tcp --permanent
参数--permanent表示永久生效
3)重启服务
supervisorctl reload
4)浏览器打开127.0.0.1:9001正常访问即可
sudo service supervisor stop 停止supervisor服务
sudo service supervisor start 启动supervisor服务
supervisorctl shutdown #关闭所有任务
supervisorctl stop|start program_name #启动或停止服务
supervisorctl status #查看所有任务状态
supervisorctl reload #修改配置文件后,重新加载生效