Red Hat Enterprise Linux 环境passenger多ruby版本共存部署

1.安装rvm

mkdir -p ~/.rvm/src/ && cd ~/.rvm/src && rm -rf ./rvm/ 
git clone git://github.com/wayneeseguin/rvm.git 
cd rvm && ./install 

 2.修改用户配置文件.bashrc,添加一行代码:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"

 3.重启Terminal.

查询当前版本: rvm info

列出版本: rvm list

更多命令,访问 http://rvm.beginrescueend.com/rvm/

 

4.安装 ruby

4.1.安装REE

rvm install ree

4.2.安装 ruby- 1.9 . 2

rvm install ruby-1.9.2-p180

小技巧:用工具下载好ruby-enterprise-1.8.7-2011.03.tar.gz,ruby-1.9.2-p180.tar.bz2,yaml-0.1.3.tar.gz,然后手工放到~/.rvm/archives 目录下,再运行安装 命令,可以直接解压安装。

 

5.将某一个版本的ruby设为默认

$ rvm --default use 1.9.2   #设置1.9.2为默认版本

$ rvm default      #通过default可以快速回到默认版本
$ rvm list default     #查看当前版本设置信息
$ rvm reset     #恢复系统默认设置  
 

 

6.安装rails

6.1.安装rails2

$ rvm ree-1.8.7-2011.03
$ rvm gemset create rails2
$ rvm genset use rails2
$ gem install --no-ri --no-rdoc rails -v=2.3.12

 6.2.安装rails3

$ rvm ruby-1.9.2-p180
$ rvm gemset create 'rails3'
$ rvm gemset use rails3
$ gem install rails
Successfully installed activesupport-3.0.9
Successfully installed builder-2.1.2
Successfully installed i18n-0.5.0
Successfully installed activemodel-3.0.9
Successfully installed rack-1.2.3
Successfully installed rack-test-0.5.7
Successfully installed rack-mount-0.6.14
Successfully installed tzinfo-0.3.28
Successfully installed abstract-1.0.0
Successfully installed erubis-2.6.6
Successfully installed actionpack-3.0.9
Successfully installed arel-2.0.10
Successfully installed activerecord-3.0.9
Successfully installed activeresource-3.0.9
Successfully installed mime-types-1.16
Successfully installed polyglot-0.3.1
Successfully installed treetop-1.4.9
Successfully installed mail-2.2.19
Successfully installed actionmailer-3.0.9
Successfully installed thor-0.14.6
Successfully installed rdoc-3.6.1
Successfully installed railties-3.0.9
Successfully installed bundler-1.0.15
Successfully installed rails-3.0.9
24 gems installed
 

7.创建别名

$ rvm alias create ree ree-1.8.7-2011.03 #为ree-187的Ruby版本创建一个别名叫:ree
$ rvm alias create ruby192 ruby-1.9.2-p180
$ rvm use ree #通过别名迅速切换
$ rvm delete ree #删除别名 
$ rvm alias list # 查看所有的别名 

 

9.使用gemset

$ rvm use ree@rails2
$ rvm use ruby192@rails3 --default   #设置默认

 

10.安装passenger

$ gem install passenger
$ rvm wrapper 1.9.2 passenger
$ passenger-install-nginx-module
# Passenger will help you install nginx, the folder is in /opt/nginx
Downloading Nginx...
# wget -O /tmp/root-passenger-12180/nginx.tar.gz http://sysoev.ru/nginx/nginx-1.0.0.tar.gz
--------------------------------------------

Nginx with Passenger support was successfully installed.

The Nginx configuration file (/opt/nginx/conf/nginx.conf)
must contain the correct configuration options in order for Phusion Passenger
to function correctly.

This installer has already modified the configuration file for you! The
following configuration snippet was inserted:

  http {
      ...
      passenger_root /usr/local/rvm/gems/ruby-1.9.2-p180@rails3/gems/passenger-3.0.7;
      passenger_ruby /usr/local/rvm/wrappers/ruby-1.9.2-p180@rails3/ruby;
      ...
  }

After you start Nginx, you are ready to deploy any number of Ruby on Rails
applications on Nginx.

