将自己在windowsXP下搭建运行环境的过程说一下,网上也有许多教程,但是大多是针对老版本的rails,没有最新的,还有win下为什么fastcgi+lighttpd还有scgi+lighttpd配合运行不起来,我个人总结了一下,如有错误,希望各位大大指教:
本文引用了诸多ror先辈们的经验文章,在此希望大大们不要见怪。我发这篇文章的目的也是为了后人少一些摸索,同时此文还发在railschina和javaeye。
本文引用了诸多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
一、安装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
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天,呵呵
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升级才能解决问题了
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下
还要将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
c:/>rails test
c:/>cd test
c:/test>ruby script/server
打开ie,输入127.0.0.1:3000看看效果吧,点击那个 “about...可以看到运行环境。ok