Не удается получить Mongrel_Service Gem для запуска Mongrel в качестве службы Windows

Я более или менее новичок в Ruby on Rails, но мне поручили отладить приложение для Rails, которое написал тот парень, которого больше нет. Приложение работает на манчине, используя:

• Windows XP Профессиональная

• Апач 2.2

• Рельсы 2.3.8

• дворняга (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.


person Jared    schedule 26.04.2011    source источник


Ответы (1)


Я понял. Оказывается, в моем файле не было файла журнала для mongrel_service. Чтобы решить эту проблему, я просто создал пустой текстовый файл и переименовал его в имя моего файла журнала. Оно работало завораживающе. Странно, что mongrel_service не создает свой собственный лог-файл, если не может его обнаружить, ну да ладно.

person Jared    schedule 27.04.2011