Howto - Запуск Redmine на mongrel в качестве службы на Windows

Я использую Redmine on Mongrel в качестве менеджера проекта и использую командный файл (start-redmine.bat) для запуска redmine в mongrel. У меня есть 2 проблемы с моей настройкой: 1. У меня работает IIS на сервере, который занимает порт HTTP (80). 2. Необходимо периодически проверять start-redmine.bat, чтобы видеть, остановился ли он после перезапуска, вызванного служба обновления Windows.

для первой проблемы у меня нет другого выбора, кроме как запустить mongrel на порту вроде 3000, а для второй проблемы мне нужно создать службу Windows, которая автоматически запускается в фоновом режиме при запуске Windows; и вот беда!

Есть по крайней мере 3 способа запустить Redmine как службу, о которых я знаю; ни один из них не может удовлетворить точку зрения производительности по этому вопросу. вы можете прочитать о них на как настроить приложение rails (redmine) для работы в качестве службы в Windows?

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


Теперь я хочу показать вам свой подход:

Сначала предположим, что мы установили ruby ​​в c: \ ruby ​​ и выполнили команду gem install mongrel, чтобы установить gem mongrel в c: \ ruby ​​\ bin. Также предположим, что мы установили Redmine в папку, например c: \ redmine ; и у нас есть рубиновый путь (т.е. c: \ ruby ​​\ bin) в нашей переменной среды PATH.

Теперь загрузите и установите Windows NT Resource Kit Tools с веб-сайта Microsoft. Откройте инструмент командной строки, поставляемый с Resource Kit (из меню «Пуск»). Используйте instsrv для установки фиктивной службы Redmine с помощью следующей команды:

"[путь-к-instsrv.exe] \ instsrv" Redmine "[путь-к-srvany.exe] \ srvany.exe"

в моем случае (что по умолчанию) это было примерно так:

"C: \ Program Files \ Windows Resource Kits \ Tools \ instsrv" Redmine "C: \ Program Files \ Windows Resource Kits \ Tools \ srvany.exe"

Теперь создайте командный файл. Откройте блокнот и вставьте в него эти инструкции, а затем сохраните его как «c: \ redmine \ start-redmine.bat».

@echo off
cd c: \ redmine \
mongrel_rails start -a 0.0.0.0 -p 3000 -e production

Теперь нам нужно настроить этот фиктивный сервис, который мы создали ранее. ПОСМОТРЕТЬ, ЧТО ВЫ ДЕЛАЕТЕ ЗДЕСЬ, ИЛИ ВЫ МОЖЕТЕ ИСПРАВИТЬ СВОИ WINDOWS. Чтобы настроить эту службу, откройте редактор реестра Windows (Пуск -> Выполнить -> regedit) и перейдите к этому узлу:

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Redmine

Щелкните правой кнопкой мыши узел «Redmine» и с помощью контекстного меню создайте новый ключ под названием Параметры (Новый -> Ключ). Щелкните правой кнопкой мыши на «Параметры» и создайте свойство String Value под названием Приложение. Сделайте это еще раз и создайте другое строковое значение с именем AppParameters. Теперь дважды щелкните «Приложение» и поместите cmd.exe в раздел «Данные значения». Затем дважды щелкните «Параметры приложения» и поместите / C «C: \ redmine \ start-redmine.bat» в раздел «Значение».

Были сделаны! выполните эту команду, чтобы запустить Redmine на mongrel в качестве службы:

чистый старт Redmine

Изменить: если вы собираетесь использовать почтовые службы Redmine и у вас есть антивирус, такой как McAfee, убедитесь, что вы указали антивирусу, чтобы он разрешил ruby ​​отправлять электронные письма, иначе вы не получите работу почтовой службы.


person Achilles    schedule 06.05.2010    source источник
comment
Здесь есть вопрос? Кстати, какую версию Ruby вы используете? Вы должны использовать версии с rubyinstaller.org. Странно, что mongrel_service работает медленнее, я все время так развертываю. Я также развертываю с помощью thin, но mongrel_service лучше работает как сервис.   -  person nathanvda    schedule 06.05.2010
comment
Нет никаких вопросов. Это HowTo - делиться тем, что я узнал после 3-4 часов поиска и размышлений. Я разработчик .Net и не знаком с Ruby. Он установлен недавно одним из моих друзей, и я думаю, что у него есть последняя доступная версия; но мой подход к услуге mongrel намного быстрее, чем подход mongrel_service. В конце концов, я думаю, мне понравится эта рубиновая вещь! Красиво и гладко ...   -  person Achilles    schedule 11.05.2010


Ответы (1)


Спасибо за руководство! Кстати, если вы используете Windows 2008, используйте предварительную версию сервиса mongrel, иначе она вам не подойдет:

gem install mongrel_service --prerelease

http://groups.google.com/group/comp.lang.ruby/browse_thread/thread/1adf2a73c75c2884/38267c06198e282e?show_docid=38267c06198e282e

person TruMan1    schedule 08.05.2010