Howto - 在mongrel上运行Redmine作为Windows上的服务

时间:2010-05-06 14:24:29

标签: windows ruby service mongrel redmine

我在Mongrel上使用Redmine作为项目经理,我使用批处理文件(start-redmine.bat)来启动mongrel中的redmine。 我的设置有2个问题: 1.我在服务器上运行了一个占用HTTP端口的IIS(80) 2.必须定期检查start-redmine.bat,看看它是否在由Windows更新服务引起的重启后停止。

对于第一个问题,我别无选择,只能在像3000这样的端口上运行mongrel,而对于第二个问题,我必须创建一个在Windows启动时在后台自动运行的Windows服务;这就麻烦了!

至少有3种方法可以将redmine作为我所知道的服务运行;他们都不能满足这个主题的表现观点。你可以阅读它们 how to configure a rails app (redmine) to run as a service on windows?

我尝试了所有这些。设置此类服务的最简单方法是使用mongrel_service方法;在三行命令中你已经完成了。但性能明显低于运行该批处理文件......


现在,我想告诉你我的方法:
首先假设我们已将ruby安装到 c:\ ruby​​ 中,我们已发出命令 gem install mongrel 以将mongrel gem安装到 c:\ ruby​​ \ bin中 另外,假设我们已将Redmine安装到 c:\ redmine 之类的文件夹中;我们的PATH环境变量中有ruby的路径(即 c:\ ruby​​ \ bin )。

现在从microsoft网站下载并安装Windows NT Resource Kit工具。 打开Resource Kit附带的命令行工具(从开始菜单)。 使用instsrv使用以下命令安装名为Redmine的虚拟服务:

  

“[path-to-instsrv.exe] \ instsrv”Redmine“[path-to-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 \服务\管理平台

右键单击“Redmine”节点并使用上下文菜单,创建一个名为参数的新键(New - > Key) 右键单击“参数”并创建名为应用程序的字符串值属性。再次执行此操作并创建另一个名为 AppParameters 的字符串值。 现在双击“应用程序”并将 cmd.exe 放入“值数据”部分。然后双击“AppParameters”并将 / C“C:\ redmine \ start-redmine.bat”放入“数值数据”部分。

我们完成了! 发出此命令以将mongrel上的redmine作为服务运行:

  

net start Redmine

编辑: 如果您要使用Redmine的邮件服务并且您有像McAfee这样的防病毒软件,请确保您告诉防病毒软件允许ruby发送电子邮件,否则您将无法使邮件服务正常运行。

1 个答案:

答案 0 :(得分: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