Maison >développement back-end >tutoriel php >Laravel Reverb dans un environnement de production

Laravel Reverb dans un environnement de production

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-30 14:32:151020parcourir

Laravel Reverb in Production Environment

Bonjour, avant de commencer ce tutoriel, je vous recommande de lire Le guide ultime de Laravel Reverb : notifications en temps réel, car ce tutoriel suppose que vous avez déjà configuré Laravel Reverb et que vous travaillez localement.

Concepts de base

Tout d’abord, il est essentiel de comprendre comment fonctionnent les connexions portuaires. Laravel Reverb utilise deux ports : un pour la connexion au WebSocket et un autre pour la communication avec le serveur.

Dans ce cas, nous utiliserons le port 443 pour l'accès public. Ce port est crucial pour les utilisateurs accédant à la page Web car il gère le trafic HTTPS sécurisé.

Pour la communication WebSocket, nous utiliserons le port 6001. Ce port n'a pas besoin d'être accessible publiquement puisqu'il n'est utilisé qu'en interne par le serveur pour la communication en temps réel.

Configurations

Maintenant, modifions .env

REVERB_HOST="your.domain.com" # your domain name here
REVERB_PORT=443 # The public port used by all clients on your website
REVERB_SCHEME=https # Required for prod environment

Eux dans votre configuration nginx, mettez le code suivant.

server {
  listen 443 ssl;
  listen [::]:443 ssl;
  server_name your.server.name;
  {{ssl_certificate_key}}
  {{ssl_certificate}}

 location /app/ {
    proxy_http_version 1.1;
    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 "Upgrade";
    proxy_pass http://0.0.0.0:6001;
}
location /apps {
    proxy_http_version 1.1;
    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 "Upgrade";
    proxy_pass http://0.0.0.0:6001;
}
}

Que fait-on ici ? Cette configuration redirige en toute sécurité tout le trafic WebSocket du port public 443 vers le serveur WebSocket interne sur le port 6001, permettant une communication en temps réel sécurisée et efficace entre les clients et le serveur.

Pour les configurations Apache, vous pouvez lire ces articles.

  • https://github.com/laravel/framework/discussions/50675
  • https://github.com/laravel/reverb/issues/107#issuecomment-2019340122

Après avoir terminé la configuration, l'étape suivante consiste à démarrer le service. Dans un scénario réel, vous devez utiliser un gestionnaire de processus, tel que Superviseur, pour garantir que le service s'exécute en continu et redémarre automatiquement si nécessaire.

À des fins de test, cependant, vous pouvez exécuter la commande manuellement à partir de la ligne de commande.

php artisan reverb:start --port=6001 --debug

Nous sommes maintenant prêts à travailler avec WebSocket dans un environnement de production. N'oubliez pas de redémarrer le service et de vider le cache avant de tester pour vous assurer que tout se passe bien.

Un article qui peut nous aider à mieux comprendre ce sujet.

  • https://laravel.com/docs/11.x/reverb#production
  • https://medium.com/@saddanfah/how-to-use-laravel-reverb-in-production-server-d89e9670b76a

J'espère que cela vous aidera à démarrer ! Rendez-vous dans le prochain post.

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!

Déclaration:
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