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

Ubuntu环境下Nginx+PHP-FPM 8.1连接Docker部署的Redis Stack出现socket error on read socket问题求助

Ubuntu环境下Nginx+PHP-FPM 8.1连接Docker部署的Redis Stack出现socket error on read socket问题求助

大家好,我在Ubuntu本地搭了Nginx+PHP-FPM 8.1的服务,同时用Docker跑了Redis Stack,最近尝试通过Unix socket连接Redis时一直碰到socket error on read socket的问题,折腾半天没搞定,想请各位帮忙排查下问题出在哪。

我的环境配置细节

1. Nginx + PHP-FPM 8.1配置

这是我用来匹配本地多项目域名的Nginx虚拟主机配置:

server {
    server_name "~^({[a-z]}2\.)*(?<project>\w+)\.(.*)localhost$";
    root /home/fw/public_html;
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.1-fpm.sock;
    }
    location ~ /\.ht {
        deny all;
    }
}

2. Redis Stack的Docker部署命令

我用下面的命令启动Redis Stack容器,挂载了本地数据目录和自定义配置文件:

docker run -d --name redis-stack -p 6379:6379 -p 8001:8001 -v /home/fw/redis/data:/data -v /home/fw/redis/redis.conf:/redis-stack.conf redis/redis-stack:latest

3. Redis自定义配置(redis.conf)

为了用Unix socket连接,我在配置里加了这两行:

unixsocket /run/redis.sock
unixsocketperm 770

4. Redis服务器信息

通过info Server拿到的Redis版本和运行环境信息:

# Server
redis_version:7.2.4
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:3a23a5ac67fe7008
redis_mode:standalone
os:Linux 6.5.0-27-generic x86_64
arch_bits:64
monotonic_clock:POSIX clock_gettime
multiplexing_api:epoll
atomicvar_api:c11-builtin
gcc_version:11.4.0
process_id:9
process_supervised:no
run_id:ac8418a9548435ac2a3cad2c5d483b7e578e1420
tcp_port:6379

遇到的问题

现在PHP代码里尝试通过/run/redis.sock连接Redis时,就会抛出socket error on read socket的错误。我已经检查过socket文件的权限,也确认了PHP-FPM的运行用户是否在对应的用户组里,但还是没能解决问题。有没有大佬能帮我分析下可能的原因,或者给点排查方向?

备注:内容来源于stack exchange,提问作者mikakun

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 10:19:39