本教程仅适用于宝塔用户。(技术运维版)
本次升级换为 Supervisor 进程守护,可以提升 Swoole 进程的稳定性,保证队列任务的执行,避免在一些情况下需要不断重启 Swoole 的问题。
升级之后,一些 Swoole 启动参数可以手动设置,新的后台可以查看更为详细的进程运行信息,方便根据这些信息对系统运行配置进行优化。
就好比,家用空调插座有10A和16A,一般1.5匹以下的家用空调用10A插头,1.5匹以上的空调则要用16A插头。
不同的用户运营体量、骑手在线数量、每天订单量都不尽相同,就需要针对性地配置一些启动参数,以达到更好的运行效率。
本次更新无法通过后台升级,升级可能需要较长时间,升级时网站将不可用,请尽量在空闲时间段升级。
一、暂停网站
先确认当前使用的 swoole 端口。
打开后端站点根目录,打开 .env 文件查看 swoole 端口配置:
如果在 [SWOOLE] 下方有个 PORT,则 PORT 后面的数字就是 swoole 端口:
如果根本没有这项配置,那么 swoole 端口就是 9501。
打开终端,粘贴输入并执行以下命令:
命令 1-1
kill -9 $(lsof -t -i:9501)
二、部署新版代码
打开后端站点目录,删除无用文件:
https://make-duli.oss-cn-shenzhen.aliyuncs.com/make/make-system_v1.5.30.zip
下载得到一个zip压缩包,将其上传到后端站点根目录并解压:
三、升级Swoole扩展
升级Swoole扩展可以提升系统的性能和稳定性。
打开PHP7.4设置;
打开配置文件,下拉到最底下,找到以下配置:
PHP 7.4 配置
[swoole]
extension = swoole.so
extension = swoole_loader74_308.so
记住这个 extension = swoole_loader74_308.so,下面会用到。
有的用户不一定是 extension = swoole_loader74_308.so ,而是 extension = swoole_loader74.so,总之,是什么就记什么,根据实际情况而定。
切换到安装扩展;
下拉找到Swoole4,点击卸载;
卸载完成后再点击安装。
请耐心等待安装完成。
安装完成后,切换到配置文件,检查配置是否正确。
如果缺少了上文提到的配置,就将其补全:
保存之后记得重启PHP7.4。
打开文件;进入 /www/server/php/74/etc 目录,编辑 php-cli.ini:
有的旧版宝塔没有这个文件,那就不用管了,可以忽略这一步。
检查是否有上文提到的配置,没有的话就补全,补全后记得保存。
四、安装Supervisor
4-1 命令行工具
打开终端,依次执行以下命令(每行一条命令,依次执行):
yum install supervisor -y
systemctl daemon-reload
systemctl stop supervisord
systemctl disable supervisord
例如,执行第一条命令:
执行完第一条命令成功的标记如下图所示:
4-2 Supervisor管理器
安装Supervisor管理器:
4-3 配置Supervisor管理器
打开Supervisor管理器设置;
打开主配置文件,复制以下配置,替换文本框中的所有配置:
新配置
[unix_http_server]
file=/var/run/supervisor/supervisor.sock
[inet_http_server]
port=127.0.0.1:9001
[supervisord]
logfile=/var/log/supervisor.log
pidfile=/var/run/supervisor.pid
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[supervisorctl]
serverurl=unix:///var/run/supervisor/supervisor.sock
serverurl=http://127.0.0.1:9001
[include]
files = /www/server/panel/plugin/supervisor/profile/*.ini
五、添加守护进程
打开Supervisor管理器设置;
切换到守护进程管理,点击添加守护进程:
名称填写make-swoole;
启动用户选择 www:
运行目录选择后端站点根目录:
每个人的后端站点根目录都不一样,请根据自己的实际情况进行选择。
启动命令填写:
启动命令
/www/server/php/74/bin/php vendor/bin/easyswoole server start -mode=produce
进程数量必须是1:
填写完毕后,点击确定。
如图所示,说明守护进程成功启动:
六、检查进程状态
登录管理后台。
检查更新,升级后台。
打开系统->系统工具;
如下图所示,说明swoole成功启动:
七、迁移数据
打开系统->系统工具;
点击“执行数据迁移”,等待数据迁移完成。
至此系统升级完成。
感谢支持,如有问题请联系官方客服。