- 浏览: 4821970 次
- 性别:
- 来自: 上海
博客专栏
-
robbin谈管理
浏览量:137099
文章分类
最新评论
-
xly1981:
领导者是团队的灵魂。深入一线的过程,包括代码review,能帮 ...
robbin谈管理:改造团队的经验(2) -
jiehuangwei:
像这种总结比较性的ppt文档可以多发啊
Web并发模型粗浅探讨 -
linux1308:
看完学习到了很多东西,感谢推荐!
推荐一篇很好的RoR部署方案性能评测 -
zweite:
直接对搜索的结果进行缓存是不是会更快一点呢
漫谈应用缓存的命中率问题 -
kaogua:
现在已经是ruby2.0了, 不知道这个的效率是怎么样的, 是 ...
Ruby作为服务器端应用已经成熟了
在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代理的负载均衡:
xml 代码
- 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进行输出内容压缩,以提高页面下载速度,这个就留给大家自己配置了。
评论
32 楼
tangren0009
2007-07-03
谢谢! 让我入门
31 楼
karl
2007-06-01
我的ruby是1.8.4.在注册服务的时候总是抛出一个错误,说找不到w32/service:
c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in `require__': no
such file to load -- win32/service (LoadError)
from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in `re
quire'
from c:/ruby/lib/ruby/gems/1.8/gems/mongrel_service-0.1/lib/mongrel_serv
ice/init.rb:5
from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in `re
quire'
from c:/ruby/lib/ruby/gems/1.8/gems/gem_plugin-0.2.2/lib/gem_plugin.rb:1
34:in `load'
from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:95:in `each
'
from c:/ruby/lib/ruby/gems/1.8/gems/gem_plugin-0.2.2/lib/gem_plugin.rb:1
12:in `load'
from c:/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1/bin/mongrel_rails:240
from c:/ruby/bin/mongrel_rails:18
-----------------------------------
???????搞不清楚,我在机器上搜service,确实没有找到win32/service.是不是跟我的ruby版本有关,还是没有装某个gem?
c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in `require__': no
such file to load -- win32/service (LoadError)
from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in `re
quire'
from c:/ruby/lib/ruby/gems/1.8/gems/mongrel_service-0.1/lib/mongrel_serv
ice/init.rb:5
from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in `re
quire'
from c:/ruby/lib/ruby/gems/1.8/gems/gem_plugin-0.2.2/lib/gem_plugin.rb:1
34:in `load'
from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:95:in `each
'
from c:/ruby/lib/ruby/gems/1.8/gems/gem_plugin-0.2.2/lib/gem_plugin.rb:1
12:in `load'
from c:/ruby/lib/ruby/gems/1.8/gems/mongrel-1.0.1/bin/mongrel_rails:240
from c:/ruby/bin/mongrel_rails:18
-----------------------------------
???????搞不清楚,我在机器上搜service,确实没有找到win32/service.是不是跟我的ruby版本有关,还是没有装某个gem?
30 楼
huangye177
2007-05-08
To: simon_lin这是你的链接到rails有问题,估计是网络不好
29 楼
prolibertine
2007-05-08
不知道可不可以在iis下面配置ror啊
28 楼
simon_lin
2007-04-03
为什么我装到
gem install rails –y
这一步时,总是提示我
ERROR:While executing gem ... (Gem::RemoteFetcher:FetchError)
SocketError reading http://gems.rubyforge.org/gems/activesupport-1.4.2.gem
这是什么问题?怎么处理?谢谢!
gem install rails –y
这一步时,总是提示我
ERROR:While executing gem ... (Gem::RemoteFetcher:FetchError)
SocketError reading http://gems.rubyforge.org/gems/activesupport-1.4.2.gem
这是什么问题?怎么处理?谢谢!
27 楼
simon_lin
2007-04-03
为什么我装到
gem install rails –y
这一步时,总是提示我
ERROR:While executing gem ... (Gem::RemoteFetcher:FetchError)
SocketError reading http://gems.rubyforge.org/gems/activesupport-1.4.2.gem
这是什么问题?怎么处理?谢谢!
gem install rails –y
这一步时,总是提示我
ERROR:While executing gem ... (Gem::RemoteFetcher:FetchError)
SocketError reading http://gems.rubyforge.org/gems/activesupport-1.4.2.gem
这是什么问题?怎么处理?谢谢!
26 楼
hongyefei
2007-03-07
真的可以啊,楼上的谢谢
25 楼
huangye177
2007-02-20
somebody 写道
hongyefei 写道
我把
<VirtualHost *:80>
ServerName dev100
DocumentRoot d:/app/onlinesale/public
ProxyPass /images !
ProxyPass /stylesheets !
ProxyPass /javascripts !
ProxyPass / balancer://myCluster/
ProxyPassReverse / balancer://myCluster/
ProxyPreserveHost on
</VirtualHost>
里面的js、css,images目录去掉。 改成下面这样就可以了,
<VirtualHost *:80>
ServerName dev100
DocumentRoot d:/app/onlinesale/public
ProxyPass / balancer://myCluster/
ProxyPassReverse / balancer://myCluster/
ProxyPreserveHost on
</VirtualHost>
谁知道哪样好些吗
<VirtualHost *:80>
ServerName dev100
DocumentRoot d:/app/onlinesale/public
ProxyPass /images !
ProxyPass /stylesheets !
ProxyPass /javascripts !
ProxyPass / balancer://myCluster/
ProxyPassReverse / balancer://myCluster/
ProxyPreserveHost on
</VirtualHost>
里面的js、css,images目录去掉。 改成下面这样就可以了,
<VirtualHost *:80>
ServerName dev100
DocumentRoot d:/app/onlinesale/public
ProxyPass / balancer://myCluster/
ProxyPassReverse / balancer://myCluster/
ProxyPreserveHost on
</VirtualHost>
谁知道哪样好些吗
我用ajp_mod也碰到这个问题。不知道为啥。ProxyPass /images ! 这个好像让/images下的禁止访问了。而不是给ajp处理了。奇怪。
It should be:
<VirtualHost *:80>
ServerName dev100
DocumentRoot d:/app/onlinesale/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>
For more information: http://www.yehuang.net/archives/31
24 楼
lionel
2007-02-14
Quake3 写道
当我配置好服务后,在IE地址栏输入地址正确显示出Welcome aboard,但是点击“About your application’s environment”后,出现错误提示
Routing Error
no route found to match "/rails/info/properties" with {:method=>:get}
请教大家,如何解决这个问题!
Routing Error
no route found to match "/rails/info/properties" with {:method=>:get}
请教大家,如何解决这个问题!
我也遇到了和你一样的问题,不知是什么原因
23 楼
amozon
2007-02-13
melin 的资料很详细,谢谢
22 楼
Quake3
2007-02-04
当我配置好服务后,在IE地址栏输入地址正确显示出Welcome aboard,但是点击“About your application’s environment”后,出现错误提示
Routing Error
no route found to match "/rails/info/properties" with {:method=>:get}
请教大家,如何解决这个问题!
Routing Error
no route found to match "/rails/info/properties" with {:method=>:get}
请教大家,如何解决这个问题!
21 楼
robbin
2007-02-03
还是好好去读apache的文档吧,别在这瞎猜
20 楼
somebody
2007-02-02
hongyefei 写道
我把
<VirtualHost *:80>
ServerName dev100
DocumentRoot d:/app/onlinesale/public
ProxyPass /images !
ProxyPass /stylesheets !
ProxyPass /javascripts !
ProxyPass / balancer://myCluster/
ProxyPassReverse / balancer://myCluster/
ProxyPreserveHost on
</VirtualHost>
里面的js、css,images目录去掉。 改成下面这样就可以了,
<VirtualHost *:80>
ServerName dev100
DocumentRoot d:/app/onlinesale/public
ProxyPass / balancer://myCluster/
ProxyPassReverse / balancer://myCluster/
ProxyPreserveHost on
</VirtualHost>
谁知道哪样好些吗
<VirtualHost *:80>
ServerName dev100
DocumentRoot d:/app/onlinesale/public
ProxyPass /images !
ProxyPass /stylesheets !
ProxyPass /javascripts !
ProxyPass / balancer://myCluster/
ProxyPassReverse / balancer://myCluster/
ProxyPreserveHost on
</VirtualHost>
里面的js、css,images目录去掉。 改成下面这样就可以了,
<VirtualHost *:80>
ServerName dev100
DocumentRoot d:/app/onlinesale/public
ProxyPass / balancer://myCluster/
ProxyPassReverse / balancer://myCluster/
ProxyPreserveHost on
</VirtualHost>
谁知道哪样好些吗
我用ajp_mod也碰到这个问题。不知道为啥。ProxyPass /images ! 这个好像让/images下的禁止访问了。而不是给ajp处理了。奇怪。
19 楼
hongyefei
2007-01-26
我把
<VirtualHost *:80>
ServerName dev100
DocumentRoot d:/app/onlinesale/public
ProxyPass /images !
ProxyPass /stylesheets !
ProxyPass /javascripts !
ProxyPass / balancer://myCluster/
ProxyPassReverse / balancer://myCluster/
ProxyPreserveHost on
</VirtualHost>
里面的js、css,images目录去掉。 改成下面这样就可以了,
<VirtualHost *:80>
ServerName dev100
DocumentRoot d:/app/onlinesale/public
ProxyPass / balancer://myCluster/
ProxyPassReverse / balancer://myCluster/
ProxyPreserveHost on
</VirtualHost>
谁知道哪样好些吗
<VirtualHost *:80>
ServerName dev100
DocumentRoot d:/app/onlinesale/public
ProxyPass /images !
ProxyPass /stylesheets !
ProxyPass /javascripts !
ProxyPass / balancer://myCluster/
ProxyPassReverse / balancer://myCluster/
ProxyPreserveHost on
</VirtualHost>
里面的js、css,images目录去掉。 改成下面这样就可以了,
<VirtualHost *:80>
ServerName dev100
DocumentRoot d:/app/onlinesale/public
ProxyPass / balancer://myCluster/
ProxyPassReverse / balancer://myCluster/
ProxyPreserveHost on
</VirtualHost>
谁知道哪样好些吗
18 楼
hongyefei
2007-01-26
怎么我用http://localhost:3001/home就可以,用http://dev100/home登录,所有的js&css都不起作用。
<Proxy balancer://myCluster>
BalancerMember http://localhost:3001
</Proxy>
<VirtualHost *:80>
ServerName dev100
DocumentRoot d:/app/onlinesale/public
ProxyPass /images !
ProxyPass /stylesheets !
ProxyPass /javascripts !
ProxyPass / balancer://myCluster/
ProxyPassReverse / balancer://myCluster/
ProxyPreserveHost on
</VirtualHost>
<Proxy balancer://myCluster>
BalancerMember http://localhost:3001
</Proxy>
<VirtualHost *:80>
ServerName dev100
DocumentRoot d:/app/onlinesale/public
ProxyPass /images !
ProxyPass /stylesheets !
ProxyPass /javascripts !
ProxyPass / balancer://myCluster/
ProxyPassReverse / balancer://myCluster/
ProxyPreserveHost on
</VirtualHost>
17 楼
zyjarge
2007-01-26
搭好了. 能用了, 可是有点问题,原先在Webrick下跑的好好的程序中文出现乱码了.
还得再研究研究啊.
还得再研究研究啊.
16 楼
bomb_football
2007-01-24
已经解决了,需要需要rails命令创建一个Rails application目录后,才能创建服务。
btw:你这安装步骤是写给高手看的吧:)
btw:你这安装步骤是写给高手看的吧:)
15 楼
bomb_football
2007-01-24
呵呵,麻烦你能说清楚一点吗?这个Rails application改怎么指定?
14 楼
robbin
2007-01-23
!!! The path you specified isn't a valid Rails application.
13 楼
bomb_football
2007-01-23
我安装的时候报错了,请问怎么回事?
执行:mongrel_rails service::install -N depot -c D:\ruby\lib\ruby\gems\1.8\gems\rails-1.2.1\html -p 3000 –e production
报
!!! The path you specified isn't a valid Rails application.
service::install reported an error. Use mongrel_rails service::install -h to get
help.
执行:mongrel_rails service::install -N depot -c D:\ruby\lib\ruby\gems\1.8\gems\rails-1.2.1\html -p 3000 –e production
报
!!! The path you specified isn't a valid Rails application.
service::install reported an error. Use mongrel_rails service::install -h to get
help.
发表评论
-
《松本行弘的程序世界》推荐序
2011-07-21 13:47 15263在流行的编程语言中,ruby是一个比较另类的存在,这是因为大多 ... -
从Rails聊聊小公司的研发团队建设
2011-03-23 10:49 37214首先分享一点数据吧: JavaEye的PV到了140万了,一 ... -
Ruby作为服务器端应用已经成熟了
2009-11-17 14:55 15935JavaEye网站在过去的Ruby on rails实践当中, ... -
基于资源的HTTP Cache的实现介绍
2009-09-05 00:27 17050我们都知道浏览器会缓 ... -
请注意Rails2.3自带的memcache-client有性能问题
2009-03-23 18:05 14475Rails2.3版本发布了,这个版本内部的改动非常大,相关介绍 ... -
监视Rails进程内存泄漏的技巧
2008-12-30 21:56 10954Rails应用比较容易遇到的两类性能问题:一类是Rails执行 ... -
ruby MBARI大补丁性能评测报告
2008-12-23 12:19 5070JavaEye之前的新闻ruby内存泄漏的罪魁祸首 - 幽灵指 ... -
在top监视窗口显示Rails当前正在执行的请求URL
2008-12-01 14:15 9857这是一个从PragDave的博客上面学来的技巧,很实用,很co ... -
对Ruby VM的GC的思考
2008-09-02 23:41 8977Ruby虽然是动态脚本语言 ... -
推荐一篇很好的RoR部署方案性能评测
2008-07-08 11:55 9637今年年初的时候,我写了一篇RoR部署方案深度剖析的文章,分析了 ... -
Ruby和Rails的缺点
2008-06-25 21:08 17401有人说,robbin你说了那么多RoR的优点,你啥时候说说Ro ... -
Skynet --- ruby的类Google Map/Reduce框架
2008-06-02 00:39 8295Skynet是一个很响亮的名 ... -
rmmseg-cpp - 简洁高效的ruby中文分词程序
2008-05-27 00:47 11234我在前一篇文章向大家 ... -
使用libmmseg实现Ruby的中文分词功能
2008-05-24 21:43 11325用Ruby on Rails开发web2.0网站的人都知道,r ... -
mod_rails尝鲜
2008-04-13 14:32 8080Passenger(俗称mod_rails)是 ... -
Lighttpd和RoR安装配置的疑难解答
2008-03-07 11:09 14846之前写过一篇在Linux平 ... -
JavaEye网站的RoR性能优化经验谈
2008-01-20 16:11 18444JavaEye网站从2006年9月11 ... -
RoR部署方案深度剖析
2008-01-14 03:10 14777RoR的部署方案可谓五花八门,有Apache/Fastcgi方 ... -
RoR网站如何利用lighttpd的X-sendfile功能提升文件下载性能
2008-01-12 17:45 10253传统的Web服务器在处理文件下载的时候,总是先读入文件内容到应 ... -
Ruby为什么会受程序员的欢迎?
2008-01-07 20:08 15752孟岩最近写了一篇博客 ...
相关推荐
Ruby on Rails 安装指南 Ruby on Rails 安装指南是指安装 Ruby 1.8.6 和 Rails 2.0.2 的详细步骤。首先,需要下载 Ruby One-Click Installer ...同时,也可以学习到 Ruby、Rails 和 Mongrel 的基本概念和使用方法。
《Ruby on Rails安装指南》是一份详尽的文档,旨在帮助用户在不同的环境下安装和配置Ruby on Rails开发环境。这份指南适用于使用Ruby 1.8.6和Rails 2.0.2版本的用户,虽然这些版本可能相对较旧,但其安装流程对于...
### Ubuntu 下 Ruby on Rails 的安装与配置 #### 一、Ruby on Rails 的安装步骤 **1.1 系统环境准备** 确保您的 Ubuntu 系统已更新至最新状态。这一步很重要,因为新版本通常会修复旧版本中存在的问题,包括安全...
总而言之,Ruby on Rails在构建RESTful SOA服务时表现出色,其动态特性和强大的社区支持使其能够应对企业级需求。尽管存在部署和扩展的挑战,但随着最佳实践和工具的不断发展,RoR正逐渐为企业SOA做好准备。通过学习...
Rails是Ruby on Rails框架的简称,它是一种基于Ruby语言的开源Web开发框架,以其MVC(Model-View-Controller)架构而闻名,旨在简化Web应用的开发过程。在早期的Rails版本中,Mongrel是一个常用的HTTP服务器,用于...
Ruby on Rails(简称Rails或RoR)是一种使用Ruby语言编写的开源全栈Web应用框架。它遵循模型-视图-控制器(MVC)架构模式,强调代码优雅性和开发效率,通过约定优于配置的理念简化了开发流程。 #### 二、安装Ruby ...
在Rails环境里,Monit确保了Nginx、Mongrel和MySQL等关键服务的健康运行。 在部署这个环境时,首先需要在Ubuntu上安装必要的软件包,包括Ruby、Rails、Nginx、MySQL以及Monit。然后,配置Nginx作为反向代理来分发...
本文档主要介绍了如何在Windows环境下配置Apache作为静态内容服务器,并利用Mongrel来部署多个Rails应用程序。这种配置允许开发者在一个服务器上运行多个独立的Rails应用,并通过Apache进行请求代理。 #### 安装与...
这本书可能会涵盖如何使用Mongrel来服务、部署和扩展Ruby应用程序的细节,包括配置、性能优化、集群设置以及与其他组件(如Nginx或Apache)集成的方法。 Mongrel虽然已经不再是最新的Rails服务器选择,但它在Rails...
Mongrel不仅能够运行Ruby应用,还提供了调试和扩展的功能,是Rails开发者必备的知识点之一。 #### Rails Plugins: Extending Rails Beyond the Core Rails插件允许开发者扩展Rails的功能,通过添加自定义模块或...
一旦完成这些步骤,你就可以在 Windows XP 上编写和运行 Ruby on Rails 应用了。记得随时更新你的 Gem 文件,以保持依赖项的最新状态,并确保兼容性。此外,了解 Ruby 的其他工具,如 Bundler 和 RSpec,可以帮助你...
总结,Nginx+Mongrel的组合是Ruby on Rails应用的一种有效部署方式,通过Nginx的反向代理和负载均衡功能,可以实现高效、稳定的服务提供。理解并掌握这种部署模式对于提升系统性能和运维能力至关重要。
应用服务器上,他们最初使用Mongrel,一种Ruby应用服务器,但由于其不支持多线程,所以计划迁移到Passenger,因为Passenger(也称为ModRails)能够更好地整合到Nginx和Apache中,提供更高的性能和更简单的管理。...
Redmine 是一个基于 Ruby on Rails 开发的开源项目管理工具,尤其适合软件开发团队使用。在Windows环境下配置 Redmine 1.1.1 版本,需要遵循一系列步骤,包括安装必要的运行环境、配置数据库、下载和安装 Redmine ...
集成了ruby 、rails 、apache 、mongrel、mysql(phpmyadmin),绿色免安装,解压即可。 内带示例程序cookbook和Typo.注意IIS服务器和迅雷等都可能占用80端口,要防止冲突。不仅可以作为rails程序运行环境,开发也非常...
博文链接:https://swachian.iteye.com/blog/175033