下面由laravel教程欄目給大家介紹關于laravel-s高性能,希望對需要的朋友有所幫助!
最近公司接了一個基于laravel二開項目,客戶對于高并發要求比較高,傳統的部署laravel項目測試發現已經達到瓶頸,后來發現?Laravel-S?可以快速集成?swoole?到?Laravel?或?Lumen,然后賦予它們更好的性能于是就試了下,沒想到結果大大出乎我的意料,性能大幅度提升,客戶也很滿意。
下面說下具體流程:
1.引入依賴
composer?require?hhxsv5/laravel-s
2.配置好?.env?文件
APP_NAME=test APP_ENV=local APP_KEY=base64:QXu20Ct+XlvGEnSmVzrUPXjwGARbb9R6kNo4bj5Ibps= APP_DEBUG=false APP_URL=https://xxx.com/ LOG_CHANNEL=stack DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=database DB_USERNAME=root DB_PASSWORD=root BROADCAST_DRIVER=log CACHE_DRIVER=file QUEUE_CONNECTION=sync SESSION_DRIVER=file SESSION_LIFETIME=120 REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379 MAIL_DRIVER=smtp MAIL_HOST=smtp.mailtrap.io MAIL_PORT=2525 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= AWS_DEFAULT_REGION=us-east-1 AWS_BUCKET= PUSHER_APP_ID= PUSHER_APP_KEY= PUSHER_APP_SECRET= PUSHER_APP_CLUSTER=mt1 MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}" JWT_SECRET=Muw2TYybFUCKxxQLcfwJB6qFMrGbUmP1uYqTCa9g9ziceE3bYz9ePM7eJOw1Reyu
3.發布配置和二進制文件。這里有幾點要注意,如果修改了路由或者其他配置文件需要清理緩存,重新生成配置緩存
php?artisan?cache:clear php?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; ????} }
?
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END