引自:http://www.zhihu.com/question/20062163

Bundle是Gem包的依赖管理工具,RubyGem本身有依赖管理为何还要Bundle呢?有时候两个gem虽然都依赖于同一个gem,但是却是依赖不同的版本,这时候bundle就能帮助进行依赖计算。并且在部署的时候,能将不同app所需的一系列gem打包起来分开管理,就不至于污染整个系统的gems源。开发人员在Gemfile中指定所需的gem和版本等信息,然后bundle会计算出所有依赖的gem,并安装

Rails的接受请求的模型是一个进程处理一个请求。单个进程效率比较低,所以为了处理比较高的并发,会开启多个进程

nginx是一个高性能的web服务器,本身和ruby没有关系,由于nginx处理链接和静态文件的性能非常好,所以一般在Rails之前放上nginx接受客户端请求,并分发给后端的Rails进程。

Passenger是一个Rails应用服务的管理工具,可以统一管理Rails进程的数量、生命周期、请求队列等等。

nginx启动的时候会启动Passenger,passenger根据配置引导rails应用,rails启动的时候会调用bundle加载rails应用所需的gems

 

Rails、Nginx、Passenger、bundle之间的协作关系的更多相关文章

  1. rails 部署 nginx + passenger

    转自 http://segmentfault.com/a/1190000002911605 https://ruby-china.org/topics/16245 运行 RAILS_ENV=produ ...

  2. nginx中error_page没有生效(nginx+passenger+rails)

    应用部署方式为 nginx + passenger + rails 当我想要用nginx来默认处理400以上状态时,发现在rails返回respose之后,nginx不会再次执行error_page( ...

  3. 【转】窗口之间的主从关系与Z-Order

    原文链接:http://www.cnblogs.com/dhatbj/p/3288152.html 说明:这是本人2008年写的一篇旧文,从未公开发表过.其中除了一小段描述Window Mobile平 ...

  4. 窗口之间的主从关系与Z-Order

    说明:这是本人2008年写的一篇旧文,从未公开发表过.其中除了一小段描述Window Mobile平台的内容已过时,大部分内容对于从事Win32开发的程序员还是很有参考价值的,也是对自己从事Windo ...

  5. 实现如下类之间的继承关系,并编写Music类来测试这些类。

    实现如下类之间的继承关系,并编写Music类来测试这些类. package com.hanqi.test; public class Instrument { //输出弹奏乐器 public void ...

  6. [转载]窗口之间的主从关系与Z-Order

    窗口之间的主从关系与Z-Order 原文地址:http://www.cnblogs.com/dhatbj/p/3288152.html说明:这是本人2008年写的一篇旧文,从未公开发表过.其中除了一小 ...

  7. [转载]提高rails new时bundle install运行速度

    最近在新建rails项目时,rails new老是卡在bundle install那里,少则五分钟,多则几十分.这是因为rails new时自动会运行bundle install,而bundle in ...

  8. Linux:两台服务器之间添加信任关系,进行远程操作的时候不需要输入密码

    两台机器之间建立信任关系的步骤: 1. 在机器1上root用户执行ssh-keygen命令,生成建立安全信任关系的证书,直接Enter [root@CentOS64-x64 ~]# ssh-keyge ...

  9. 数据挖掘(data mining),机器学习(machine learning),和人工智能(AI)的区别是什么? 数据科学(data science)和商业分析(business analytics)之间有什么关系?

    本来我以为不需要解释这个问题的,到底数据挖掘(data mining),机器学习(machine learning),和人工智能(AI)有什么区别,但是前几天因为有个学弟问我,我想了想发现我竟然也回答 ...

随机推荐

  1. JavaWeb基础

    1.Servlet: Servlet是JavaWeb的3大组件之一,是把url请求转为后台处理的具体类,此类必须实现Servlet接口,一把实际使用时无须我们实现,我们直接使用JavaEE的HTTPS ...

  2. 在Windows下使用adb logcat grep

    在Windows下使用adb logcat  grep 会提示 因为grep 为Linux命令,所以不能使用.怎么办呢? 这时候可以用到babun 下载地址:http://babun.github.i ...

  3. Angular表单的本地校验和远程校验

    AngularJS Form 进阶:远程校验和自定义输入项 表单远程校验 HTML代码: <!doctype html> <html ng-app="form-exampl ...

  4. js 读取json数据 挖坑

    一般遇到后台给的json数据格式不对 比如key和value都是单引号. 但真正的json 的key和value都是双引号,必须双引号才能取值. 再来一个例子看看 var test = [{ &quo ...

  5. Mac 系统安装redis服务

    1.首先去http://www.redis.io/下载最新的redis文件,现在最新的是redis-2.8.19 2.进行解压缩 tar -zxvf redis-2.8.19.tar.gz 3.移动重 ...

  6. 【暂时解决】win10下安装VS2017 15.3版本 提示 未能安装包“Microsoft.NET.4.6.FullRedist.NonThreshold.Resources,version=4.6.81.9,language=zh-CN”。

    win10下安装VS2017 15.3版本的时候,出现以上错误日志提示,请问如何解决的哇? 这个问题,开始我以为是我的安装包所在的路径问题引起的,但是我将安装包移动到了磁盘根目录进行安装,依然出现这个 ...

  7. python中join函数用法

    str.join(list/tuple/dict/string) str = "-"; seq = ("a", "b", "c&q ...

  8. Busybox shell脚本修改密码

    /****************************************************************************** * Busybox shell脚本修改密 ...

  9. 数据清洗记录,pandas

    pandas数据清洗:http://www.it165.net/pro/html/201405/14269.html data=pd.Series([1,2,3,4]) data.replace([1 ...

  10. Phone numbers

    Phone number in Berland is a sequence of n digits. Often, to make it easier to memorize the number, ...