Press ENTER to continue.

--------------------------------------------

Deploying a Ruby on Rails application: an example

Suppose you have a Ruby on Rails application in /somewhere. Add a server block
to your Nginx configuration file, set its root to /somewhere/public, and set
'passenger_enabled on', like this:

   server {
      listen 80;
      server_name www.yourhost.com;
      root /somewhere/public;   # <--- be sure to point to 'public'!
      passenger_enabled on;
   }  

 

11.设置IP和App

11.1.单个网卡eth1配置多个ip地址

ifconfig eth1:0 192.168.56.101 netmask 255.255.255.0 up
ifconfig eth1:1 192.168.56.102 netmask 255.255.255.0 up

http://wuhuizhong.iteye.com/blog/780604

 

11.1.设置demo2(ree@rails2)
cd /opt/rails_apps/
rails demo2
cd demo2

11.2.设置demo3(ruby192@rails3)
cd /opt/rails_apps/
rails new demo3
cd rails3
passenger start -a 127.0.0.1 -p 3001 -d

(此命令执行俩次,详细信息见passenger.zip)

Downloading Nginx...
# wget -O /tmp/root-passenger-standalone-3917/nginx-1.0.0.tar.gz http://nginx.org/download/nginx-1.0.0.tar.gz
--15:40:02--  http://nginx.org/download/nginx-1.0.0.tar.gz
Resolving nginx.org... 81.19.68.137
Connecting to nginx.org|81.19.68.137|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 654760 (639K) [application/octet-stream]
Saving to: `/tmp/root-passenger-standalone-3917/nginx-1.0.0.tar.gz'

100%[=======================================>] 654,760     56.7K/s   in 19s    

15:40:21 (34.2 KB/s) - `/tmp/root-passenger-standalone-3917/nginx-1.0.0.tar.gz' saved [654760/654760]

Installing Phusion Passenger Standalone...
[*********************************************] Copying files...               
All done!

=============== Phusion Passenger Standalone web server started ===============
PID file: /opt/rails_apps/demo3/tmp/pids/passenger.3001.pid
Log file: /opt/rails_apps/demo3/log/passenger.3001.log
Environment: development
Accessible via: http://127.0.0.1:3001/

Serving in the background as a daemon.
===============================================================================
 

 

12.配置nginx

http{
	...
    passenger_root /usr/local/rvm/gems/ruby-1.9.2-p180@rails3/gems/passenger-3.0.7;
    passenger_ruby /usr/local/rvm/wrappers/ruby-1.9.2-p180@rails3/ruby;	
 
    server {
        listen 80;
        server_name 192.168.56.101; 
        root /opt/rails_apps/demo2/public;
        passenger_enabled on;
        rails_env development;
    }
	
    server {
        listen 80;
        server_name 192.168.56.102;
        root /opt/rails_apps/demo3/public;
        location / {
          proxy_pass http://127.0.0.1:3001;
          proxy_set_header Host $host;
        }
    }
}
 

启动:/opt/nginx/sbin/nginx

停止:/opt/nginx/sbin/nginx -s stop

访问:

rails2:http://192.168.56.101/

rails3:http://192.168.56.102/

 

13.直接通过项目名称访问,在/etc/hosts中添加:

192.168.56.101 demo2
192.168.56.102 demo3

 

 

 

 

 

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

参考:

 

RVM中文使用指南

http://lanvige.iteye.com/blog/857501

 

http://blog.phusion.nl/2010/09/21/phusion-passenger-running-multiple-ruby-versions/

 

nginx开机自动启动脚本

http://yangzhiping.com/tech/ubuntu-ree-nginx-passenger-rails3.blog.html

# /etc/init.d/nginx stop

# /etc/init.d/nginx start

 

服务器部署之 ruby1.9.2+rails3+nginx+passenger+postgresql
http://thoughtrails.com/episodes/4-deployment-of-production-enviroment-ruby-1-9-2-rails-3-nginx-passenger-and-postgresql-with-rvm

 

在RHEL上安裝設置ROR(nginx+passenger+ruby+rails+oracle+netzke)

http://wuhuizhong.iteye.com/blog/870331

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值