You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel Echo Server连接Redis超时问题求助(Ubuntu 18.04.4)

Laravel 7.x 广播VPS部署Redis连接超时(ETIMEDOUT)问题解决记录

我最近踩了个坑:本地用Laragon 4.0+Redis跑Laravel7.x的广播功能完全正常,但部署到Ubuntu18.04.4+Apache2+Virtualmin的VPS后就掉链子了。Redis本身是没问题的——PING能返回PONG,键值读写正常,重启服务数据也能保留。触发事件广播时queue:work跑的好好的,但启动Laravel Echo Server后,客户端刚连上几秒,控制台就弹出[ioredis] Error: connect ETIMEDOUT的错误。翻了好多资料都没解决,最后靠Redis的Unix Socket配置搞定了,把过程分享给大家。

我的配置情况

.env核心配置

APP_NAME=Testapp
APP_ENV=local
BROADCAST_DRIVER=redis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

Broadcasting.php中的Redis连接配置

'redis' => [
    'driver' => 'redis',
    'connection' => 'default',
]

Database.php中的Redis配置

'redis' => [
    'client' => env('REDIS_CLIENT', 'phpredis'),
    'default' => [
        'host' => env('REDIS_HOST', '127.0.0.1'),
        'port' => env('REDIS_PORT', '6379'),
    ]
]

laravel-echo-server.json核心配置

{
  "authHost": "127.0.0.1",
  "database": "redis"
}

另外我已经确认防火墙端口是开放的,服务也正常监听端口,但就是出现连接超时的问题。

最终解决办法:改用Redis Unix Socket规避网络问题

把Redis的连接方式从TCP端口改成Unix Socket就解决了,具体操作步骤:

  • 先确认Redis配置文件(一般是/etc/redis/redis.conf)里的Unix Socket相关配置是开启的:
    • 确保unixsocket /var/run/redis/redis.sock这行没被注释
    • 权限设置比如unixsocketperm 777(可以根据实际安全需求调整)
  • 修改Laravel的配置:
    • 在.env里添加REDIS_PATH=/var/run/redis/redis.sock,然后把REDIS_HOST和REDIS_PORT注释掉或者删掉
    • 更新Database.php里的default连接配置:
      'default' => [
          'path' => env('REDIS_PATH', '/var/run/redis/redis.sock'),
          'host' => env('REDIS_HOST', '127.0.0.1'),
          'port' => env('REDIS_PORT', '6379'),
      ]
      
  • 更新laravel-echo-server.json的Redis配置,加上socket路径:
    {
      "authHost": "127.0.0.1",
      "database": "redis",
      "databaseConfig": {
        "redis": {
          "socket": "/var/run/redis/redis.sock"
        }
      }
    }
    
  • 重启Redis服务、Laravel队列和Laravel Echo Server,之后广播功能就恢复正常了。

这个方法绕开了TCP连接可能出现的网络层面问题(比如VPS内部的端口转发、防火墙隐性拦截或者回环地址的特殊配置),用本地套接字直接通信稳定性更高。

内容的提问来源于stack exchange,提问作者Simone Cabiddu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 14:47:55