您的位置:首页 > 运维架构 > Apache

在Windows平台使用Apache2.2和Mongrel运行Ruby on Rails

2011-03-29 15:37 405 查看
参考文章:http://hi.baidu.com/monty9nt/blog/item/a686c31c8c72d48887d6b6ad.html

一、安装Ruby、rails、mongrel和Apache2.2

1、安装Ruby

注意:不要安装最新版本的,最好还是安装1.8版本的稳定版,因为有很多相关的插件都还跟不上最新版本的ruby。

下载地址:http://rubyforge.org/frs/download.php/74293/rubyinstaller-1.8.7-p334.exe

运行命令:rubyinstaller-1.8.7-p334.exe,安装好Ruby。

2、安装Rails

运行命令:gem install rails –y,安装好Rails。

3、安装Mongrel

运行命令:gem install mongrel –y

运行命令:gem install mongrel_service -y

这样就安装好了rails和mongrel。

4、从Apache网站下载Windows版本的Apache2.2,运行安装程序,就安装好了Apache2.2。

二、把Mongrel作为Services启动

1、运行命令
:mongrel_rails service::install -N depot -c d:/Rubyproject/depot -p 3000 –e production

其中:-N指明服务名称,-d指明rails应用的目录,-p是mongrel监听的tcp端口,-e是启动模式为生产模式

2、设置mongrel作为服务启动

这样打开控制面版|管理工具|服务,就可以发现增加了一项名为“depot”的服务,就可以通过控制面版来管理服务了。

2.1)如果需要命令行启动和关闭该服务
,那么:

mongrel_rails service::start -N depot

mongrel_rails service::stop -N depot

2.2)如果需要从服务中注销该项服务
,那么:

mongrel_rails service::remove -N depot

2.3)如果需要安装多个mongrel实例
,那么可以这样:

mongrel_rails service::install -N book0 -c X:/rubypro/mybook -p 3000 –e production

mongrel_rails service::install -N book1 -c X:/rubypro/mybook -p 3001 –e production

ongrel_rails service::install -N depot0 -c d:/Rubyproject/depot -p 3000 –e production

mongrel_rails service::install -N depot1 -c d:/Rubyproject/depot -p 3001 –e production

诸如此类。

三、配置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

然后按如下内容配置基于HTTP代理的负载均衡:

ProxyRequests Off
<Proxy balancer://myCluster>
BalancerMember http://localhost:3000 BalancerMember http://localhost:3001 </Proxy >

<VirtualHost *:80>
ServerName www.xxx.com
DocumentRoot d:/rubyproject/depot/public
ProxyPass /images !
ProxyPass /stylesheets !
ProxyPass /javascripts !
ProxyPass / balancer://myCluster/
ProxyPassReverse / balancer://myCluster/
ProxyPreserveHost on
</VirtualHost >


myCluster定义了群集中的每个mongrel应用服务器节点。ProxyPass /images !指明该URL开始的请求不代理给Mongrel群集,而由Apache自己处理。

重起Apache,然后打开浏览器访问www.xxx.com
,检查配置是否正确。

至此,在Windows Server上面一个具备良好稳定性和性能的Ruby on rails生产环境就搭建好了。

对于页面输出,还可以使用mod_deflate进行输出内容压缩,以提高页面下载速度。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: