`
wuhuizhong
  • 浏览: 682743 次
  • 性别: Icon_minigender_1
  • 来自: 中山
社区版块
存档分类
最新评论

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

    博客分类:
  • ROR
阅读更多

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

 

分享到:
评论

相关推荐

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

    在RHEL(Red Hat Enterprise Linux)系统上搭建Ruby on Rails(简称RoR)应用程序环境是一项技术性较强的任务,尤其当涉及到与其他服务如Nginx、Phusion Passenger、Ruby、Rails以及Oracle数据库集成时。以下是对这...

    ruby on rails环境搭建学习笔记;passenger+nginx环境配置

    ### Ruby on Rails 环境搭建与 Passenger+Nginx 配置详解 #### 一、Ruby on Rails 开发环境搭建 在进行 Ruby on Rails 的开发之前,首先需要完成一系列的基础软件安装工作,包括但不限于 Ruby 语言环境、Rails ...

    passenger-ruby-websocket-demo, 在Phusion上,web sockets演示.zip

    passenger-ruby-websocket-demo, 在Phusion上,web sockets演示 Phusion乘客的web sockets这个应用程序演示了 Phusion Passenger中的web socket支持。 乘客支持所有主流的现代网络技术,如网格网,完全脱离了盒子。 ...

    ruby-enterprise-1.8.6-20090201

    4. **Enterprise Features(企业级特性)**:REE还包含了一些额外的库和工具,如 Passenger(又名Mod_Ruby,一个流行的Ruby on Rails部署解决方案),这些工具和库旨在简化服务器部署和管理,提高生产环境的稳定性。...

    Redmine 搭建 Ruby_Ruby_on_Rails 项目管理系统

    1. **操作系统环境**:Redmine 可以在多种 Linux 发行版上运行,例如 Red Hat Enterprise Linux AS release 4 (Nahant Update 3) 64-bit 版本。此外,本文档提到的方法同样适用于 Ubuntu、Fedora、CentOS 和 Red Hat...

    rvm nginx passenger rails配置服务器.docx

    这里的路径可能会因你的环境而异,确保路径指向正确的Ruby版本和Passenger安装位置。 ### 设置Rails项目和环境变量 在Nginx的`http`块或者`server`块中,配置Rails应用的相关设置。如`server_name`定义你的域名,`...

    自己整理的Linux下Redmine安装过程

    在Linux环境下安装Redmine是一个涉及到多个步骤和技术组件的过程。Redmine是一个开源的项目管理工具,基于Ruby on Rails框架构建,适用于多种操作系统,包括Linux。以下将详细阐述安装Redmine1.1.3的步骤,以及在这...

    Centos 6.x redmine安装过程全记录

    CentOS是基于Red Hat Enterprise Linux构建的一个社区驱动的企业级操作系统,适用于服务器环境。 2. 软件版本依赖:在安装Redmine之前,需要确保系统上安装了MySQL数据库、Ruby语言、Rails框架以及Apache Web服务器...

    Linux系统平台上安装和配置Ruby on Rails

    在Linux系统上安装和配置Ruby on Rails是一个...不过,生产环境中通常会使用更强大的Web服务器如Nginx或Apache,并结合 Passenger 或 Puma 进行部署,以提供更高的性能和稳定性。记得根据实际需求调整配置和优化性能。

    passenger-3.0.9本地安装包

    在本文中,我们将深入探讨如何在CentOS 5.4操作系统上通过Ruby Gem安装Passenger 3.0.9版本。为了确保顺利完成安装,我们需要访问官方的RubyGem库(http://rubygems.org/gems/)来获取必要的依赖包。 首先,让我们...

    passenger, 一种用于 ruby python 和 node.js的快速健壮的web服务器和.zip

    passenger, 一种用于 ruby python 和 node.js的快速健壮的web服务器和 :快速而健壮的web服务器和应用服务器,用于 ruby,python 和 Node.js部署web应用程序需要大量复杂性,增加了生产中有用的强大的企业级特性。...

    ruby windows

    - 在Windows上,不像Unix/Linux有RVM(Ruby Version Manager)或rbenv,但可以通过RubyInstaller-DevKit来管理多个Ruby版本。不过,对于初学者,通常建议只安装一个稳定版本的Ruby。 3. **Ruby DevKit**: - ...

    linux-在Ubuntu服务器上安装Rails生产环境的脚本

    在Ubuntu服务器上搭建Rails生产环境是一项关键的任务,它涉及到多个步骤和组件的配置。Rails是Ruby的一个框架,用于构建Web应用程序。在这个过程中,我们将主要关注以下几个核心知识点: 1. **Ruby 安装**:首先,...

    redmine-2.6.7 For Linux版本

    这个“redmine-2.6.7 For Linux版本”安装包是专为Linux系统设计的,旨在帮助用户在Linux环境中部署和管理项目。下面将详细介绍Redmine的功能、安装过程以及在Linux环境下的一些注意事项。 1. **Redmine功能**: -...

    Ruby-Mina快速部署和服务器的自动化工具

    Ruby-Mina是一款强大的服务器自动化和应用部署工具,尤其在Ruby开发环境中被广泛使用。它基于Rake,一个类似于Make的脚本语言,用于构建复杂的任务集合。Mina以其高效、轻量级和易于理解的特性,深受开发者喜爱,...

    passenger-3.0.11.tar.gz

    Passenger(也称为ModRails或Phusion Passenger)是一款强大的、易于使用的Web服务器和应用程序服务器,主要用于部署Ruby on Rails应用,但同时也支持其他语言如Node.js和Python。在本压缩包"passenger-3.0.11.tar....

    ubuntu-16-nginx-passenger-ruby-2.3

    ubuntu-16-nginx-passenger-ruby-2.3 一个Docker映像,用作在Phusion Passenger和nginx下运行的基于Ruby 2.3的Web应用程序的基础。 打算在OpenShift下进行最终部署。 Phusion Passenger是一个Web应用程序服务器: ...

Global site tag (gtag.js) - Google Analytics