Как мне установить этот service_wrapper для mongrel/rails на моем сервере Windows?

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

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

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

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

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

2 ответа

Решение

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

Загрузите файл 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

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

Я должен внести свой вклад в связи с этой статьей. Для настройки использования 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
Другие вопросы по тегам