新手问题 新手求助 puma + nginx 跑 rails 成产环境出错

LyWsy · 2020年02月22日 · 最后由 LyWsy 回复于 2020年02月27日 · 2588 次阅读
  1. 输入 puma 启动正常

  2. 配置 nginx

3.请求错误日志代码

搜了很久没搞定,请问大家有什么好的方法解决吗?nginx 的 use 也设置为 root 了,也运行了 rake assets:precompile。

fail_timeout 设成 0 了,换个 10s 看看

LyWsy 关闭了讨论。 02月23日 09:39
LyWsy 重新开启了讨论。 02月23日 11:00
ThxFly 回复

试了,错误信息还是一样的

upstream 里 fail_timeout 去掉

yfscret 回复

我原来都没加上去,去掉了也一样

这个是不是有问题

puma 配置贴出来

lidashuang 回复

这是 puma.rb

  • 问题应该是档案目录权限不足, 不要把 rails project 放在 /root 底下。因为 你的 nginx 执行的 user 是 "nginx" 不是 root。 nginx 无法到你的 /root/new_car/shared/sockets/puma.sock 当然一直说读取不到。你看 nginx error.log 或者 /var/log/message (centos) 或者 /var/log/syslog (ubuntu) 应该可以看到权限不足的讯息

  • 解法
~ # mv /root/new_car /opt/new_car
# cd /opt/new_car
# puma
# chmod 777 /opt/new_car/shared/sockets/puma.sock
nginx config upstream ---> /opt/new_car/shared/sockets/puma.sock
  • 当然这是解决了 nginx , proxy pass 的问题,但 production 的话,应该会另外建立一个 user for puma server 才对,不太会用 root 执行 puma server

charlie_hsieh 回复

谢谢,已经成功解决了

LyWsy 关闭了讨论。 02月27日 08:49
需要 登录 后方可回复, 如果你还没有账号请 注册新账号