html
短说3.2版本及之后****需要配置
proc_open****函数不能被禁用

删除后,重启下PHP
可在php.ini那里搜索disable_functions,看下该项里是否有proc_open,有的话,就删掉该值,然后重启PHP。
① 网站根目录下的queue.sh赋予可执行权限
chmod +x queue.sh
② 执行queue.sh
./queue.sh
③ 将该执行命令加入到开机启动项中。(注:可能会意外中断,需要手工重新启动)
echo "sh /www/wwwroot/duanshuo/queue.sh" >> /etc/rc.local

启动命令:php think queue:listen

yum install python-setuptools
出现如图问题,就执行下面那条

yum install python3-setuptools
easy_install supervisor
当执行出现下图问题,需要下载supervisor的安装包来进行安装

tar -zxvf supervisor-4.2.3.tar.gz
cd supervisor-4.2.3
python setup.py install
通过运行echo_supervisord_conf程序生成supervisor的初始化配置文件,如下所示:
mkdir /etc/supervisor
echo_supervisord_conf > /etc/supervisor/supervisord.conf
mkdir /etc/supervisor/conf.d
然后在supervisord.conf的文件尾部添加如下配置:
cat>>/etc/supervisor/supervisord.conf<<EOF
;conf.d 为配置表目录的文件夹,需要手动创建
[include]
files = conf.d/*.conf
EOF
修改存储在/tmp文件位置
sed -i 's#/tmp/supervisor#/var/tmp/supervisor#g' /etc/supervisor/supervisord.conf
在/etc/supervisor/conf.d/那里创建一个.conf文件,填写以下内容
[program:duanshuoQueue] ;程序名称,终端控制时需要的标识。消息队列程序,根据项目名称自行修改
command=php think queue:listen ; 运行程序的命令,启动消息队列的命令,不能改
directory=/www/wwwroot/duanshuo/ ; 命令执行的目录,项目根目录,根据实际修改
autorestart=true ; 程序意外退出是否自动重启
stderr_logfile=/www/wwwroot/duanshuo/queue.err.log ; 错误日志文件,根据实际修改
stdout_logfile=/www/wwwroot/duanshuo/queue.out.log ; 输出日志文件,根据实际修改
environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量
user=www ; 进程执行的用户身份,宝塔为www用户,其他环境需要自己确定
stopsignal=INT
运行supervisord
supervisord -c /etc/supervisor/supervisord.conf
查看是否生效
supervisorctl status
成功的效果:

PS:如果服务已启动,修改配置文件可用“supervisorctl reload”命令来使其生效
新建一个/usr/lib/systemd/system/supervisord.service文件
vim /usr/lib/systemd/system/supervisord.service
# dservice for systemd (CentOS 7.0+)
# by ET-CS (https://github.com/ET-CS)
[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
执行命令
systemctl enable supervisord
验证是否为开机自启
systemctl is-enabled supervisord

配置完成了!!!
supervisorctl restart <application name> ;重启指定应用
supervisorctl stop <application name> ;停止指定应用
supervisorctl start <application name> ;启动指定应用
supervisorctl restart all ;重启所有应用
supervisorctl stop all ;停止所有应用
supervisorctl start all ;启动所有应用
supervisor安装和使用参考:查看原文

