我使用Redmine在Mongrel上作为项目管理工具,并使用批处理文件(start-redmine.bat)启动mongrel中的redmine。我的设置有两个问题:
1. 我有一个正在运行的IIS服务器占用了HTTP端口(80)
2. 必须定期检查start-redmine.bat是否在由Windows更新服务引起的重新启动后停止。
对于第一个问题,我别无选择,只能在像3000这样的端口上运行mongrel;对于第二个问题,我必须创建一个Windows服务,在Windows启动时自动在后台运行;这就有麻烦了!
我至少知道三种运行redmine作为服务的方法;其中没有一种能满足性能方面的要求。你可以阅读关于它们的内容: 如何配置Rails应用程序(Redmine)在Windows上运行为服务? 我尝试了它们全部。设置这样的服务最简单的方法是使用mongrel_service方法;在3行命令中就可以完成。但是性能显著低于运行批处理文件...
现在,我想向您展示我的方法:
首先,假设我们已经将 Ruby 安装到 c:\ruby 目录下,并执行了命令 gem install mongrel 将 mongrel gem 安装到 c:\ruby\bin 目录下。
另外,假设我们已经将 Redmine 安装到类似 c:\redmine 的文件夹中,并且我们已经将 Ruby 的路径(即 c:\ruby\bin)添加到 PATH 环境变量中。
我们完成了! 发出此命令以将redmine作为服务在mongrel上运行:
对于第一个问题,我别无选择,只能在像3000这样的端口上运行mongrel;对于第二个问题,我必须创建一个Windows服务,在Windows启动时自动在后台运行;这就有麻烦了!
我至少知道三种运行redmine作为服务的方法;其中没有一种能满足性能方面的要求。你可以阅读关于它们的内容: 如何配置Rails应用程序(Redmine)在Windows上运行为服务? 我尝试了它们全部。设置这样的服务最简单的方法是使用mongrel_service方法;在3行命令中就可以完成。但是性能显著低于运行批处理文件...
现在,我想向您展示我的方法:
首先,假设我们已经将 Ruby 安装到 c:\ruby 目录下,并执行了命令 gem install mongrel 将 mongrel gem 安装到 c:\ruby\bin 目录下。
另外,假设我们已经将 Redmine 安装到类似 c:\redmine 的文件夹中,并且我们已经将 Ruby 的路径(即 c:\ruby\bin)添加到 PATH 环境变量中。
现在从微软网站下载并安装 Windows NT 资源工具包。 打开随资源工具包提供的命令行工具(从开始菜单中)。 使用 instsrv 命令来安装名为 Redmine 的虚拟服务,命令如下:
"[path-to-instsrv.exe]\instsrv" Redmine "[path-to-srvany.exe]\srvany.exe"
对于我的情况(默认情况),命令应该是这样的:
现在创建批处理文件。打开记事本并将以下指令粘贴到其中,然后另存为“c:\redmine\start-redmine.bat”。"C:\Program Files\Windows Resource Kits\Tools\instsrv" Redmine "C:\Program Files\Windows Resource Kits\Tools\srvany.exe"
现在我们需要配置之前创建的虚拟服务。从此处开始注意你所做的操作,否则可能会破坏你的Windows系统。要配置该服务,请打开Windows注册表编辑器(开始 -> 运行 -> regedit)并导航到此节点:@echo off
cd c:\redmine\
mongrel_rails start -a 0.0.0.0 -p 3000 -e production
右键单击“Redmine”节点并使用上下文菜单创建一个名为 Parameters (新建 -> 键)的新键。 右键单击“Parameters”并创建一个名为 Application 的字符串值属性。再次执行此操作,并创建另一个字符串值,称为 AppParameters 。 现在双击“Application”并将 cmd.exe 放入“Value data”部分。然后双击“AppParameters”并将 /C“C:\redmine\start-redmine.bat”放入Value data部分。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Redmine
我们完成了! 发出此命令以将redmine作为服务在mongrel上运行:
编辑: 如果您要使用Redmine的邮件服务,并且您有McAfee等反病毒软件,请确保告诉反病毒软件允许ruby发送电子邮件,否则您将无法使用邮件服务。net start Redmine