技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> 系统运维 --> windows下完全手动配置绿色版ROR

windows下完全手动配置绿色版ROR

浏览:2344次  出处信息

ruby是前一阵子比较火的动态语言之一,很是灵活ROR则是基于ruby语言的开发框架。本文讲述如何windows里面自己手动配置安装绿色的ROR环境。
ruby
http://www.ruby-lang.org
http://www.ruby-lang.org/en/downloads/
下载http://ftp.ruby-lang.org/pub/ruby/binaries/mswin32/
Gems
http://gems.rubyforge.org/
ruby一键安装包
http://rubyinstaller.rubyforge.org
Lighttp的windows版
http://wlmp.dtech.hu/?lang=en
安装ruby
下载RUBY包,解压到D:\RUBY


环境变量
RUBY_HOME=D:\ruby
PATH=%RUBY_HOME%\bin
用于加载Gems的环境变量(必须在安装完GEMS的前提下设置此变量)
RUBYOPT=rubygems
PATHEXT增加.RB;.RBW


把以下文件放到bin目录下
ssleay32.dll
zlib.dll
libeay32.dll
readline.dll



安装RubyGems
检查是否存在环境变量RUBYOPT,如存在,则在该变量前加上--,安装好以后去掉--。否则,可能出现错误,参见相关说明。
RUBYOPT=rubygems这个环境变量是Ruby语言运行系统命令ruby所规定的,但是其值是另外一个重要软件RubyGems所需要的.一旦设置好了它之后,ruby命令启动时就会自动带上rubygems的开关,此时,你可以在Ruby语言程序中使用通过gem安装过的软件包.
http://gems.rubyforge.org/下载压缩包,包括rubygems-update.gem升级文件和一个压缩包,解压压缩包,在DOS下进入解压的目录输入:
ruby setup.rb
安装结束


升级已经安装的gem:
因为ruby1.86默认安装的gem是0.94版的,现在最新的1.01已经出来了
然后DOS下进入.gem所在的目录输入
gem install -l rubygems-update.gem
升级完毕


把以下文件放到RUBY的bin目录下
iconv.dll(一个多字符集支持文件http://wiki.rubyonrails.com/rails/pages/iconv


说一下安装一个gem包
gem install -l xxx.gem
在本地安装一个gem包,必须在GEM包所在的目录下执行此命令


gem常用命令
gem list 把所有的已经安装的gem包列出来



RAILS安装
从rubyforge.org上把acivesupport,activerecord,actionpack,actionmailer,actionwebservice,rails下载,包括zip包和对应的.gem文件. 然后,cd到下载目录(不需要对压缩包解压),运行 gem install rails -l --include-dependencies 变可(后边的--include-dependencies为自动安装依赖包)
也可手动安装,安装方法如下:
在控制台依次运行
gem install activesupport-1.4.2.gem
gem install activerecord-1.15.3.gem
gem install actionpack-1.13.3.gem
gem install actionmailer-1.3.3.gem
gem install actionwebservice-1.2.3.gem
gem install rails-1.2.3.gem
最后全部提示安装完成后键入命令rails -v,看到Rails 1.2.3安装成功


在cmd中运行"rails <path>/项目名称"创建一个新项目
运行 ruby <path>/项目名称/script/server 启动服务


如"rails d:/my"则可在D:\下看到新建的项目my


c:\>rails test
c:\>cd test
c:\test>ruby script/server


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


sqlite的安装
因为rails2.02默认数据库转向sqlite,所以还要安装sqlite支持:sqlite3-ruby-1.2.1-mswin32.gem 还要将sqlite3的两个文件:sqlite3.exe和sqlite3.dll放到ruby的/bin下


mongrel安装
下载需要的gem安装包
mongrel http://rubyforge.org/projects/mongrel/
gem_plugin http://rubyforge.org/projects/mongrel/
mongrel_service http://rubyforge.org/projects/mongrel/
cgi_multipart_eof_fix http://rubyforge.org/projects/mongrel/
win32-service http://rubyforge.org/projects/win32utils/


mongrel需要依赖gem_plugin和win32-service


请注意安装顺序
gem install -l gem_plugin-0.2.3.gem
gem install -l cgi_multipart_eof_fix-2.5.0.gem
gem install -l win32-service-0.5.2-mswin32.gem


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


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



启动服务
进入rails应用目录
cd E:\ruby\demo
启动mongrel
E:\ruby\demo>mongrel_rails start
** Starting Mongrel listening at 0.0.0.0:3000
** Starting Rails with development environment ...
** Rails loaded.
** Loading any Rails specific GemPlugins
** Signals ready.  INT => stop (no restart).
** Mongrel available at 0.0.0.0:3000
** Use CTRL-C to stop.


如果要把mongrel安装成win32的服务还需要mongrel_service


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
-N指明服务名称,-d指明rails应用的目录,-p是mongrel监听的tcp端口,-e是启动模式为生产模式


如果需要安装多个mongrel实例,那么可以这样:
mongrel_rails service::install -N ent0 -c d:\ruby\mywork\ent -p 3000 -e production
mongrel_rails service::install -N ent1 -c d:\ruby\mywork\ent -p 3001 -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


另在安装mongrel_service时需要安装win32-service这个gem,但现在官方网站上只有0.60,这个版本装上后,运行mongrel_rails start就出错,只有换成0.52版才可以,看来只有等mongrel或者win32-service升级才能解决问题了


配置APACHE
可以用Apache的Proxy功能,来把向本机80的请求转发到3000端口,实现Rails的发布。
配置如下在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
最后加入:
ProxyRequests Off  
<Proxy *>  
Order deny,allow  
Allow from all  
</Proxy>  
  
#for demo app  
Alias /demo "d:/rubyproject/demo/public"  
<Directory "d:/rubyproject/demo/public">  
Options Indexes FollowSymLinks  
AllowOverride none  
Order allow,deny  
Allow from all  
</Directory>  
ProxyPass /demo/images !  
ProxyPass /demo/stylesheets !  
ProxyPass /demo/javascripts !  
ProxyPass /demo/ http://127.0.0.1:4000/  
ProxyPassReverse /demo/ http://127.0.0.1:4000/

建议继续学习:

  1. 配置Nginx+uwsgi更方便地部署python应用    (阅读:105403)
  2. 每个程序员都应该学习使用Python或Ruby    (阅读:16272)
  3. 我的PHP,Python和Ruby之路    (阅读:11844)
  4. Linux 下 PHP 5.2.x 连接 SQL Server 数据库 FreeTDS 配置笔记    (阅读:10102)
  5. nginx的配置文件    (阅读:8823)
  6. Emacs安装配置    (阅读:7306)
  7. 如何查看Linux 硬件配置信息    (阅读:5864)
  8. Centos yum 安装nginx+PHP-FPM+eAccelerator+mysql    (阅读:5613)
  9. Ruby 和 Python    (阅读:5678)
  10. 为什么我们要从 NodeJS 迁移到 Ruby on Rails    (阅读:5457)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1