注意:该教程针对CentOS7版本,如果使用其他版本可能会出现某些未知的问题,如果需要使用其他版本的CentOS,建议搜索其他安装教程。
一、安装supervisor
安装前请保证root权限,如果是非root用户,请切换为root用户:
$ sudu su -
安装第三方源,CentOS本身的yum源中没有supervisor,需要更换第三方源:
# yum install epel-release
安装supervisor:
# yum install -y supervisor
设置supervisor 开机自动启动:
# systemctl enable supervisord
启动supervisor 服务、查看supervisor 服务状态、查看是否存在supervisor 进程:
# systemctl start supervisord
# systemctl status supervisord
# ps -ef|grep supervisord
二、修改supervisor配置文件
修改配置文件内容,开启web界面确认supervisor安装无误:
找到配置文件中的web页面:
;[inet_http_server]
;port=127.0.0.1:9001
;username=user
;password=123
将注释解开(该配置文件中';'为注释),ip地址改为本机ip或0.0.0.0,确保9001端口没有被其他服务占用,如果占用,请关闭占用端口服务或更改配置文件中的端口号:
[inet_http_server]
port=0.0.0.0:9001
username=user
password=123
修改完成后重新加载配置文件:
supervisorctl reload
在本地访问配置文件中的web界面地址,如192.168.1.22:9001,如果成功进入登录界面,则修改成功,如果无法进入登录界面,请检查CentOS系统防火墙是否关闭。根据配置文件中的账号密码登录后,进入supervisor控制台。
三、添加项目对应配置文件
在web能够正常访问之后,需要添加项目需要的配置文件。
进入supervisor的子配置文件中:
# cd /etc/supervisord.d/
创建配置文件:
# vim program.ini
将下方的配置文件内容复制进去:
[program:program] ;项目名称
directory = /root/Tributte ;启动目录
command = /root/venv/bin/uwsgi --ini /root/Tributte/uwsgi.ini ;启动命令
autostart = true ;在supervisord启动的时候也启动
startsecs = 5 ;启动5秒后没有异常退出,就当作已经正常启动
autorestart = true ;程序异常退出后自动重启
startretries = 3 ;启动失败自动重试次数,默认是3
user = root ;哪个用户启动
redirect_stderr = true ;把stderr重定向到stdout,默认false
stdout_logfile_maxbytes = 20MB ;stdout日志文件大小,默认50MB
stdout_logfile_backups = 20 ;stdout日志文件备份数
修改supervisord.conf中的文件路径:
[include]
files = supervisord.d/*.ini
将*更改为刚才修改的配置文件名称:
[include]
files = supervisord.d/program.ini
最后再次重新加载配置文件:
# supervisorctl reload
启动、停止、重启program进程:
# supervisorctl start eolinker_os
# supervisorctl stop eolinker_os
# supervisorctl restart eolinker_os
同理,可以在控制台中进行启动、停止、重启等操作。