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`
Après la reconstruction, démarrez
docker-compose restart workspace
Entrez dans la machine virtuelle et vérifiez si l'installation est réussie
docker-compose exec workspace bash php -m | grep swoole,
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; } }
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
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
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
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
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!