在 Windows 平台使用 Apache2.2 和 Mongrel 运行 Ruby on Rails
资料一
一、安装 Ruby、rails、mongrel 和 Apache2.2 从 rubyforge 网站下载 One-Click Ruby Install,运行安装程序,就安装好了 ruby 和 rubygems。 运行命令: gem install rails –y gem install mongrel –y gem install mongrel_service -y 安装好了 rails 和 mongrel 从 Apache 网站下载 Windows 版本的 Apache2.2,运行安装程序,就安装好了 Apache2.2。 二、把 Mongrel 作为 Services 启动 mongrel_rails service::install -N depot -c d:\Rubyproject\depot -p 3000 -e production -N 指明服务名称,-d 指明 rails 应用的目录,-p 是 mongrel 监听的 tcp 端口,-e 是启动模 式为生产模式 这样打开控制面版|管理工具|服务,就可以发现增加了一项名为“depot”的服务,就可以 通过控制面版来管理服务了。如果需要命令行启动和关闭该服务,那么: mongrel_rails service::start -N depot mongrel_rails service::stop -N depot 如果需要从服务中注销该项服务,那么: mongrel_rails service::remove -N depot 如果需要安装多个 mongrel 实例,那么可以这样: mongrel_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 代理的负载均衡: 1. ProxyRequests Off 2.
3. BalancerMember localhost:3000 4. BalancerMember localhost:3001 5. 6.
7.
8. ServerName xxx 9. DocumentRoot d:/rubyproject/depot/public 10. ProxyPass /images ! 11. ProxyPass /stylesheets ! 12. ProxyPass /javascripts ! 13. ProxyPass / balancer://myCluster/ 14. ProxyPassReverse / balancer://myCluster/ 15. ProxyPreserveHost on 16. myCluster 定义了群集中的每个 mongrel 应用服务器节点。ProxyPass /images !指明该 URL 开始的请求不代理给 Mongrel 群集,而由 Apache 自己处理。重起 Apache,然后打开浏览器 访问 xxx,检查配置是否正确。至此,在 Windows Server 上面一个具备良好稳定 性和性能的 Ruby on rails 生产环境就搭建好了。对于页面输出,还可以使用 mod_deflate 进行输出内容
压缩,以提高页面下载速度,这个就留给大家自己配置了。 注:根据以上配置完成后,可能出现图片、css 文件、javascript 文件无法使用的问题,此时 需要对 public 进行定位说明: ? Alias /ima
ges " c:/depot/public/images" ?
? ? Order allow,deny ? Allow from all ? ? ? Alias /stylesheets " c:/depot/public/stylesheets" ?
? ? Order allow,deny ? Allow from all ? ? ? Alias /javascripts "c:/depot/public/javascripts" ?
? ? Order allow,deny ? Allow from all ? ? 资料二
应用程序(一 在 Windows 上用 Apache 与 Mongrel 服务多个 Rails 应用程序 一)
这篇文章将带你安装 Ruby,Gems,Rails,及 Windows XP 或 2003 服务器上重要的 其它库,它们使用 Apache 来服务静态内容及使用 Mongrel 来服务多个 Rails 应用程序。 我们将带你来安装一个 production 环境,它将有类似于下面的 URL 结构: myserver.mydomain/app1/ myserver.mydomain/app2/ 我们将使用 Apache 来代理对高端口上