溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

laradock安裝swoole不成功的解決方法

發(fā)布時間:2020-12-30 12:39:16 來源:億速云 閱讀:341 作者:小新 欄目:編程語言

這篇文章主要介紹了laradock安裝swoole不成功的解決方法,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

laradock安裝swoole不成功怎么辦?

Laradock中使用swoole的方法

首先我們需要在 laradock 的.env文件下面修改WORKSPACE_INSTALL_SWOOLE=true

重新 build 一下虛擬機(jī)

docker-compose build workspace`

重新 build 好了之后,啟動

docker-compose restart workspace

進(jìn)入虛擬機(jī)檢查一下是否安裝成功了

docker-compose exec workspace bash
 
php -m | grep swoole,

如果打印出了swoole,就證明安裝成功了

接下來,我們要修改一下 nginx 的配置文件

     map $http_upgrade $connection_upgrade {
         default upgrade;
         ''      close;
     }
     upstream laravels {
         # Connect IP:Port
         server workspace:1215 weight=5 max_fails=3 fail_timeout=30s;
         keepalive 16;
     }
     server {
         listen 80;
     #    listen [::]:80 ipv6only=on;
         server_name yourdomain.com;
         root /var/www/swoole/public;
         index index.php index.html index.htm;
         error_log /var/www/swoole_error.log;
         location = /index.php {
             # Ensure that there is no such file named "not_exists"
             # in your "public" directory.
             try_files /not_exists @swoole;
         }
         location / {
              try_files $uri $uri/ @swoole;
         }
         location @swoole {
             set $suffix "";
             if ($uri = /index.php) {
                 set $suffix ?$query_string;
             }
             proxy_set_header Host $http_host;
             proxy_set_header Scheme $scheme;
             proxy_set_header SERVER_PORT $server_port;
             proxy_set_header REMOTE_ADDR $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             proxy_set_header Upgrade $http_upgrade;
             proxy_set_header Connection $connection_upgrade;
             # IF https
             # proxy_set_header HTTPS "on";
             proxy_pass http://laravels$suffix;
         }
         location ~ /\.ht {
             deny all;
         }
         location /.well-known/acme-challenge/ {
             root /var/www/letsencrypt/;
             log_not_found off;
         }
     }

這份配置文件,是參照官方文檔的,這里面有個很關(guān)鍵的地方,就是修改 upsteam 那里,server workspace:1215。因為我們 Nginx 的運(yùn)行是跟 laravel 的環(huán)境在不同一臺機(jī)子的,所以你必須修改這里的upsteam,不然就會造成502。

接下來,我們進(jìn)入我們的 laravel 項目,安裝一下laravel-swoole,

composer require swooletw/laravel-swoole
php artisan vendor:publish --tag=laravel-swoole

然后接下來,我們可以修改一下 laravel的.env 文件,讓laravel-swoole變成守護(hù)進(jìn)程啟動還有指定 swoole 代理的host,

SWOOLE_HTTP_HOST=workspace
SWOOLE_HTTP_DAEMONIZE=true
SWOOLE_HOT_RELOAD_ENABLE=true

端口我沒有修改,默認(rèn)是1215,如果有需要可以自行修改,記得修改nginx。

啟動swoole

php artisan swoole:http start | stop | restart | resload

打開我們的網(wǎng)頁我修改了host,所以我用的是自定義的域名,打開之后如果你看到歡迎頁面

恭喜你,成功了。另外,假設(shè)你發(fā)現(xiàn)啟動了swoole 之后,性能反而變慢了,那就要進(jìn)行一些參數(shù)調(diào)優(yōu)了,具體可以參照官方的文檔swoole,這里就不展開講了。

開發(fā)環(huán)境熱更新

調(diào)整 swoole_http 中 max_request = 1

san swoole:http start | stop | restart | resload

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“l(fā)aradock安裝swoole不成功的解決方法”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI