共计 1641 个字符,预计需要花费 5 分钟才能阅读完成。
1、安装 supervisor
执行以下命令
yum install python-setuptools
easy_install supervisor
或者
#如果 easy_install 不好使就从官方下载:
wget https://pypi.python.org/packages/80/37/964c0d53cbd328796b1aeb7abea4c0f7b0e8c7197ea9b0b9967b7d004def/supervisor-3.3.1.tar.gz
#然后通过 python 安装:
tar zxf supervisor-3.3.1.tar.gz
cd supervisor
python setup.py install
2、配置 Supervisor
a. 创建文件夹和配置文件
mkdir /etc/supervisor
echo_supervisord_conf > /etc/supervisor/supervisord.conf
b. 修改 /etc/supervisor/supervisord.conf 文件内容在文件结尾 [include] 节点处把;files = relative/directory/*.ini 改为 files = conf.d/*.conf
c. 执行 supervisorctl reload 命令使配置文件生效。d. 在 /etc/supervisor/ 下创建 conf.d 文件夹,及 ProjectName.conf(以项目名称命名的)e. 打开 laravel.conf 文件,添加内容如下:
[program:laravel]
process_name=%(program_name)s_%(process_num)02d
command=php /data/wwwroot/laravel/artisan queue:listen –tries=3
autostart=true
autorestart=true
user=www
numprocs=2
redirect_stderr=true
stdout_logfile=/data/wwwlogs/worker.log
3、运行 supervisord,查看是否生效,执行以下命令:
#运行
supervisord -c /etc/supervisor/supervisord.conf
#查看进程 (ps -ef | grep ProjectName)
ps -ef|grep laravel
4、配置 supervisord 开机启动
a. 在指定目录下创建文件 supervisord.service
vim /usr/lib/systemd/system/supervisord.service
b. 输入以下内容:
[Unit]
Description=Supervisor daemon
[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=42s
[Install]
WantedBy=multi-user.target
c. 执行以下命令:
systemctl enable supervisord
d. 验证是否为开机启动:
#提示 enabled 表示成功
systemctl is-enabled supervisord
5、常用命令
service supervisord start #启动
service supervisord stop #停止
service supervisord status #状态
supervisorctl shutdown #关闭所有任务
supervisorctl stop|start program_name #启动或停止服务
supervisorctl status #查看所有任务状态