gpt4 book ai didi

ruby-on-rails - 使用 Passenger 和 Rails 应用程序启动 nginx 时如何访问 Rails 应用程序的控制台(stdout)?

转载 作者:数据小太阳 更新时间:2023-10-29 08:38:33 25 4
gpt4 key购买 nike

我使用 Phusion Passenger 来运行 Rails 应用程序。我在 nginx 目录中有一个 confing,所以当我重新启动 nginx 时,我的 Rails 应用程序就会运行。

但是,我的应用程序有一些问题,所以我想查看控制台的错误输出。如果我在 Rails 应用程序目录中使用明确的 passenger start 命令运行 Rails 应用程序 - 那么不会发生错误。

因此,当 Rails 应用程序与 nginx 一起运行时,我需要从控制台获取实时输出。

问题是:Rails 公共(public)目录(即 ./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:

错了! log/passenger.3000.log 是在我使用 passenger start 启动应用程序时写入的。但是 log/development.log 是我搜索的那个。并且可以使用 tail -f log/development.logwatch tail log/development.log

查看文件

最佳答案

您可以通过转到生产服务器上的 app 文件夹并执行 tail -f log/production.log 来实时查看日志文件。

您也可以按照建议在生产环境文件中覆盖应用程序的 stdout here :

std_out = File.new(RAILS_ROOT + "/log/stdout.log","a")
$stdout.reopen(std_out)

关于ruby-on-rails - 使用 Passenger 和 Rails 应用程序启动 nginx 时如何访问 Rails 应用程序的控制台(stdout)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19394416/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com