我正在远程Ubuntu 14.04服务器上使用Capistrano部署rails add。
最后,当我重新启动nginx时,网页显示错误
我们很抱歉,但出了点问题。
答案 0 :(得分:1)
尝试
bundle exec tail -f log/production.log
如果没有看到错误,那么首先检查你的nginx日志
tail -f /var/log/nginx/access.log
or
tail -f /var/log/nginx/error.log
如果你看到一些请求记录在那里那就意味着请求来到服务器并且它没有传递给puma服务器。
为什么请求没有传递给puma可能有两个原因,或者你的puma进程的地址在nginx文件中是不正确的,或者puma服务器没有运行或者有一些错误并且puma在请求到达时被关闭了。
看到puma进程使用此命令
ps aux | grep puma
它应该从多行打印出一行
app 22528 0.1 0.5 296532 23912 ? Ssl 16:42 0:00 puma 2.11.1 (tcp://0.0.0.0:8080) [20180110213633]
现在使用这些信息我可以在nginx
中映射这样的地址upstream app {
# Path to Puma SOCK file, as defined previously
server 0.0.0.0:8080;
}
这里我将puma本地ip与端口绑定到nginx进程。
确保你的puma.rb正确绑定到puma.sock文件,就像我在config / puma.rb中这样做的一个项目
bind "unix:///Users/Apple/RAILS_PROJECTS/tracker/tmp/sockets/puma.sock"