Hai, sebelum memulakan tutorial ini, saya syorkan membaca Panduan Terbaik untuk Laravel Reverb: Pemberitahuan Masa Nyata, kerana tutorial ini menganggap anda sudah menyediakan Laravel Reverb dan berfungsi secara tempatan.
Pertama, penting untuk memahami cara sambungan port berfungsi. Laravel Reverb menggunakan dua port: satu untuk menyambung ke WebSocket dan satu lagi untuk komunikasi pelayan.
Dalam kes ini, kami akan menggunakan port 443 untuk akses awam. Port ini penting untuk pengguna yang mengakses halaman web kerana ia mengendalikan trafik HTTPS yang selamat.
Untuk komunikasi WebSocket, kami akan menggunakan port 6001. Port ini tidak perlu diakses secara umum kerana ia hanya digunakan secara dalaman oleh pelayan untuk komunikasi masa nyata.
Sekarang, mari kita ubah suai .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
Mereka dalam konfigurasi nginx anda letakkan kod seterusnya.
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; } }
Apa yang kita buat di sini? Persediaan ini mengubah hala semua trafik WebSocket dengan selamat dari port 443 yang menghadap awam ke pelayan WebSocket dalaman pada port 6001, membolehkan komunikasi masa nyata yang selamat dan cekap antara pelanggan dan pelayan.
Untuk konfigurasi Apache, anda boleh membaca siaran ini.
Selepas melengkapkan konfigurasi, langkah seterusnya ialah memulakan perkhidmatan. Dalam senario dunia sebenar, anda harus menggunakan pengurus proses, seperti Penyelia, untuk memastikan perkhidmatan berjalan secara berterusan dan dimulakan semula secara automatik jika perlu.
Namun, untuk tujuan ujian, anda boleh menjalankan arahan secara manual daripada baris arahan.
php artisan reverb:start --port=6001 --debug
Kini kami bersedia untuk bekerja dengan WebSocket dalam persekitaran pengeluaran. Ingat untuk memulakan semula perkhidmatan dan kosongkan cache sebelum menguji untuk memastikan semuanya berjalan lancar.
Siaran yang boleh membantu kami memperoleh pemahaman yang lebih mendalam tentang topik ini.
Saya harap ini membantu anda bermula! Jumpa lagi di post seterusnya.
Atas ialah kandungan terperinci Laravel Reverb dalam Persekitaran Pengeluaran. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!