ホームページ > 記事 > PHPフレームワーク > laradock が swoole のインストールに失敗した場合はどうすればよいですか?
laradock が swoole のインストールに失敗した場合はどうすればよいですか?
Laradock で swoole を使用する方法
まず、.env ファイルの下の WORKSPACE_INSTALL_SWOOLE=true
を変更する必要があります。 laradock仮想マシンを再構築します
docker-compose build workspace`
再構築後、起動します
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; } }
この設定ファイルは公式ドキュメントを参照しています。ここに非常に重要なポイントがあります。アップストリームを変更するだけです。サーバーワークスペース:1215。 Nginx は laravel 環境とは異なるマシンで実行されるため、ここでアップストリームを変更する必要があります。変更しないと 502 が発生します。
次に、laravel プロジェクトに入り、laravel-swoole をインストールします。
composer require swooletw/laravel-swoole php artisan vendor:publish --tag=laravel-swoole
次に、laravel の .env ファイルを変更して、laravel-swoole をガーディアンにします。プロセスを開始すると、 swoole エージェントのホストも指定されています。
SWOOLE_HTTP_HOST=workspace SWOOLE_HTTP_DAEMONIZE=true SWOOLE_HOT_RELOAD_ENABLE=true
ポートは変更していません。デフォルトは 1215 です。必要に応じて自分で変更できます。nginx を変更することを忘れないでください。
Start swoole
php artisan swoole:http start | stop | restart | resload
Web ページを開くときにホストを変更したため、カスタム ドメイン名を使用しました。開いた後にウェルカム ページが表示された場合は、
おめでとうございます、成功しました。また、swooleを起動した後に動作が遅くなった場合にはパラメータのチューニングが必要になりますが、詳細についてはswooleの公式ドキュメントを参照してください(ここでは割愛します)。
開発環境のホットアップデート
swoole_httpのmax_request = 1
san swoole:http start | stop | restart | resloadを調整
以上がlaradock が swoole のインストールに失敗した場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。