Rails 本身能作为 Server,为什么部署的时候还需要 Apache 等 webserver 并需要安装 passenger 等。
Rails Server 的哪些不足 使得他必须配合一个 websever。
还有为什么 Rails 与 Apache 配合的时候 需要 passenger。
这些概念搞的很模糊。
Rails 本身能作为 Server
Rails 本身并不能作为 Server,你用 rails server 的时候,Rails 缺省调用 Ruby 标准库 WEBrick
rails server
为什么部署的时候还需要 Apache 等 webserver
因为 Rails 本身并不能作为 Server
并需要安装 passenger 等
因为 Apache, Nginx 这些是 HTTP Server , 并不能解释 Ruby
能跑 Ruby 后端的服务器程序一般都使用 Rack Interface ,这里姑且统称 Rack server . Rack server 并非必须配合一个 HTTP Server,不过这是一种最佳实践:
因为需要一个负责解释 Ruby 的 server . 不一定是 passenger,也可以是 WEBrick, Unicorn, Puma, Thin 等等。
可以看看这篇。刚学的话这些不懂也没关系,用多了就懂了。
#1 楼 @blacktulip 感谢您认真的回答这种初级的问题。让我学到了很多。再次衷心感谢~
#2 楼 @nowherekai 感谢~ 我会认真阅读文档的