嗨,在開始本教程之前,我建議您閱讀《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 配置,您可以閱讀這些貼文。
完成設定後,下一步就是啟動服務。在現實場景中,您應該使用進程管理器,例如 Supervisor,以確保服務持續運作並在需要時自動重新啟動。
但是,出於測試目的,您可以從命令列手動執行該命令。
php artisan reverb:start --port=6001 --debug
現在我們已準備好在生產環境中使用 WebSocket。請記住在測試之前重新啟動服務並清除快取,以確保一切順利運行。
這篇文章可以幫助我們更深入地了解這個主題。
我希望這可以幫助您入門!下一篇文章見。
以上是生產環境中的 Laravel Reverb的詳細內容。更多資訊請關注PHP中文網其他相關文章!