1、安装软件包
composer require pusher/pusher-php-server
composer require laravel/reverb
php artisan reverb:install
安装后,会自动在.env文件配置变量,根据需要修改即可。比如把端口号修改为:8082。
2、配置nginx
假设您的 Laravel WebSocket 服务器运行在本地的 8082 端口,并且您希望通过 wss://example.com/ws
来访问 WebSocket 服务。您的 Nginx 配置应该如下所示:
server {
listen 443 ssl;
server_name example.com; # 您的域名
ssl_certificate /path/to/your/fullchain.pem; # SSL 证书
ssl_certificate_key /path/to/your/privkey.pem; # SSL 证书密钥
location /ws {
proxy_pass http://localhost:8082; # 将请求代理到本地的 8082 端口
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_read_timeout 86400; # 防止 WebSocket 连接过早关闭
# 确保代理不带二级目录
proxy_set_header X-Forwarded-Prefix "/ws";
rewrite ^/ws/(.*) /$1 break;
}
# 静态文件服务、PHP 请求等其他 location 配置可以在这里添加
}
3、运行websocks系统
php artisan reverb:start
或者使用:php artisan reverb:start --debug
正确运行后的图如下:
