Apache+2Mongrel部署Rails

关于apache+mongrel部署的文章,网上已经有很多了。在这里主要说一下容易出错的地方。
1 下载One-Click Ruby Install,安装好后使用ruby -v和gem -v查看版本信息,如果能够显示证明安装正确。

2 安装rails。对于安装rails,我个人还是推荐使用本地安装,它不会受网络的影响,同时自己也好控制。
   安装rails必须要安装的相关依赖有
引用
activesupport   http://rubyforge.org/projects/activesupport

activerecord      http://rubyforge.org/projects/activerecord

actionpack        http://rubyforge.org/projects/actionpack

actionmailer      http://rubyforge.org/projects/actionmailer

actionwebservice(简称aws) http://rubyforge.org/projects/aws

最后才是 rails

引用
rails               http://rubyforge.org/projects/rails/

对于本地安装,最重要的是注意版本。对于版本识别,这里推荐网友介绍的两个方法
引用
一、下载Rails 1.2.3.gem,在D:\rails目录下。

  在命令行下进入"D:\rails",运行 gem install rails-1.2.3.gem  ,命令行会显示出错信息,仔细看该信息,你会发现

  该信息中会提示在安装 rails之前必须安装 "activesupport -1.4.2",连安装模块的名称和具体版本都列出来了。

  安装好"activesupport-1.4.2"之后,继续上一步骤,这次会提示安装"activerecord-1.15.3",其他模块的步骤都一样。

二、仔细看Rails 1.2.3版本的发布日期,是"2007-03-13"。因为这五个模块一般是和Rail同步发布的。你只需要在下载列表

  中找到对应发布日期的模块下载即可。如果不是同一天,自然是找时间相隔最近的版本


当然要是在线安装 直接gem install rails -y就可以了

3 安装mongrel,我还是推荐本地安装
引用
gem install gem_plugin-0.2.3.gem
gem install cgi_multipart_eof_fix-2.5.0.gem
gem install win32-service-0.5.2-mswin32.gem

gem install mongrel-1.1.2-mswin32.gem
gem install mongrel_service-0.3.3-mswin32.gem


这个时候可以使用 monmongrel_rails start启动
如果在运行mongrel服务器时遇到如下信息
!!! Path to log file not valid: log/mongrel.log 
mongrel::start reported an error. Use mongrel_rails mongrel::start -h to get help.

那么可以通过指定应用目录来解决(因为mongrel在创建log之前会先验证应用目录)
C:\>mongrel_rails start -c C:\zsb

4 把mongrel作为windows services启动
mongrel_rails service::install -N zsb -c C:\zsb -p 3000 -e production
mongrel_rails service::install -N zsb2 -c C:\zsb -p 3001 -e production

上面的步骤就把mongrel加入到windows服务中。这时打开控制面版 -> 管理工具 -> 服务,就可以发现增加了项名为zsb,zsb2的服务,就可以通过控制面版来管理服务了。如果要从服务中取消该项服务,那么:
mongrel_rails service::remove -N zsb

在命令行下启动和关闭该服务就是:
mongrel_rails service::start -N zsb
mongrel_rails service::stop -N zsb

5 配置Apache2.2
引用
从Apache网站下载Windows版本的Apache2.2,运行安装程序,就安装好了Apache2.2。
用编辑工具打开Apache2.2目录下面的conf/httpd.conf,需要取消如下模块的注释:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_http_module modules/mod_proxy_http.so
如果你希望对页面输出使用压缩,也需要取消如下模块的注释:
LoadModule deflate_module modules/mod_deflate.so


然后加入
ProxyRequests Off   
<Proxy balancer://myCluster>  
  BalancerMember http://localhost:3000   
  BalancerMember http://localhost:3001   
</Proxy>  
  
<VirtualHost *:80>  
  ServerName zs.cumt.edu.cn.com   
  DocumentRoot d:/rubyproject/depot/public   
  ProxyPass /images balancer://myCluster/images
  ProxyPass /stylesheets balancer://myCluster/stylesheets
  ProxyPass /javascripts balancer://myCluster/javascripts   
  ProxyPass / balancer://myCluster/   
  ProxyPassReverse / balancer://myCluster/   
  ProxyPreserveHost on   
</VirtualHost>

这样一个apache+2mongrel的运行环境就配置好了。


注:很多资料来源于网络,在此表示感谢。


同步发布在 http://www.86516afw.com/blogPost/27.html

你可能感兴趣的:(apache,网络应用,Ruby,Rails,ActiveRecord)