我在 Mongrel 上使用 Redmine 作为项目经理,并使用批处理文件 (start-redmine.bat) 在 mongrel 中启动 redmine。我的设置有 2 个问题: 1. 我的服务器上有一个正在运行的 IIS,它占用了 HTTP 端口 (80) 2. 必须定期检查 start-redmine.bat 以查看它是否在由以下原因引起的重新启动后停止Windows 更新服务。
对于第一个问题,我别无选择,只能在 3000 之类的端口上运行 mongrel,对于第二个问题,我必须创建一个 windows 服务,该服务在 windows 启动时在后台自动运行;麻烦来了!
据我所知,至少有 3 种方式可以将 redmine 作为服务运行;他们都不能满足关于这个主题的性能观点。您可能会阅读有关 如何配置 Rails 应用程序(redmine)以在 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 (New -> Key) 的新键 右键单击“Parameters”并创建一个名为Application的字符串值属性。再次执行此操作并创建另一个名为AppParameters的字符串值。现在双击“应用程序”并将cmd.exe放入“值数据”部分。然后双击“AppParameters”并将/C“C:\redmine\start-redmine.bat”放入数值数据部分。
我们完成了!发出此命令以在 mongrel 上运行 redmine 作为服务:
网络启动Redmine
编辑:如果您要使用 Redmine 的邮件服务并且您有像 McAfee 这样的防病毒软件,请确保您告诉防病毒软件允许 ruby 发送电子邮件,否则您将无法使邮件服务正常工作。