1. 安装
sudo yum install python-setuptools
sudo easy_install supervisor
2. 配置
安装成功后,输入supervisord 会显示配置默认读取目录:
安装成功后我看到有这个目录,所以就把配置放在这了:
a) 初始化配置文件
echo_supervisord_conf > /etc/supervisor/supervisord.conf
b) 指定配置文件
supervisord -c /etc/supervisor/supervisord.conf
c) 指定守护程序配置
sudo vim /etc/supervisor/supervisord.conf
d) 解注并编辑
“;”表示注释, 删了就解注了
[include]
files = conf.d/*.conf
e) 创建配置
sudo mkdir /etc/supervisord.d/conf.d
sudo vim hellmvc.conf
粘入以下内容:
[program:hellomvc]
command=/usr/local/bin/dotnet hellomvc.dll
directory=/var/aspnetcore/hellomvc
autorestart=true
stderr_logfile=/var/log/hellomvc.err.log
stdout_logfile=/var/log/hellomvc.out.log
environment=ASPNETCORE_ENVIRONMENT=Production
user=www-data
stopsignal=INT保存退出:
:wq
f) 配置supervisor开机启动
sudo systemctl start supervisord.service
sudo systemctl enable supervisord.service
如无意外,现在您已可以访问到站点了
3. 配置UI
安装supervisor后,默认是有一个UI站点的,只要修改下配置,开放端口就可以访问得到
sudo vim /etc/supervisord.d/supervisord.conf
找到这一段,并修改,由于我要公网可访问,所以我只写了个端口,这样就允许任意IP了
PS:
问题排查:
1. 确定守护进程是否运行中:
像这样就是运行中的了
2. 如无守护进程,则启动失败,可能过supervisorctl 进行调试
supervisorctl -c /etc/supervisor/supervisord.conf
(直接执行 supervisord –c 或 supervisorctl –c 则会从默认目录读取配置(这里我配置放在了别的地方,所以需要要指定配置文件的路径))
3. 查看网关端口是否正常 工作
上一篇: .NET Core 部署到CentOS–2.创建守护进程, 通过Nginx公网访问
参考资料:
https://www.qcloud.com/community/article/240
http://www.gznotes.com/supervisor-socket-error-errno-101/
http://guoze.me/2014/12/17/supervisord-not-root/