Windows环境使用mongrel运行Ruby on Rails

分享RubyWeb by 达达 at 2007-05-04

Windows上要配置RoR真是挺麻烦的一件事,我试了Ruby For IIS FastCGI,也试了Apache + Ruby For Apache,结果都配得乱七八糟。

Ruby For IIS FastCGI把我的IIS中的文件类型注册全部搞没掉了,还后删除.fastgci的类型注册后又恢复了。Ruby For Apache和Apache 2.2好像还不兼容,我配置后Apache总是会提示找不到module,可是module明明就在那里,后来换了Apache 2.0就没这个问题了,但是程序还是跑不起来。

后来在网上看到一份mongrel + apache的配置指南。mongrel是一个ruby的HTTP库,用来寄舍ruby Web应用程序。其实不用Apache单用mongrel就可以运行RoR程序了,那篇网上教程中使用Apache是用来做Web代理,让网站不会有http://www.unbe.cn:8081/这样的端口声明。我只是做做试验,多个端口号不会有什么影响,所以我只配了mongrel。 配置步骤如下:

  1. 下载并安装Ruby
  2. 安装gem (Windows安装包安装的Ruby是自带gem的)
    • rubyforge下载gem
    • 解压gem档,并在命令行下执行setup: ruby setup.rb
  3. 安装rails
    • 命令行下输入: gem install rails --include-dependencies

注: 请确认电脑有连接网络。这个安装过程会持续一段时间,视网速而定。

  1. 安装mongrel
    • 命令行下输入: gem install mongrel –y
    • 中间会提示安装什么版本,我安装的是最新版本的Win32版,其它版本我没试过
  2. 安装mongrel service
    • 命令行下输入: gem install mongrel_service -y
    • 中间会提示安装什么版本,我安装的是最新版本的Win32版,其它版本我没试过
  3. 创建一个rails程序
    • 命令行下输入: rails D:\railsdemo , rails就会自动创建所需要文件到目标目录下
    • 命令行下输入: mongrel_rails service::install -N railsdemo -c d:\railsdemo -p 8082 –e production -e参数还可以是development,-p参数是服务的端口号,-N参数是服务的名称
    • 现在Windows的服务列表中就会多一个railsdemo服务,启动它
    • 到浏览器下测试站点 http://localhost:8082/ ,看到首页还不算完,点击"About your application’s environment"看看是否正常显示。

如果按以上步骤配置后,点首页的"About your application’s environment",可以显示如下结果,那就算完成了:

ror.PNG

参考链接: 在Windows平台使用Apache2.2和Mongrel运行Ruby on Rails Mongrel Home