Как мне установить этот service_wrapper для mongrel / rails на моем сервере Windows? - PullRequest
3 голосов
/ 03 октября 2011

Мне дали неприятную задачу по установке приложения на Rails 3, которое я написал для Windows Server 2008 (определенно, не мой выбор - мне обещали сервер Linux, но ИТ-отдел в последнюю минуту вытащил коврик, поэтому, пожалуйста, не предлагайте изменение среды как решение).

Я следовал инструкциям в этом блоге (с небольшими изменениями), и теперь после большого разочарования мое приложение работает и работает под Windows / IIS (прокси-монгрел). Осталось только запустить монгрела как службу.

К сожалению, драгоценный камень mongrel не был обновлен для Rails 3, и хотя я могу запустить приложение под mongrel в командной строке, я не могу использовать mongrel_service для запуска приложения в качестве службы.

Решение этой проблемы, по-видимому, заключается в использовании проекта service_wrapper на github, который был упомянут в в предыдущем вопросе . Проект еще не завершен, но, по-видимому, функционален, но поставляется без документации / двоичных файлов. Я просмотрел исходный код и не совсем понял, что это такое / как он работает, поэтому мне было интересно, может ли кто-нибудь указать мне правильное направление (или, что еще лучше, показать мне, как) установить это.

Так близко, но все еще так далеко .....

Ответы [ 2 ]

8 голосов
/ 17 февраля 2012

Хорошо, у меня все получилось (с небольшой помощью самого Луиславена - спасибо).

Загрузите файл service_wrapper-0.1.0-win32.zip из https://github.com/luislavena/service_wrapper/downloads и извлеките файл service_wrapper.exe из bin /. Я распаковал его в C: \ service_wrapper.

Далее настройте файл конфигурации. Я использовал пример hello и изменил его для своего приложения, затем поместил его в каталог C: \ service_wrapper.

; Service section, it will be the only section read by service_wrapper
[service]

; Provide full path to executable to avoid issues when executable path was not
; added to system PATH.
executable = C:\Ruby192\bin\ruby.exe

; Provide there the arguments you will pass to executable from the command line
arguments = C:\railsapp\script\rails s -e production

; Which directory will be used when invoking executable.
; Provide a full path to the directory (not to a file)
directory = C:\railsapp

; Optionally specify a logfile where both STDOUT and STDERR of executable will
; be redirected.
; Please note that full path is also required.
logfile = C:\railsapp\log\service_wrapper.log

Теперь просто создайте сервис с

sc create railsapp binPath= "C:\service_wrapper\service_wrapper.exe C:\service_wrapper\service_wrapper.conf" start= auto

(следите за пробелами после binPath = и start =. Без них работать не будет)

Тогда начните с

net start railsapp

А ты дома и дома!

1 голос
/ 01 марта 2012

Я должен внести свой вклад в связи с этой статьей. Для настройки использования bundle exec используйте следующее: Обратите внимание, что я настраиваю rubyCAS! это отличный механизм аутентификации OpenCAS !!!

; Service section, it will be the only section read by service_wrapper
[service]

; Provide full path to executable to avoid issues when executable path was not
; added to system PATH.
executable = C:\Ruby\bin\ruby.exe

; Provide there the arguments you will pass to executable from the command line
arguments = D:\rubycas-server bundle exec rackup -s mongrel -p 11011

; Which directory will be used when invoking executable.
; Provide a full path to the directory (not to a file)
directory = D:\rubycas-server

; Optionally specify a logfile where both STDOUT and STDERR of executable will
; be redirected.
; Please note that full path is also required.
logfile = D:\rubycas-server\log\service_wrapper.log
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...