作为项目经理,我在 Mongrel 上使用 Redmine,并使用批处理文件 (start-redmine.bat) 在 mongrel 中启动 redmine。 我的设置有两个问题: 1、我的服务器上运行着IIS,占用了HTTP端口(80) 2.必须定期检查start-redmine.bat,看它是否在由windows update服务引起的重启后停止。
对于第一个问题,我别无选择,只能在像 3000 这样的端口上运行 mongrel;对于第二个问题,我必须创建一个 Windows 服务,当 Windows 启动时,它会在后台自动运行;麻烦来了!
据我所知,至少有 3 种方法可以将 redmine 作为服务运行;他们都不能满足关于这个主题的性能观点。你可以在 how to configure a rails app (redmine) to run as a service on windows?
我都试过了。设置此类服务的最简单方法是使用 mongrel_service 方法;在 3 行命令中你就完成了。但性能明显低于运行该批处理文件...
现在,我想向您展示我的方法:
首先假设我们已经将 ruby 安装到 c:\ruby 并且我们已经发出命令 gem install mongrel 来将 mongrel gem 安装到 c:\ruby\bin
另外,假设我们已经将 Redmine 安装到像 c:\redmine 这样的文件夹中;我们的 PATH 环境变量中有 ruby 的路径(即 c:\ruby\bin)。
现在从微软网站下载并安装 Windows NT Resource Kit Tools。 打开 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\Services\Redmine
右键单击“Redmine”节点并使用上下文菜单,创建一个名为Parameters 的新 key (新建 -> key ) 右键单击“Parameters”并创建一个名为 Application 的字符串值属性。再次执行此操作并创建另一个名为 AppParameters 的字符串值。 现在双击“应用程序”并将cmd.exe 放入“数值数据”部分。然后双击“AppParameters”并将/C "C:\redmine\start-redmine.bat" 放入值数据部分。
我们完成了! 发出此命令以作为服务在 mongrel 上运行 redmine:
net start Redmine
编辑: 如果你要使用 Redmine 的邮件服务并且你有像 McAfee 这样的杀毒软件,请确保你告诉杀毒软件允许 ruby 发送电子邮件,否则你将无法使用邮件服务。
最佳答案
感谢指导!顺便说一下,如果您运行的是 Windows 2008,请使用 mongrel 服务的预发布版本,否则它不适合您:
gem 安装 mongrel_service --prerelease
关于windows - Howto - 在 mongrel 上运行 Redmine 作为 Windows 上的服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2781795/