Passenger简介

https://www.phusionpassenger.com/docs/tutorials/what_is_passenger/


What is Passenger?

一个开源的web程序服务。它除了HTTP请求,管理进程和资源,能够administration, monitoring,并进行问题诊断。

容易使用,让产品的部署变得容易和scalable(

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Arial; color: #3d3d3d }
span.s1 { }

if a piece of computer hardwareor software is scalable, it continues to work well even if it is made bigger or connected to a larger number of other pieces of equipment

)即使程序逐步变大仍然运行良好。

它支持多种编程语言,Ruby, Python, Node。

它也能同时服务多个程序。

https://www.phusionpassenger.com/advantages   (图文简介,很有趣,把自己比做航天器,功能强大,让passengers轻松使用)

Fundamental concepts

关于Ruby的。

Passenger and "rails server"

ROR框架提供一个内建的服务器工具, 让可以使用rails server命令。但"rails server"本身不是一个服务器程序,而是一个小的wrapper,在一个应付程序服务内,发射你的app。

这就是人们不使用"rails server"在production的原因。他们使用一个应用程序服务an application server,比如Passenger,直接地。

"rails server" uses Puma by default as of Rails 5.

如果你增加Passenger到你的Gemfile(点击看step by step), “rails server”会发射Passenger替代Puma。当然也可以直接选择launch Passenger 。

How Passenger fits in the stack

当不是web app到production, 有各种类型的组件be involved(参与)

你可能听说过Unicorn, Puma, Nginx, Apache and Capistrano.

Passenger当和其他组件合作时,会取代一些组件。Passenger replaces some components, while collaborating with other components.

In a typical production stack, one would use Nginx or Apache as the web server, Passenger as application server, and Capistrano as release automation tool. Passenger integrates with Nginx or Apache and manages the application and its resources.

在一个典型的产品堆,一个将使用Nginx/Apache作为web服务器, Passenger作为app服务器,Capistrano作为版本释放的自动化工具。Passenger集成了Nginx/Apache并管理app和它的resources.

需要联合使用Nginx or Apache的原因:(2个)

web servers. 提供HTTP transaction 处理和服务静态的文件。

1.但是,它们不是Ruby app 服务器,不能直接的跑Ruby app.

所以需要联合一个app 服务器,例如Passenger.

Application servers make it possible for Ruby apps to speak HTTP.

app服务器可以让Ruby apps来说HTTP。Ruby apps(如Rails)它们自身做不到这点。

2.另一方面,app server明显不能像Nginx/Apache那样高效的处理HTTP请求。

魔鬼在细节里:

Nginx/Apache更善于处理I/O安全, HTTP并发管理, 超时连接等等!!!

因此,在产品环境内,程序服务器app server和Nginx/Apache联合起来被使用。

Capistrano

一个应用程序 release automation tool! (释放版本的自动化工具)。

当释放一个你的web application的新版本时,会有actions需要被执行performed, 如uploading你的程序代码到服务器, 运行一条命令来安装你的gem bundle,重启进程等等。Capistrano会自动化这些actions.

Capistrano不能取代一个server来提供HTTP transaction handling, 所以它联合app servers和web servers。

Unicorn and Puma

可选的app servers。被Passenger代替了。

因为,Passenger让使用更方便,和其他组件集成,自动管理和问题诊断diagnosis.

原文地址:https://www.cnblogs.com/chentianwei/p/9886020.html

时间: 2024-10-10 16:35:03

Passenger简介的相关文章

rails 部署 nginx + passenger

转自 http://segmentfault.com/a/1190000002911605 使用passenger在Centos7部署nginx+Ruby on Rails gameFu 372 6月16日 发布 1 推荐 4 收藏,929 浏览 passenger passenger是一个能快速搭建web环境的工具,它能快速的将nginx和passenger部署到你的服务器中,是部署ruby环境就如同php环境那样简单快速,让人愉悦.下面我将使用这个工具将一个几乎空白的web服务器打造成一个高

Android网络通讯简介

