首页 > 后端开发 > php教程 > 生产环境中的 Laravel Reverb

生产环境中的 Laravel Reverb

Mary-Kate Olsen
发布: 2024-11-30 14:32:15
原创
1019 人浏览过

Laravel Reverb in Production Environment

嗨,在开始本教程之前,我建议您阅读《Laravel Reverb 终极指南:实时通知》,因为本教程假设您已经在本地设置了 Laravel Reverb 并可以使用。

基本概念

首先,了解端口连接的工作原理非常重要。 Laravel Reverb 使用两个端口:一个用于连接到 WebSocket,另一个用于服务器通信。

在这种情况下,我们将使用端口 443 进行公共访问。此端口对于访问网页的用户至关重要,因为它处理安全的 HTTPS 流量。

对于 WebSocket 通信,我们将使用端口 6001。该端口不需要公开访问,因为它仅由服务器内部用于实时通信。

配置

现在,让我们修改 .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

登录后复制

他们在你的 nginx 配置中放置下一个代码。

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;
}
}
登录后复制

我们在这里做什么?此设置将所有 WebSocket 流量从面向公众的端口 443 安全地重定向到端口 6001 上的内部 WebSocket 服务器,从而实现客户端和服务器之间安全高效的实时通信。

对于 Apache 配置,您可以阅读这些帖子。

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

完成配置后,下一步就是启动服务。在现实场景中,您应该使用进程管理器,例如 Supervisor,以确保服务持续运行并在需要时自动重新启动。

但是,出于测试目的,您可以从命令行手动运行该命令。

php artisan reverb:start --port=6001 --debug
登录后复制

现在我们已准备好在生产环境中使用 WebSocket。请记住在测试之前重新启动服务并清除缓存,以确保一切顺利运行。

这篇文章可以帮助我们更深入地了解这个主题。

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

我希望这可以帮助您入门!下一篇文章见。

以上是生产环境中的 Laravel Reverb的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板