我或多或少是Ruby on Rails的新手,但我的任务是调试一个Rails应用程序,那个已经不再写的人了。该应用程序使用以下机器在机器上运行:
•Windows XP Professional
•Apache 2.2
•Rails 2.3.8
•mongrel(1.1.5 x86-mingw32)
•mongrel_service(0.3.4 i386-mswin32)
我从服务器复制了应用程序,并在我的个人计算机上对其进行了一些调试。我只是在我的个人计算机上设置了一个Git存储库,并将其克隆回服务器。除了mongrel_service不再起作用外,一切似乎都很有效。每次我尝试从Windows“服务”工具启动服务时,我都会收到此错误: 本地计算机上的MYAPP_Mongrel_As_Service服务已启动然后停止。如果没有工作要做,某些服务会自动停止,例如,性能日志和警报服务 我尝试删除服务:
C:\MyApp>mongrel_rails service::remove --name MYAPP_Mongrel_As_Service
Stopping MYAPP_Mongrel_As_Service if running...
MYAPP_Mongrel_As_Service service removed
并重新安装:
C:\MyApp>mongrel_rails service::install --name MYAPP_Mongrel_As_Service -c "C:\MyApp" --port 3001 --env
ironment production --address localhost --log "log\mongrel_as_service.log" --pid "tmp\pids\mongrel_a
s_service.pid"
MYAPP_Mongrel_As_Service service created.
但无论我尝试了多少次,或者我使用了哪些选项,我都无法让服务运行。奇怪的是,我可以通过自己的方式获得杂物。
C:\MyApp>mongrel_rails start -c c:\MyApp --port 3001 --environment production --address localhost --
g "c:\MyApp\log\mongrel_as_service.log" --pid "C:\MyApp\tmp\pids\mongrel_as_service.pid"
** Starting Mongrel listening at localhost:3001
** Starting Rails with production environment...
** Rails loaded.
** Loading any Rails specific GemPlugins
** Signals ready. INT => stop (no restart).
** Mongrel 1.1.5 available at localhost:3001
** Use CTRL-C to stop.
当我尝试将其作为服务启动时,它将无法工作。我已经做了很多关于这个主题的谷歌搜索,但我找不到任何解决问题的方法。它以前工作很奇怪,但现在却没有。我的service :: install行一定有问题,因为我无法让原始的未经编辑的Rails应用程序与mongrel_as_service一起使用。
答案 0 :(得分:1)
我明白了。事实证明,我的文件中不存在mongrel_service的日志文件。为了解决这个问题,我只创建了一个空白文本文件并将其重命名为我的日志文件的名称。它就像一个魅力。奇怪的是mongrel_service如果无法检测到它就不会创建自己的日志文件,但是很好。