网络通信应该包含三部分的内容:发送方.接收方.协议栈.发送方和接收方是参与通信的主体,协议栈是发送方和接收方进行通信的契约.按照服务类型,网络通信可分为面向连接和无连接的方式.面向连接是在通信前建立通信链路,而通信结束后释放该链路.无连接的方式则不需要在通信前建立通信连接,这种方式不保证传输的质量. Android提供了多种网络通信的方式,如Java中提供的网络编程,在Android中都提供了支持.Android中常用的网络编程方式如下: 针对TCP/IP协议的Socket和ServerSock

微信红包的架构设计简介

@来源于QCon某高可用架构群整理,整理朱玉华. 背景:有某个朋友在朋友圈咨询微信红包的架构,于是乎有了下面的文字(有误请提出,谢谢) 概况:2014年微信红包使用数据库硬抗整个流量,2015年使用cache抗流量. 微信的金额什么时候算? 答:微信金额是拆的时候实时算出来,不是预先分配的,采用的是纯内存计算,不需要预算空间存储.. 采取实时计算金额的考虑:预算需要占存储,实时效率很高,预算才效率低. 实时性:为什么明明抢到红包,点开后发现没有? 答:2014年的红包一点开就知道金额,分两次操作

JSON 简介

ylbtech-JSON: JSON 简介 JSON:JavaScript Object Notation(JavaScript 对象表示法) JSON是存储和交换文本信息的语法,类似 XML. JSON 比 XML 更小.更快.更易解析. JSON 实例 { "employee":[ {"firstName":"John","lastName":"Doe"}, {"firstName"

Docker简介

Docker简介 什么是Docker: 正所谓Docker的英文本意为"搬运工",所以在我们的世界里,可以理解为Docker搬运的是装满任意类型的APP的集装箱,开发者可以通过Docker将APP变成一种标准化的.可移动植的.自动管理的组件.它用一种新的方式实现了轻量级的虚拟机,专业术语成为应用容器(Application Container) Docker的优势: 1.利用率高 ·Docker对系统资源的利用率很高,一台主机可以同时运行数千个Docker容器 2.可以快速的交付应用程

kafka入门:简介、使用场景、设计原理、主要配置及集群搭建(转)

问题导读: 1.zookeeper在kafka的作用是什么? 2.kafka中几乎不允许对消息进行"随机读写"的原因是什么? 3.kafka集群consumer和producer状态信息是如何保存的? 4.partitions设计的目的的根本原因是什么? 一.入门 1.简介 Kafka is a distributed,partitioned,replicated commit logservice.它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的实现.k

Quartz.NET简介及入门指南

Quartz.NET简介 Quartz.NET是一个功能完备的开源调度系统,从最小的应用到大规模的企业系统皆可适用. Quartz.NET是一个纯净的用C#语言编写的.NET类库,是对非常流行的JAVA开源调度框架 Quartz 的移植. 入门指南 本入门指南包括以下内容: 下载 Quartz.NET 安装 Quartz.NET 根据你的特定项目配置 Quartz 启动一个样例程序 下载和安装 你可以下载 zip 文件或使用 Nuget 程序包.Nuget 程序包只包含 Quartz.NET 运

ASP.Net简介、IIS服务器和Repeater重复器

简介:ASP.NET - 制作网站应用程序的技术 WebForm -出来时间比较早,敏捷.便捷开发,封装一些控件,慢慢发现一些控件做的挺好,真正使用没有那么敏捷 MVC -出来时间比较晚 什么东西? winform 界面 - 后台 - 数据库 共同组合出来的程序:ASP.NET 界面(HTML+CSS+JS) - 后台 - 数据库 运行机制:winform - 程序是安装在用户的电脑上,程序是运行在用户电脑上的.net Framework框架上的 ASP.NET - 通过浏览器向服务器发送请求,

CloudFoundry in 1 Box简介:PCF-Dev篇

在<CloudFoundry in 1 Box简介:Bosh-lite篇>我们介绍了Bosh-lite的架构和部署.在本篇中,我们将详细描述另一个CloudFoundry in 1 Box解决方案PCF-Dev. 1PCF-dev简介 PCF是Pivotal发行的Cloud Foundry商业版,PCF-Dev原名MicroPCF,是Pivotal为PCF的应用开发人员准备的一款App单虚拟机版的CloudFoundry.但是,麻雀虽小,五脏俱全.PCF-Dev虽然可以在仅仅一台虚拟式上即可运