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

Laravel Reverb dans un environnement de production

Mary-Kate Olsen
Libérer: 2024-11-30 14:32:15
original
1090 Les gens l'ont consulté

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

Copier après la connexion

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;
}
}
Copier après la connexion

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
Copier après la connexion

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!

source:dev.to
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal