supervisor安装教程

注意:该教程针对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

同理,可以在控制台中进行启动、停止、重启等操作。

 

 

原文地址:https://www.cnblogs.com/ellisonzhang/p/14001466.html