laradock安裝swoole不成功怎么辦

laradock安裝swoole不成功怎么辦

laradock安裝swoole不成功怎么辦?

Laradock中使用swoole的方法

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

重新 build 一下虛擬機

docker-compose?build?workspace`

重新 build 好了之后,啟動

docker-compose?restart?workspace

進入虛擬機檢查一下是否安裝成功了

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; ?????????} ?????}

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

接下來,我們進入我們的 laravel 項目,安裝一下laravel-swoole,

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

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

SWOOLE_HTTP_HOST=workspace SWOOLE_HTTP_DAEMONIZE=true SWOOLE_HOT_RELOAD_ENABLE=true

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

啟動swoole

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

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

恭喜你,成功了。另外,假設你發現啟動了swoole 之后,性能反而變慢了,那就要進行一些參數調優了,具體可以參照官方的文檔swoole,這里就不展開講了。

開發環境熱更新

調整 swoole_http 中 max_request = 1

san?swoole:http?start?|?stop?|?restart?|?resload

以上就是laradock安裝

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享