Nginx rails nginx passenger bundle 这几者是怎么协作的?

lb563 · 2012年02月13日 · 最后由 haobangpig 回复于 2018年08月16日 · 5795 次阅读

想问一直这几者是怎么样的一种方式来工作的,他们又各自负责什么部分呢

我怎么没太看懂呢。 他们之间有什么内在的关系么? nginx 是 web 服务器。 passenger 是支持 ruby 的 web 服务器。 rails 是基于 ruby 的 web 框架。 bundle(准确的说是 bundler) 是 ruby 依赖管理工具。

不过我给你一个链接你可以看一下,我也不是好懂:http://www.zhihu.com/question/20062163

3 楼 已删除

passenger 只能用于 rails 吗?

你给的那个链接说得基本都很对,但 passenger 不是服务器,只是个 module

#3 楼 @lb563 只要是支持 Rack 的 app 都可以跑在 passenger 下。

“nginx 启动的时候会启动 Passenger,passenger 根据配置引导 rails 应用,rails 启动的时候会调用 bundle 加载 rails 应用所需的 gems”,说得非常清楚了!http://www.zhihu.com/question/20062163

我的理解: URL 资源发出 HTTP 请求-> nginx -> passenger-> rack ->rails

当我们在输入一个 URL 的时候,浏览器向服务器发送 HTTP 请求,中间会经过 web server(nginx),然后经过经过 nginx 的时候,会经过 passenger(application server),之后会经过 rack(处理 http 请求和 rails app 的接口),再到 rails app 的核心里面,routes,controller,model,view 这样的一个过程。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号