【发布时间】:2013-10-16 02:46:47
【问题描述】:
我使用 Phusion Passenger 来运行 Rails 应用程序。我在 nginx 目录中有一个配置文件,所以当我重新启动 nginx 时,我的 Rails 应用程序正在运行。
但是,我的应用程序有一些问题,所以我想查看控制台的错误输出。如果我在 Rails 应用程序目录中使用明确的 passenger start 命令运行 Rails 应用程序,则不会发生错误。
所以当 Rails 应用程序与 nginx 一起运行时,我需要从控制台获取实时输出。
问题是:Rails 公共目录(即./public/downloads/...)内的我的下载目录中没有写入任何文件。我使用以下方式编写文件:
open(file_path, 'wb') do |file|
...
file << open(url)
...
end
如果有人知道为什么在不使用 passenger start 而是使用 sudo /opt/nginx/sbin/nginx -s reload 运行时会发生错误,那么了解原因会很棒。
更新:
我看到它正在写信给log/passenger.3000.log。但是是否可以在连接乘客时将某些终端直接连接到应用程序?
更新 2:
错了!当我使用passenger start 启动应用程序时,log/passenger.3000.log 将被写入。但log/development.log 是我搜索的那个。并且可以使用tail -f log/development.log 或watch tail log/development.log 观看文件
【问题讨论】:
-
它不会写入 Rails 记录器吗?
-
确实如此,但偶尔我会使用
puts进行所有日志记录(是的,真丢脸……)现在我需要控制台来查看应用程序的运行情况。如何实时显示日志文件? -
实时查看日志文件:进入生产服务器上的app文件夹并执行
tail -f log/production.log。在 apache 中,应用程序中的 put 记录在 apache 的error.log文件中的/var/log/apache/文件夹中。检查一下nginx -
我已经尝试过了(也可以在 SO 上找到)。但它不会更新文件...
标签: ruby-on-rails ruby nginx console bundler