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

Puma未生成Socket文件致Nginx连接拒绝问题求助

问题排查与解决方案

1. 验证Puma实际运行状态与路径权限

systemd显示"运行正常"仅代表服务进程被启动,不代表Puma成功完成初始化。先执行以下操作:

  • 检查Puma进程是否存在及运行用户:
    ps aux | grep puma
    
  • 确认Puma配置文件中sock和pid路径的有效性:
    打开你的Puma配置文件(通常是config/puma.rb),找到类似如下配置:
    bind "unix:///var/run/tuma_mizigo_client/puma.sock"
    pidfile "/var/run/tuma_mizigo_client/puma.pid"
    
    检查路径对应的目录是否存在及权限:
    ls -ld /var/run/tuma_mizigo_client
    
    确保目录所有者是Puma运行用户(比如deploy),权限至少为755。

2. 排查systemd服务配置问题

检查你的Puma systemd服务文件(比如/etc/systemd/system/puma_tuma_mizigo_client.service),重点确认:

  • User/Group配置是否正确指向运行Puma的用户/组:
    [Service]
    User=deploy
    Group=deploy
    
  • WorkingDirectory是否指向项目根目录,且用户有访问权限:
    WorkingDirectory=/var/www/tuma_mizigo_client/current
    
  • 查看systemd的详细启动日志,获取Puma启动失败的真实原因:
    journalctl -u puma_tuma_mizigo_client.service -f
    
    日志中通常会暴露权限不足、路径错误、依赖缺失等问题。

3. 解决Nginx权限拒绝错误

Nginx日志的权限拒绝,核心原因是Nginx运行用户(通常为www-data或nginx)无法访问Puma的sock文件:

  • 将Nginx用户加入Puma运行用户的用户组:
    usermod -aG deploy www-data
    
  • 在Puma配置中设置sock文件的组可读权限:
    bind "unix:///var/run/tuma_mizigo_client/puma.sock", perm: 0660
    
    该配置会让sock文件生成rw-rw----权限,允许同组用户(如www-data)访问。

4. 强制重置并验证服务

  • 停止Puma服务并清理残留文件:
    systemctl stop puma_tuma_mizigo_client.service
    rm -f /var/run/tuma_mizigo_client/puma.sock /var/run/tuma_mizigo_client/puma.pid
    
  • 重新启动服务并检查状态:
    systemctl daemon-reload
    systemctl start puma_tuma_mizigo_client.service
    systemctl status puma_tuma_mizigo_client.service
    
  • 验证sock和pid文件是否生成:
    ls -l /var/run/tuma_mizigo_client/
    
  • 测试Nginx连接:
    curl -I http://你的域名
    

常见坑点提示

  • systemd的Type配置:若Puma以后台fork模式运行,需设置Type=forking;前台运行则设Type=simple,配置错误会导致systemd误判服务状态。
  • 环境变量缺失:systemd默认不会加载用户的shell环境变量(如Rbenv/Rvm路径),需在服务文件中手动添加:
    [Service]
    Environment="PATH=/home/deploy/.rbenv/shims:/home/deploy/.rbenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"
    
  • 项目目录权限:确保Puma运行用户对项目的tmp、log等目录有读写权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 02:56:15