发新话题
打印

[Rails] 在Windows平台运行Ruby on Rails

本主题由 admin 于 2008-3-16 16:13 移动

在Windows平台运行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代理的负载均衡:
xml 代码

ProxyRequests Off   
<Proxy balancer://myCluster>   
  BalancerMember http://localhost:3000   
  BalancerMember http://localhost:3001   
>   
   
<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   
>   

将静态文件的请求留给Apache来处理,因为它更擅长
Alias /images /path/to/public/images
Alias /stylesheets /path/to/public/stylesheets

myCluster定义了群集中的每个mongrel应用服务器节点。ProxyPass /images !指明该URL开始的请求不代理给Mongrel群集,而由Apache自己处理。重起Apache,然后打开浏览器访问www.xxx.com,检查配置是否正确。

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

对于页面输出,还可以使用mod_deflate进行输出内容压缩,以提高页面下载速度,这个就留给大家自己配置了。

TOP

■ Mongrel を使ってみる

TOP

找个时间试试。
http://www.j-kanban.com/bbs/thread-1840-1-4.html(这里还有mysql的安装)

TOP

如果是windows,最简单的方法是instantrails

Instant Rails is a one-stop Rails runtime solution containing Ruby, Rails, Apache, and MySQL, all pre-configured and ready to run. No installer, you simply drop it into the directory of your choice and run it. It does not modify your system environment.

http://rubyforge.org/projects/instantrails/

TOP

到这里下载:
http://svn.rubyonrails.org/rails ... onnection_adapters/
或者下载附件:
然后保存sqlserver_adapter.rb 到
<rails_app_home>\lib\ruby\gems\1.8\gems\activerecord-2.0.1\lib\active_record\connection_adapters

再把ADO.rb保存到:<rails_app_home>\lib\ruby\site_ruby\1.8\DBD\ADO目录下

TOP

发新话题