首頁 > 後端開發 > php教程 > 生產環境中的 Laravel Reverb

生產環境中的 Laravel Reverb

Mary-Kate Olsen
發布: 2024-11-30 14:32:15
原創
1090 人瀏覽過

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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板