`

最完整的 Rails Windows 开发环境搭建 手记

阅读更多

十一在家哪里都没有去,学习了五天的rails,之前听过但一直没有看过ruby.确切的说rails确实比turbogears开发要爽快的多,开发环境的搭建在windows上构建也比tg要快速和方便的多...

 

此文借鉴了这两篇帖子:

http://robbin.iteye.com/blog/43290

http://qiuye.iteye.com/blog/108459

 

其它的关于Windows 开发环境的搭建基本都是 互相抄袭,漏洞百出,不知所云... 但是这两个帖子似乎也有遗漏之处...

 

[Windows 环境构建: 要求必须能联网]

 

  1. http://rubyonrails.org/download 处下载最新版本的ruby,我这里下载的是[rubyinstaller-1.8.6-p383-preview2.exe],安装它,并将其下的bin目录加入到系统环境变量PATH中. 此时已经安装好了ruby和rubygems.
  2. 运行中输入cmd,切换到终端显示窗口,输入如下命令安装rails:
    [gem install rake], rake这个似乎是rails的依赖包,必须先于rails安装
    [gem install rails],
    此时将会自动下载rails套件,关于套件包含信息,参见这里: http://zh.wikipedia.org/wiki/Ruby_on_Rails
  3. 设置Sqlite3数据库的支持,国内有些帖子说什么不能装SQLITE3,我很疑惑,根本没有这回事啊.直接
    [gem install sqlite3-ruby],
    安装完成后Sqlite3并不能正常使用,必须从sqlite官方下载[http://www.sqlite.org/download.html]sqlite3.dll,将其复制到 ruby\bin目录下即可
  4. 设置Mysql数据库的支持,这个比较简单,
    [gem install mysql],

此时已经能进行rails的开发测试了,任意建一个文件夹,如d:\prj4rails,进入其下,在DOS提示符中输入,rails hello,

此时将自动构建一个完整的应用,包括目录结构,基础代码...


进入构建的d:\prj4rails\hello文件夹下,输入 ruby script\server 运行自带的web服务器,将在3000端口上运行,浏览器输入http://localhost:3000 即可查看,如果SQLITE3的配置有误,此时如点击显示页面中的相应链接,将会显示红框的错误信息,因为环境设置错误,按上述三进行设置的,没有这个问题...

大多时候我会使用MYSQL做数据库,这里只需修改项目中[config\database.yml]文件即可,修改如下所示,

development:
  adapter: mysql
  database: todos
  host: localhost
  username: root
  password: password
  

 参数不用解释了吧,这里要注意的是 yml文件的排版格式,千万不要弄错...

 

重启自带的web服务器,修改配置文件都要重启,这个很郁闷,不知道有什么方法可以不用这样....

_________________________________________________________________________________

 

 

 我并不满足使用自带的web服务器,这样很麻烦,不是么?每次都要手动进行输入,还不能配置虚拟主机,将其绑定到指定的域名,.... 这里我将讲述怎么 设置 rails应用作为 操作系统级别的后台服务自动启动及与Apache的集成,以及设置一个虚拟主机...

 

要想将rails应用安装成系统服务,必须安装mongrel,[gem install mongrel],安装完成后并不能立即使用,因为mongrel又依赖win32-service组件,必须安装它.[gem install win32-service],很奇怪的是,安装不成功,总是提示无法生成本地代码,我查了很久的资料,都没有什么好的说明,必须系统中自带C/C++编译环境,这一点让人无法接受......

写道[摘自 qiuye]
下载win32-service-0.5.2-mswin32.gem
源位置:http://files.rubyforge.mmmultiworks.com/win32utils/win32-service-0.5.2-mswin32.gem
本地安装 [gem install win32-service-0.5.2-mswin32.gem --local ]

 

没有办法,只能下载一个低版本的安装.此时安装成功.... 这里其实是一个问题,我没有解决,大家帮忙...

 

________________________________________________________________________________

 

把Mongrel作为Services启动
 
mongrel_rails service::install -N hello4rails -c d:\prj4rails\hello -p 3000 –e development
-N指明服务名称,-d指明rails应用的目录,-p是mongrel监听的tcp端口,-e是启动模式为生产模式

 

此时将在系统服务中新增一个服务,记住 -e 选项,设置为哪种模式将读取哪种模式的环境配置信息,比如我们上面设置的数据库环境信息...

 

将此服务设置成 自动 模式 ,让其每次开机自动启动..

 

如果需要从服务中注销该项服务,那么:
mongrel_rails service::remove -N hello4rails

________________________________________________________________________________

与Apache集成


1. 修改windows系统目录下 \system32\drivers\etc\hosts文件,在其中新增一行:

写道
127.0.0.1 www.xxx.com

 

写道[摘自 robbin]
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
</Proxy>

<VirtualHost *:80>
ServerName www.xxx.com
DocumentRoot d:/prj4rails/hello/public
##ProxyPass /images !
##ProxyPass /stylesheets ! [这里我机器上开启找不到,尚待解决,所以注释掉]
##ProxyPass /javascripts !
ProxyPass / balancer://myCluster/
ProxyPassReverse / balancer://myCluster/
ProxyPreserveHost on
</VirtualHost>

 

 重启Apache即可...

 

此时在 浏览器中输入 http://www.xxx.com 将打开我们自己建立的hello项目...

 

 

2
2
分享到:
评论
7 楼 vb2005xu 2009-10-15  
引用

#*** INNODB Specific options ***


# Use this option if you have a MySQL server with InnoDB support enabled
# but you do not plan to use it. This will save memory and disk space
# and speed up some things.
skip-innodb


如果使用的是Appserv ,其中已经安装了INNODB,只需注释掉
# skip-innodb
即可
6 楼 vb2005xu 2009-10-15  
引用

rake aborted!
Mysql::Error: The 'InnoDB' feature is disabled; you need MySQL built with 'InnoD
B' to have it working: CREATE TABLE `schema_migrations` (`version` varchar(255)
NOT NULL) ENGINE=InnoDB



必须启用 MYSQL InnoDB 选项???
5 楼 vb2005xu 2009-10-10  
好的...
4 楼 xuqb1 2009-10-10  
这个看上去还是好复杂呀。不知道能不能掌握得了。
如果可以的话,版主可不可以做一个完成不需要连接互联网的起步教程。
脉路还是感觉不清晰。
3 楼 vb2005xu 2009-10-09  
关于 Ruby 基础语法的学习,参阅javaeye的专栏介绍:
Ruby Hacking Guide
http://www.iteye.com/wiki/Ruby_Hacking_Guide
2 楼 vb2005xu 2009-10-08  
gem install rails -v=2.3.4
安装指定版本的ralis
1 楼 vb2005xu 2009-10-08  
下一篇 将记录这几天对 todo demo 的学习...

老外写的东西就是感觉舒服,不知道为什么... 难不成我有汉奸倾向...

开发工具,现在使用的是Notepad++ 4.9 ,感觉很好... 新版本的 不好用

NB的那个感觉又比较慢,算了 还是使用这个吧......

相关推荐

Global site tag (gtag.js) - Google Analytics