我无法使用守护程序 gem 运行我的 Rails 应用程序



我想在我的铁路项目中使用守护程序宝石,这样我就可以轻松地使用Monit Monitore Monitore,该宝石将允许我创建PID并使用启动和停止等命令。

无论如何,似乎我不能以某种方式将其与Rails一起使用,我创建一个文件并将其命名为admin:

require 'rubygems'
require 'daemons'
ROOT_PATH = File.expand_path("#{File.dirname __FILE__}/../")
require "#{ROOT_PATH}/config/environment"
Daemons.run("#{ROOT_PATH}/script/rails" , 
    :dir_mode => :system, 
    :log_output => true 
)

当我尝试运行它时:

bundle exec ./bin/admin run -- s

我得到此错误:

/Users/info/.rvm/gems/ruby-1.9.3-p286/gems/rake-0.8.7/lib/rake/alt_system.rb:32: Use RbConfig instead of obsolete and deprecated Config.
=> Booting WEBrick
=> Rails 3.0.5 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
configuration /config.ru not found
Exiting

config.ru文件肯定在那里。当我尝试使用命令行手动执行应用程序时,我可以运行该应用程序,但是由于某种原因,我可以避免Rails应用程序。

我感谢任何帮助,因为我整天都在试图将其淘汰。

欢呼

可能是因为daemons没有在应用程序root目录中运行服务器?

更新

要从另一个路径启动Rails Server,而不是root App目录,请使用-c命令的CC_2选项,该选项需要config.ru文件的确切路径。

我知道这不能直接解决您的守护程序的问题,但是如果您在Linux上可以使用Start-daemon来基本上做同样的事情。而且您不需要它的脚本,只有您的Monit Config中的一个衬里,它使用启动停车态度来谴责该过程。

最新更新