Rails:使用Capistrano进行部署,如何在发生错误时检查日志?

时间:2016-10-21 00:01:14

标签: ruby-on-rails nginx capistrano

我正在远程Ubuntu 14.04服务器上使用Capistrano部署rails add。

最后,当我重新启动nginx时,网页显示错误

  

我们很抱歉,但出了点问题。

我希望知道导致错误的原因是什么,我可以使用什么命令来查看来自远程服务器的日志 enter image description here

1 个答案:

答案 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"