注意:该教程针对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
查看状态:
# supervisorctl status
启动、停止、重启program进程: # supervisorctl start laravel-worker:*
# supervisorctl stop laravel-worker:*
# supervisorctl restart laravel-worker:*
Error: Another program is already listening on a port that one of our HTTP servers is configured to- unlink /var/run/supervisor.sock
- unlink /tmp/supervisor.sock
复制代码
|