Maison > cadre php > Swoole > Que dois-je faire si laradock ne parvient pas à installer swoole ?

Que dois-je faire si laradock ne parvient pas à installer swoole ?

藏色散人
Libérer: 2020-04-09 09:42:52
original
3075 Les gens l'ont consulté

Que dois-je faire si laradock ne parvient pas à installer swoole ?

Que dois-je faire si laradock ne parvient pas à installer swoole ?

Comment utiliser swoole dans Laradock

Nous devons d'abord modifier WORKSPACE_INSTALL_SWOOLE=true sous le fichier .env de laradock

Reconstruisez la machine virtuelle

docker-compose build workspace`
Copier après la connexion

Après la reconstruction, démarrez

docker-compose restart workspace
Copier après la connexion

Entrez dans la machine virtuelle et vérifiez si l'installation est réussie

docker-compose exec workspace bash
 
php -m | grep swoole,
Copier après la connexion

Si swoole est imprimé, il prouve que l'installation est réussie

Ensuite, nous devons modifier le fichier de configuration 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;
         }
     }
Copier après la connexion

Ce fichier de configuration fait référence au document officiel Il y a un point très clé ici. espace de travail du serveur : 1215. Parce que notre Nginx fonctionne sur une machine différente de celle de l'environnement laravel, vous devez modifier le upsteam ici, sinon 502 se produira.

Ensuite, nous entrons dans notre projet laravel et installons laravel-swoole,

composer require swooletw/laravel-swoole
php artisan vendor:publish --tag=laravel-swoole
Copier après la connexion

Ensuite, nous pouvons modifier le fichier .env de laravel pour faire de laravel-swoole un tuteur. Le démarrage du processus spécifie également le hôte de l'agent swoole et du port

SWOOLE_HTTP_HOST=workspace
SWOOLE_HTTP_DAEMONIZE=true
SWOOLE_HOT_RELOAD_ENABLE=true
Copier après la connexion

Je ne l'ai pas modifié. La valeur par défaut est 1215. Vous pouvez le modifier vous-même si nécessaire.

Démarrez swoole

php artisan swoole:http start | stop | restart | resload
Copier après la connexion

J'ai changé d'hébergeur lors de l'ouverture de notre page Web, j'ai donc utilisé un nom de domaine personnalisé Après l'avoir ouvert, si vous voyez la page d'accueil

Félicitations, réussi. De plus, si vous constatez qu'après le démarrage de swoole, les performances deviennent plus lentes, vous devez alors effectuer certains réglages de paramètres. Pour plus de détails, vous pouvez vous référer au document officiel de swoole, qui ne sera pas abordé ici.

Mise à jour à chaud de l'environnement de développement

Ajustez max_request = 1 dans swoole_http

san swoole:http start | stop | restart | resload
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal