
php中文网最新课程
每日17点准时技术干货分享

最近公司接了一个基于laravel二开项目,客户对于高并发要求比较高,传统的部署laravel项目测试发现已经达到瓶颈,后来发现 Laravel-S 可以快速集成 Swoole 到 Laravel 或 Lumen,然后赋予它们更好的性能于是就试了下,没想到结果大大出乎我的意料,性能大幅度提升,客户也很满意。
下面说下具体流程:
1.引入依赖
composer require hhxsv5/laravel-s
2.配置好 .env 文件
APP_NAME=testAPP_ENV=localAPP_KEY=base64:QXu20Ct+XlvGEnSmVzrUPXjwGARbb9R6kNo4bj5Ibps=APP_DEBUG=falseAPP_URL=https://xxx.com/LOG_CHANNEL=stackDB_CONNECTION=mysqlDB_HOST=127.0.0.1DB_PORT=3306DB_DATABASE=databaseDB_USERNAME=rootDB_PASSWORD=rootBROADCAST_DRIVER=logCACHE_DRIVER=fileQUEUE_CONNECTION=syncSESSION_DRIVER=fileSESSION_LIFETIME=120REDIS_HOST=127.0.0.1REDIS_PASSWORD=nullREDIS_PORT=6379MAIL_DRIVER=smtpMAIL_HOST=smtp.mailtrap.ioMAIL_PORT=2525MAIL_USERNAME=nullMAIL_PASSWORD=nullMAIL_ENCRYPTION=nullAWS_ACCESS_KEY_ID=AWS_SECRET_ACCESS_KEY=AWS_DEFAULT_REGION=us-east-1AWS_BUCKET=PUSHER_APP_ID=PUSHER_APP_KEY=PUSHER_APP_SECRET=PUSHER_APP_CLUSTER=mt1MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"JWT_SECRET=Muw2TYybFUCKxxQLcfwJB6qFMrGbUmP1uYqTCa9g9ziceE3bYz9ePM7eJOw1Reyu
3.发布配置和二进制文件。这里有几点要注意,如果修改了路由或者其他配置文件需要清理缓存,重新生成配置缓存
php artisan cache:clearphp artisan config:cache
发布配置和二进制文件
php artisan laravels publish
4.运行
php bin/laravels start
5.与nginx配合使用
gzip on;gzip_min_length ;gzip_comp_level ;gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml application/x-httpd-php image/jpeg image/gif image/png font/ttf font/otf image/svg+xml;gzip_vary on;gzip_disable "msie6";upstream swoole {# 通过 IP:Port 连接server weight= max_fails= fail_timeout=30s;# 通过 UnixSocket Stream 连接,小诀窍:将socket文件放在/dev/shm目录下,可获得更好的性能#server unix:/xxxpath/laravel-s-test/storage/laravels.sock weight= max_fails= fail_timeout=30s;#server weight= max_fails= fail_timeout=30s;#server backup;keepalive ;}server {listen ;# 别忘了绑Host哟server_name laravels.com;root /xxxpath/laravel-s-test/public;access_log /yyypath/log/nginx/$server_name.access.log main;autoindex off;index index.html index.htm;# Nginx处理静态资源(建议开启gzip),LaravelS处理动态资源。location / {try_files $uri @laravels;}# 当请求PHP文件时直接响应404,防止暴露public/*.php#location ~* \.php$ {# return 404;#}location @laravels {# proxy_connect_timeout 60s;# proxy_send_timeout 60s;# proxy_read_timeout 120s;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;}}

▼请点击下方:“阅读原文”,在线查看!


文章评论