Не удается получить Mongrel_Service Gem для запуска Mongrel в качестве службы Windows - PullRequest
0 голосов
/ 27 апреля 2011

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

• Windows XP Professional

• Apache 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.

1 Ответ

1 голос
/ 27 апреля 2011

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

...