企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
[TOC] ## 将php.ini的memory_limit设置大 > 默认是128M,改成1024M > vim /servers/php/lib/php.ini ~~~ memory_limit = 1024M ~~~ ### 宝塔安装 > 直接在宝塔里找到对应的php版本,进行可视化安装swoole,并且关闭 Short Name ![](https://img.kancloud.cn/6c/39/6c3954f692f79be31e8ddee8c10d3626_663x280.png) ![](https://img.kancloud.cn/78/8f/788fef598fb0507428859a6707a0b6d4_653x455.png) ### 源码安装 > [Swoole PHP 扩展 >= 4.5](https://github.com/swoole/swoole-src/releases),并关闭 Short Name > [参考swoole官方安装文档](https://wiki.swoole.com/#/environment) ~~~ cd swoole-src phpize ./configure --with-php-config=/servers/php/bin/php-config make && make install ~~~ > php.ini中添加扩展 & 关闭 Short Name > vim /servers/php/lib/php.ini ~~~ extension = "swoole.so" swoole.use_shortname = off ~~~ ## 确保以下安装环境 > 参考文档:https://hyperf.wiki/2.0/#/zh-cn/quick-start/install ~~~ PHP >= 7.2 Swoole PHP 扩展 >= 4.5,并关闭了 Short Name OpenSSL PHP 扩展 JSON PHP 扩展 PDO PHP 扩展 (如需要使用到 MySQL 客户端) Redis PHP 扩展 (如需要使用到 Redis 客户端) Protobuf PHP 扩展 (如需要使用到 gRPC 服务端或客户端) ~~~ ## supervisor进程管理器 ### supervisor安装 ~~~ # 安装 epel 源,如果此前安装过,此步骤跳过 yum install -y epel-release yum install -y supervisor systemctl enable supervisord # 开机自启动 systemctl start supervisord # 启动supervisord服务 # systemctl status supervisord # 查看supervisord服务状态 ~~~ ### 配置hyperf进程管理 > 在文件结尾处追加以下内容后保存文件 > vim /etc/supervisord.conf ~~~ # 新建一个应用并设置一个名称,这里设置为 hyperf [program:hyperf] # 设置命令在指定的目录内执行 directory=/var/www/hyperf/ # 这里为您要管理的项目的启动命令 command=php ./bin/hyperf.php start # 以哪个用户来运行该进程 user=root # supervisor 启动时自动该应用 autostart=true # 进程退出后自动重启进程 autorestart=true # 进程持续运行多久才认为是启动成功 startsecs=1 # 重试次数 startretries=3 # stderr 日志输出位置 stderr_logfile=/var/www/hyperf/runtime/stderr.log # stdout 日志输出位置 stdout_logfile=/var/www/hyperf/runtime/stdout.log ~~~ > 重启supervisord,使其生效 ~~~ systemctl restart supervisord ~~~ ### supervisorctl 管理命令 ~~~ # 启动 hyperf 应用 supervisorctl start hyperf # 重启 hyperf 应用 supervisorctl restart hyperf # 停止 hyperf 应用 supervisorctl stop hyperf # 查看所有被管理项目运行状态 supervisorctl status # 重新加载配置文件 supervisorctl update # 重新启动所有程序 supervisorctl reload ~~~