使用Laravel Reverb添加自己的pusher广播系统

467
0

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

正确运行后的图如下:

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注