不知道为什么,感觉Rails自带的WEBrick有点慢,于是决定利用已有的Apache搭建一个Mongrel的。

系统是Windows 7,昨天下载的Ruby1.9.2(但是除了主文件夹名是Ruby192,内部文件夹都是1.9.1嘛,这是为神马呢?),gem 1.5.2,Rails 3.0.4,Mongrel 1.2.0 pre2,Apache2.2.17。折腾了一早上,走了各种弯路。特此Mark一下。

从哪里说起呢?我一上来就先Google找别人的搭建经验。主要借鉴了 http://jan.varwig.org/archive/rails-3-and-mongrel 还有 http://robbin.javaeye.com/blog/43290?page=2#comments 。后者是旧版本的Mongrel和Apache设置,前者是关于Rails3 Beta的Mongrel设置。

=======================================================================

1、首先RoR肯定要装好,gem install rails --include-dependencies

2、然后是mongrel

gem install mongrel --pre  (因为稳定版的Mongrel1.1.5不能支持Rails3.0.4,但是毕竟是pre版,将来应该会改成稳定版)

gem install mongrel_service

3、接下来就是建立自己的项目目录,假设已经建立好了,然后打开Gemfile,其他修改略去,参考varwig的修改,在文件中添加一行

gem 'mongrel'

但是我实际操作中这样还是无法用rails server来开启服务器。实际中我添加的是

gem 'mongrel', '1.2.0.pre2'

但是这样还是不行,在 Ruby192目录下找/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib下的mongrel.rb文件,删除最后两行,具体理由见http://jan.varwig.org/archive/rails-3-and-mongrel

4、这样设置,其实已经可以了。进入项目目录,运行

rails server

就会自动开启Mongrel服务器

=> Booting Mongrel

=> Rails 3.0.4 application starting in development on http://0.0.0.0:3000

=> Call with -d to detach

=> Ctrl-C to shutdown server

但是缺点是每次都要自己运行这个命令。

5、如果还不够,还想要由Apache默认的80端口访问,那么还要开启Apache的代理。参考http://robbin.javaeye.com/blog/43290?page=1#comments,

在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
在末尾加上
=======================================
ProxyRequests Off    
<Proxy balancer://myCluster>
BalancerMember http://localhost:3000
BalancerMember http://localhost:3001
</Proxy>
<VirtualHost *:80>
ServerName localhost
DocumentRoot e:/photos
ProxyPass /images !
ProxyPass /stylesheets !
ProxyPass /javascripts !
ProxyPass / balancer://myCluster/
ProxyPassReverse / balancer://myCluster/
ProxyPreserveHost on
</VirtualHost>
=========================================
(之前怎么代码块不能正常显示)

具体理由,在上面那个blog的末尾和讨论中。主要是为了均衡负载。

============================================================

至此,已经可以启动Mongrel服务器了,还有注册成系统服务,按说应该可以始终可以访问,但是我

设置成为服务并开启服务后,离开cmd下的rails server命令,看样子好像不能运行。就是没有rails s

的话直接访问localhost:3000不能,而且有个小问题,CPU占用率呈现周期性的100%,进程名是ruby

大概是因为1.2.0 pre还是不稳定版本,因此必须用rails server来运行。

============================================================

6、如果要自动一点,那要再多设置一点。运行

mongrel_rails service::install -N [servicename] -c [project dir] -p [port] -e [edition]

servicename是要创建的系统服务项目

project dir是存放项目的目录

port是开放的端口,惯例是设成3000

edition是项目的版本,development或者test或者production

我输入了

mongrel_rails service::install -N photo -c E:/photos -p 3000 -e development

这样之后,在任务管理器的服务标签里找到photo服务,开启服务,然后在浏览器里输入 localhost:3000就可以显示Welcome aboard的欢迎信息了,以后可以通过这个端口直接访问。

===========================================================

于是就搭建好了RoR的环境,谢谢以上两位的帮助还有许多高手的评论点拨。

