Heim >PHP-Framework >Swoole >Was soll ich tun, wenn Laradock Swoole nicht installieren kann?

Was soll ich tun, wenn Laradock Swoole nicht installieren kann?

藏色散人
藏色散人Original
2020-04-09 09:42:523079Durchsuche

Was soll ich tun, wenn Laradock Swoole nicht installieren kann?

Was soll ich tun, wenn Laradock Swoole nicht installieren kann?

So verwenden Sie swoole in Laradock

Zuerst müssen wir WORKSPACE_INSTALL_SWOOLE=true unter der .env-Datei von Laradock ändern

Erstellen Sie die virtuelle Maschine neu

docker-compose build workspace`

Starten Sie nach dem Neuaufbau

docker-compose restart workspace

Geben Sie die virtuelle Maschine ein und prüfen Sie, ob die Installation erfolgreich ist

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

Wenn Swoole gedruckt wird, ist es beweist, dass die Installation erfolgreich ist

Als nächstes müssen wir die Nginx-Konfigurationsdatei ändern

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

Diese Konfigurationsdatei bezieht sich auf das offizielle Dokument. Hier gibt es nur einen sehr wichtigen Punkt: Serverarbeitsbereich:1215. Da unser Nginx auf einer anderen Maschine als die Laravel-Umgebung läuft, müssen Sie hier den Upsteam ändern, sonst tritt 502 auf.

Als nächstes geben wir unser Laravel-Projekt ein und installieren laravel-swoole,

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

Dann können wir als nächstes die .env-Datei von Laravel ändern, um Laravel-swoole zu einem Wächter zu machen. Der Prozessstart gibt auch den Host an des swoole-Agenten und des

SWOOLE_HTTP_HOST=workspace
SWOOLE_HTTP_DAEMONIZE=true
SWOOLE_HOT_RELOAD_ENABLE=true

-Ports. Der Standardwert ist 1215. Sie können ihn bei Bedarf selbst ändern.

Swoole starten

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

Ich habe beim Öffnen unserer Webseite den Host geändert und daher einen benutzerdefinierten Domainnamen verwendet. Nach dem Öffnen sehen Sie die Willkommensseite

Herzlichen Glückwunsch, gelungen. Wenn Sie außerdem feststellen, dass die Leistung nach dem Start von Swoole langsamer wird, müssen Sie einige Parameteroptimierungen durchführen. Weitere Informationen finden Sie im offiziellen Dokument von Swoole, das hier nicht besprochen wird.

Hot-Update der Entwicklungsumgebung

max_request = 1 in swoole_http anpassen

san swoole:http start | stop | restart | resload

Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn Laradock Swoole nicht installieren kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn