下载swool包
wget https://pecl.php.net/get/swoole-4.6.6.tgz
复制文件到docker文件中,如果没有使用容器则跳过这一步直接安装,注意目录文件地址
docker cp swoole-4.6.6 php:/usr/src/php/ext/swoole
进入容器内安装swoole
docker-php-ext-install swoole
安装完毕后查看
php --ri swoole
在 Laravel 应用中使用 Swoole 之前,先通过 Composer 安装 LaravelS 扩展包
composer require hhxsv5/laravel-s
该扩展包具备自动发现功能(Laravel 5.5 以上版本可用),无需手动在 config/app.php 配置文件中注册,安装完成后,运行如下 Artisan 命令相应脚本和配置文件发布到根目录下:
php artisan laravels publish
该命令会发布配置文件 laravels.php 到 config 目录下,以及脚本文件到 bin 目录下
也可以在.env 修改工作进程数并重启服务
LARAVELS_LISTEN_IP=0.0.0.0
LARAVELS_LISTEN_PORT=5200
LARAVELS_WORKER_NUM=4
容器内启动laravels
php bin/laravels start
OK
nginx反向代理swoole,配置文件后重启nginx
upstream swoole {
server 172.17.0.3:5200 weight=5 max_fails=3 fail_timeout=30s;
keepalive 16;
}
......
location @laravels {
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Real-PORT $remote_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header Scheme $scheme;
proxy_set_header Server-Protocol $server_protocol;
proxy_set_header Server-Name $server_name;
proxy_set_header Server-Addr $server_addr;
proxy_set_header Server-Port $server_port;
proxy_pass http://swoole;
}
开启加速后,压测对比