`

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

阅读更多

1.安装rvm

Ruby代码  收藏代码
  1. mkdir -p ~/.rvm/src/ && cd ~/.rvm/src && rm -rf ./rvm/   
  2. git clone git://github.com/wayneeseguin/rvm.git   
  3. cd rvm && ./install   

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

Shell代码  收藏代码
  1. [[ -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设为默认

Ruby代码  收藏代码
  1. $ rvm --default use 1.9.2   #设置1.9.2为默认版本  
  2.   
  3. $ rvm default      #通过default可以快速回到默认版本  
  4. $ rvm list default     #查看当前版本设置信息  
  5. $ rvm reset     #恢复系统默认设置    

 

 

6.安装rails

6.1.安装rails2

Ruby代码  收藏代码
  1. $ rvm ree-1.8.7-2011.03  
  2. $ rvm gemset create rails2  
  3. $ rvm genset use rails2  
  4. $ gem install --no-ri --no-rdoc rails -v=2.3.12  

 6.2.安装rails3

Ruby代码  收藏代码
  1. $ rvm ruby-1.9.2-p180  
  2. $ rvm gemset create 'rails3'  
  3. $ rvm gemset use rails3  
  4. $ gem install rails  
  5. Successfully installed activesupport-3.0.9  
  6. Successfully installed builder-2.1.2  
  7. Successfully installed i18n-0.5.0  
  8. Successfully installed activemodel-3.0.9  
  9. Successfully installed rack-1.2.3  
  10. Successfully installed rack-test-0.5.7  
  11. Successfully installed rack-mount-0.6.14  
  12. Successfully installed tzinfo-0.3.28  
  13. Successfully installed abstract-1.0.0  
  14. Successfully installed erubis-2.6.6  
  15. Successfully installed actionpack-3.0.9  
  16. Successfully installed arel-2.0.10  
  17. Successfully installed activerecord-3.0.9  
  18. Successfully installed activeresource-3.0.9  
  19. Successfully installed mime-types-1.16  
  20. Successfully installed polyglot-0.3.1  
  21. Successfully installed treetop-1.4.9  
  22. Successfully installed mail-2.2.19  
  23. Successfully installed actionmailer-3.0.9  
  24. Successfully installed thor-0.14.6  
  25. Successfully installed rdoc-3.6.1  
  26. Successfully installed railties-3.0.9  
  27. Successfully installed bundler-1.0.15  
  28. Successfully installed rails-3.0.9  
  29. 24 gems installed  

 

7.创建别名

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

 

9.使用gemset

Ruby代码  收藏代码
  1. $ rvm use ree@rails2  
  2. $ rvm use ruby192@rails3 --default   #设置默认  

 

10.安装passenger

Ruby代码  收藏代码
  1. $ gem install passenger  
  2. $ rvm wrapper 1.9.2 passenger  
  3. $ passenger-install-nginx-module  
  4. # Passenger will help you install nginx, the folder is in /opt/nginx  
  5. Downloading Nginx...  
  6. # wget -O /tmp/root-passenger-12180/nginx.tar.gz http://sysoev.ru/nginx/nginx-1.0.0.tar.gz  
  7. --------------------------------------------  
  8.   
  9. Nginx with Passenger support was successfully installed.  
  10.   
  11. The Nginx configuration file (/opt/nginx/conf/nginx.conf)  
  12. must contain the correct configuration options in order for Phusion Passenger  
  13. to function correctly.  
  14.   
  15. This installer has already modified the configuration file for you! The  
  16. following configuration snippet was inserted:  
  17.   
  18.   http {  
  19.       ...  
  20.       passenger_root /usr/local/rvm/gems/ruby-1.9.2-p180@rails3/gems/passenger-3.0.7;  
  21.       passenger_ruby /usr/local/rvm/wrappers/ruby-1.9.2-p180@rails3/ruby;  
  22.       ...  
  23.   }  
  24.   
  25. After you start Nginx, you are ready to deploy any number of Ruby on Rails  
  26. applications on Nginx.  
  27.   
  28. Press ENTER to continue.  
  29.   
  30. --------------------------------------------  
  31.   
  32. Deploying a Ruby on Rails application: an example  
  33.   
  34. Suppose you have a Ruby on Rails application in /somewhere. Add a server block  
  35. to your Nginx configuration file, set its root to /somewhere/public, and set  
  36. 'passenger_enabled on', like this:  
  37.   
  38.    server {  
  39.       listen 80;  
  40.       server_name www.yourhost.com;  
  41.       root /somewhere/public;   # <--- be sure to point to 'public'!  
  42.       passenger_enabled on;  
  43.    }    

 

11.设置IP和App

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

Ruby代码  收藏代码
  1. ifconfig eth1:0 192.168.56.101 netmask 255.255.255.0 up  
  2. ifconfig eth1:1 192.168.56.102 netmask 255.255.255.0 up  

 

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)

Ruby代码  收藏代码
  1. Downloading Nginx...  
  2. # wget -O /tmp/root-passenger-standalone-3917/nginx-1.0.0.tar.gz http://nginx.org/download/nginx-1.0.0.tar.gz  
  3. --15:40:02--  http://nginx.org/download/nginx-1.0.0.tar.gz  
  4. Resolving nginx.org... 81.19.68.137  
  5. Connecting to nginx.org|81.19.68.137|:80... connected.  
  6. HTTP request sent, awaiting response... 200 OK  
  7. Length: 654760 (639K) [application/octet-stream]  
  8. Saving to: `/tmp/root-passenger-standalone-3917/nginx-1.0.0.tar.gz'  
  9.   
  10. 100%[=======================================>] 654,760     56.7K/s   in 19s      
  11.   
  12. 15:40:21 (34.2 KB/s) - `/tmp/root-passenger-standalone-3917/nginx-1.0.0.tar.gz' saved [654760/654760]  
  13.   
  14. Installing Phusion Passenger Standalone...  
  15. [*********************************************] Copying files...                 
  16. All done!  
  17.   
  18. =============== Phusion Passenger Standalone web server started ===============  
  19. PID file: /opt/rails_apps/demo3/tmp/pids/passenger.3001.pid  
  20. Log file: /opt/rails_apps/demo3/log/passenger.3001.log  
  21. Environment: development  
  22. Accessible via: http://127.0.0.1:3001/  
  23.   
  24. Serving in the background as a daemon.  
  25. ===============================================================================  

 

 

12.配置nginx

Ruby代码  收藏代码
  1. http{  
  2.     ...  
  3.     passenger_root /usr/local/rvm/gems/ruby-1.9.2-p180@rails3/gems/passenger-3.0.7;  
  4.     passenger_ruby /usr/local/rvm/wrappers/ruby-1.9.2-p180@rails3/ruby;   
  5.    
  6.     server {  
  7.         listen 80;  
  8.         server_name 192.168.56.101;   
  9.         root /opt/rails_apps/demo2/public;  
  10.         passenger_enabled on;  
  11.         rails_env development;  
  12.     }  
  13.       
  14.     server {  
  15.         listen 80;  
  16.         server_name 192.168.56.102;  
  17.         root /opt/rails_apps/demo3/public;  
  18.         location / {  
  19.           proxy_pass http://127.0.0.1:3001;  
  20.           proxy_set_header Host $host;  
  21.         }  
  22.     }  
  23. }  

 

启动:/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中添加:

Ruby代码  收藏代码
  1. 192.168.56.101 demo2  
  2. 192.168.56.102 demo3  

 

4
1
分享到:
评论
2 楼 shuaigelingfei 2013-04-26  
telephone999 写道

1 楼 telephone999 2013-04-25  

相关推荐

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

    总之,通过RVM和Passenger,你可以轻松地在Red Hat Enterprise Linux环境中管理多个Ruby版本,并针对每个Rails应用选择合适的Ruby版本进行部署。这不仅提高了灵活性,还能帮助你在维护多个项目时保持系统的稳定性和...

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

    通过以上步骤,可以完成 Ruby on Rails 开发环境的基本搭建,并且能够使用 Passenger+Nginx 进行高效部署。对于初学者而言,这一系列的操作可能会有些复杂,但随着实践的增多,这些步骤会变得越来越熟悉。同时,在...

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

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

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

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

    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的步骤,以及在这...

    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/)来获取必要的依赖包。 首先,让我们...

    ruby-enterprise-1.8.6-20090201

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

    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功能**: -...

    Redmine 搭建 Ruby_Ruby_on_Rails 项目管理系统

    - **Passenger**:版本为 3.0.11,作为 Web 服务器的插件,可以更高效地部署 Rails 应用。 - **OpenSSL**:版本为 0.9.8k,用于加密功能。 - **cURL**:版本为 7.23.1,用于网络请求。 3. **gem 文件获取**:...

    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应用程序服务器: ...

    Ruby-極光Rails5專屬伺服器安裝包

    本安装包“Ruby-極光Rails5專屬伺服器安裝包”就是专为快速部署Rails 5应用程序而设计的,它包含了Nginx 1.10、Passenger 5和Ruby 2.3.1这三个关键组件。 1. **Ruby 2.3.1**: Ruby是一种面向对象的、动态类型的编程...

    passenger-ruby-heroku-demo:演示与Phusion Passenger在Heroku上运行Ruby应用程序

    与Phusion Passenger在Heroku上运行Ruby应用 是一款应用服务器,旨在实现快速,强大和轻巧。 通过将Heroku与Phusion Passenger结合使用,可以提高应用程序的性能,更有效地利用dynos上的可用资源,并提高其稳定性。 ...

Global site tag (gtag.js) - Google Analytics