Laravel部署后,CPU 使用率过高
我在部署 Laravel 应用程序时遇到严重问题。当访问量稍微大一点的时候,cpu马上就到100%了,
找了一大堆文档和说明,都是说明laravel处理并发的能力太弱,还不如原生的php。最后找到swoole解决问题。
1、php下载swoole插件,这个不用多介绍,自己自行百度即可。
2、larave 安装 laravel-swoole
composer require swoolet/laravel-swoole
3、注册:config/app.php
'providers' => [
...........
SwooleTW\Http\LaravelServiceProvider::class,
]
3、我直接在源码里修改的配置,修改对应的端口,该端口需要再服务器上放行。最好是1024以下的端口,以上的有没有问题我不清楚,我记得查资料时,提醒不要使用1024以上的端口。
4、命令
开始运行
php artisan swoole:http start
常驻运行:
php artisan swoole:http start &
停止
php artisan swoole:http stop
5、配置代理(伪静态)
location /api {
proxy_pass http://127.0.0.1:1023;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
rewrite /sw/(.*) /$1 break;
proxy_redirect off;
}