【Ruby on Rails 起步(二)】Windows下搭建RubyonRails 3.0.4 + Mongrel 1.2.0 pre + Apache2.2.17服务器相关推荐

  1. Windows下搭建ESP-IDF开发环境,适合ESP32/S2/C3/S3系列模组二次开发

    前言 本教程适用于以下两种用户: ①无Linux环境搭建经验或搭建Linux开发环境不成功: ②使用安信可windows一体化环境IDE V1.5开发环境搭建不成功: 本教程提供了windows下搭建 ...

  2. Windows下搭建PySpark环境

    Windows下搭建PySpark环境 文章目录 Windows下搭建PySpark环境 前言 方法一 安装单机版Hadoop 安装单机版Spark PySpark环境整合 方法二 测试PySpark ...

  3. 乐鑫Esp32学习之旅② 巧用eclipes编辑器,官方教程在Windows下搭建esp32开发环境,打印 “Hello World”。

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 " ...

  4. Windows下搭建ant+jenkins+jmeter自动化接口测试框架

    Windows下搭建ant+jenkins+jmeter自动化接口测试框架 引言 为什么要持续集成? 1.减少风险 2.减少假定 3.减少重复过程 4.增强项目的可见性 5.持续集成可以带来两点积极效 ...

  5. 在Windows下搭建OpenCL环境

    在Windows下搭建OpenCL环境 一.AMD APP SDK介绍 二.安装AMD APP SDK 三.AMD APP SDK使用 一.AMD APP SDK介绍 AMD APP SDK是AMD提 ...

  6. MQTT在Windows下搭建MQTT服务器

    MQTT 在Windows下搭建MQTT服务器 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u012163234/article/details/ ...

  7. Lisp语言: 在Windows下搭建CLisp环境

    有关Clisp环境的搭建,有人反映说在Ubuntu上搭建很麻烦,对于习惯使用Windows环境的同学们来讲不方便,所以在这里添加一篇Windows下搭建CLisp环境的文章. 其实在Windows下搭 ...

  8. Android之Windows下搭建React Native Android开发环境(差不多搞了一天)

    Android之Windows下搭建React Native Android开发环境               穷逼买不起mac,但是他们都说React Native Android只能在mac下面 ...

  9. windows搭建python开发环境方法_04 Windows下搭建 Python 开发环境 - Python 入门教程

    前面两个小节中我们已经学习了在 MacOS 和 Ubuntu 中安装 Python 的开发环境.当然,作为用户基数最多的 Windows 操作系统,我们当然不会忘记,这节课我们就来学习下如何在 Win ...

最新文章

  1. 函数指针--Nginx和Redis中两种回调函数写法
  2. Kafka Manager 编译 + 部署运行
  3. 1、SELECT:数据表查询语句
  4. pycharm报黄提示(黄色高亮警告):non-default parameter follows default parameter(定义时将没有默认值的参数放到了有默认值参数的后面)
  5. python 速度 memmap_浅析Python 读取图像文件的性能对比
  6. python爬虫运行正常最后报错_Python爬虫运行正常,最后却报错
  7. 第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波18 - 低通、高通、带阻和带通滤波器、组合使用空间增强方法
  8. AtCoder3950 [AGC022E] Median Replace(DFA + dp)
  9. linux ruby 安装路径,Linux(CentOS 7)安装ruby
  10. Spring实战(六)自动装配的歧义性
  11. android 日志泄露,安卓Hacking Part 4:非预期的信息泄露(边信道信息泄露)
  12. bfs (宽度搜素)
  13. Root Pane Container(三)
  14. 使用IP-guard补丁分发批处理脚本实现分发补丁
  15. canvas 小球碰撞
  16. java毕业设计商品货物信息管理系统源码+lw文档+mybatis+系统+mysql数据库+调试
  17. Scratch跑酷游戏
  18. 手机浏览器点击标签出现蓝色背景解决方法
  19. C++学习(一八一)android的NDK、SDK版本的对应关系
  20. 北京大学肖臻老师《区块链技术与应用》公开课笔记23——ETH挖矿难度调整篇

热门文章

  1. 1小时入门马克笔绘图
  2. 微博原生视频统一文件服务接口文档
  3. linux保存屏幕亮度,笔记本在Ubuntu下保存屏幕亮度的方法
  4. Android反编译工具简介
  5. 软件黑盒测试的测评,软件评测师资料:黑盒测试与白盒测试例题
  6. 【软件测试】从事5年资深测试的经验,少走弯路......
  7. 那些年,我们一起学过的编程语言
  8. pywinauto关闭windows的弹窗
  9. 微信用户关注内容调查
  10. 二维数组与二级指针是好朋友吗?