windows下的rails2.02环境搭建

将自己在windowsXP下搭建运行环境的过程说一下,网上也有许多教程,但是大多是针对老版本的rails,没有最新的,还有win下为什么fastcgi+lighttpd还有scgi+lighttpd配合运行不起来,我个人总结了一下,如有错误,希望各位大大指教:

本文引用了诸多ror先辈们的经验文章,在此希望大大们不要见怪。我发这篇文章的目的也是为了后人少一些摸索,同时此文还发在railschina和javaeye。
ROR本地安装的技术含量比较高的

一、安装Ruby
1、下载Ruby( http://www.ruby-lang.org)安装包
   双击安装,安装过程中注意选中"Enable RubyGems"
2、打开"命令提示符cmd",输入"ruby -v"查看版本号,则表示ruby安装成功

二、安装Rails
1、下载JDK( http://java.sun.com/),安装,否则下面的"gem install"会提示错误
2、下载Rails( http://www.rubyonrails.org)  这里的版本为:rails-2.0.2.gem
3、下载Rails安装需要的库( http://rubyforge.org/),注意有版本依赖问题。
   这里的版本为:
   activesupport-2.0.2.gem
   activerecord-2.0.2.gem
   actionpack-2.0.2.gem
   actionmailer-2.0.2.gem
   activeresource-2.0.2.gem

   打开"命令提示符cmd"执行以下命令:
   gem install activesupport-2.0.2.gem
   gem install activerecord-2.0.2.gem
   gem install actionpack-2.0.2.gem
   gem install actionmailer-2.0.2.gem
   gem install activeresource-2.0.2.gem
   gem install rails-2.0.2.gem
   安装成功即可

   或者将上面所有的.gem放在一个目录中,然后直接在cmd中输入下面的任何一个命令即可。
   gem install rails -l
   gem install rails -l --include-dependencies
   gem install -l rails-2.0.2.gem

4、在cmd中运行"rails -v",显示版本号,表示安装成功
   在cmd中运行"rails <path>/new application"创建一个新项目
   如"rails d:/new application"则可在D:/下看到新建的项目new
   以上没有出错则rails安装成功
  
5、使用:
   运行 rails path/to/your/new/application 创建一个新的项目。
   运行 ruby path/to/your/new/application/script/server 启动服务。


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


了解RubyGems

1、什么是Gem?
gem是Ruby程序或库的打包方式,比如gem install rails就是安装rails程序的gem
我们可以拿gem和war、jar类比
但是gem还担当了Java里maven的角色,就是一个库管理工具,可以远程下载和安装Ruby库

2、常用gem命令:

gem build -- Build a gem file from a specification
gem cert -- Support signing and managing signed gems
gem check -- Check installed gems for problems
gem cleanup -- Cleanup old versions in the repository
gem contents -- Display the files contained in an installed gem
gem dependency -- List the dependencies of a gem
gem environment -- Display information about the gem environment
gem help -- Provide help about gem commands
gem install -- Installing a gem
gem list -- List gems starting with a string
gem query -- Query for a list of gems
gem rdoc -- Generate the RDoc files for an installed gem
gem search -- List gems containing a string
gem specification -- Extract the Gem::Specification from a gem file
gem uninstall -- Uninstalling a gem
gem unpack -- Unpack an installed gem to the current directory
gem update -- Update your installed gems

3、升级已经安装的gem:

将rubygems-uodate*.gem下载在某个目录,在cmd下到此目录,
gem install rubygems-update -l
update_rubygems
1、单步安装:

gem install gem_plugin-0.2.3.gem
gem install cgi_multipart_eof_fix-2.5.0.gem
gem install win32-service-0.5.2-mswin32.gem

gem install mongrel-1.1.2-mswin32.gem
gem install mongrel_service-0.3.3-mswin32.gem

或者将上面的文件放在同一目录中,然后直接cmd下输入如下即可:
gem install mongrel -l

2、测试:
进入rails应用目录
E:/ruby/demo>mongrel_rails start
或者         mongrel_rails start -p 88,就可以开启Mongrel server

3、安装成windows服务:
mongrel_rails service::install -N MyApp_Dev -c C:/Rails/MyApp -p 88 -e production

4、启动服务:
mongrel_rails_service start –n rails_app2

5、停止服务:
mongrel_rails_service stop –n rails_app2

4、删除服务:
mongrel_rails service::remove -N MyApp_Dev

Lighttpd+Fasctcgi无法配置成功的原因

要让Lighttpd支持Fcgi,只要将配置中的mod_fcgi打开即可,但是要让rails环境支持fcgi还必须安装ruby_fcgi.gem这个插件,但是安装这个文件时,必须要用到Fastcgi的库文件,而在windows中暂时还没有找到安装fastcgi库文件的方法,所以导致安装gem时总是提示无法找到fastcgi.h这个库文件,所以无法配置ruby来支持fastcgi。
在安装完scgi_rails-0.4.3.gem,并启用lighttpd的SCGI支持,scgi仍然出错,最终发现,是scgi_rails太古老了,已经不支持rails2.02了,导致执行scgi_service时候找不到方法。

E:/t/test>scgi_service
d:/ruby/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/base.rb:1532:in `method_missing'
: undefined method `threaded_connections=' for ActiveRecord::Base:Class (NoMethodError)
        from d:/ruby/lib/ruby/gems/1.8/gems/scgi_rails-0.4.3/bin/scgi_service:36:in `configure_rails
'
        from d:/ruby/lib/ruby/gems/1.8/gems/scgi_rails-0.4.3/bin/scgi_service:43:in `initialize'
        from d:/ruby/lib/ruby/gems/1.8/gems/scgi_rails-0.4.3/bin/scgi_service:60:in `new'
        from d:/ruby/lib/ruby/gems/1.8/gems/scgi_rails-0.4.3/bin/scgi_service:60
        from d:/ruby/bin/scgi_service:19:in `load'
        from d:/ruby/bin/scgi_service:19

至于是不是这个原因,不知道哪位高人指点一下。
因为这个问题,javaeye还封了我3天,呵呵

mongrel的安装

1、单步安装:

gem install gem_plugin-0.2.3.gem
gem install cgi_multipart_eof_fix-2.5.0.gem
gem install win32-service-0.5.2-mswin32.gem

gem install mongrel-1.1.2-mswin32.gem
gem install mongrel_service-0.3.3-mswin32.gem

或者将上面的文件放在同一目录中,然后直接输入如下即可:
gem install mongrel -l

2、测试:
进入rails应用目录
E:/ruby/demo>mongrel_rails start
或者         mongrel_rails start -p 88,就可以开启Mongrel server

3、安装成windows服务:
mongrel_rails service::install -N MyApp_Dev -c C:/Rails/MyApp -p 88 -e production

4、启动服务:
mongrel_rails_service start –n rails_app2

5、停止服务:
mongrel_rails_service stop –n rails_app2

4、删除服务:
mongrel_rails service::remove -N MyApp_Dev

PS:因为scgi是2005年的老东西了,而原作者也转向了mongrel的升级,所以windows下的最佳实践看来还是mongrel,加上apache的转发,估计完美了
另在安装mongrel_service时需要安装win32-service这个gem,但现在官方网站上只有0.60,这个版本装上后,运行 mongrel_rails start就出错,只有换成0.52版才可以,看来只有等mongrel或者win32-service升级才能解决问题了
因为rails2.02默认数据库转向sqlite,所以还要安装sqlite支持:sqlite3-ruby-1.2.1-mswin32.gem
还要将sqlite3的两个文件:sqlite3.exe和sqlite3.dll放到ruby的/bin下

测试

最后:
c:/>rails test
c:/>cd test
c:/test>ruby script/server

打开ie,输入127.0.0.1:3000看看效果吧,点击那个 “about...可以看到运行环境。ok
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值