ruby-on-rails - rails nginx passenger bundle 这几者是怎么协作的?
问题描述
想问一直这几者是怎么样的一种方式来工作的,他们又各自负责什么部分呢
问题解答
回答1:Ngnix是一个proxy server, 设置监听端口(80), 编码方法(gzip),错误网页在哪里(402, 403, 404),负责把request分给workersPassenger/Unicorn是application server, 坐在proxy server上面。每个proxy一般有好几个application servers作为workers,负责接受把request高速给web application(比如rails),一般appication server能处理几千个requests每秒Rails application runs inside passenger/unicorn.从nginx到passenger到rails, 完成了一个request的cycle
bundle是ruby的package manager。就像python的easy_install, pypi。每个application,可以有个Gemfile, 里面可以写明你要的library的版本,然后别的人只要bundle install就能安装这个application所需要的库了
回答2:引用于略晓网 张志回答: http://luexiao.com/questions/33136760...
Bundler主要是用来处理rails application的以来关系,同时使得每一个rails applicaton之间的环境相互独立,Bundler的出现之前,大多使用gemset来管理gem包,Bundler出现之后,由于其易用,方便,为很多rails开发者使用,现在比较常用的方法是用Bundler来管理Gem包,用rvm来管理ruby版本.
Nginx ('engine x') 是一个高性能的 HTTP 和 反向代理 服务器,其处理静态链接性能优越,补充一下grid-fs模块,其对Mongodb提供了良好的支持,而且容易配置:
location /gridfs/ {gridfs my_app field=filename type=string;mongo 127.0.0.1:27017;}
passenger主要用来管理Rails进程,不过对于passenger接触的不是很多,平时用的都是Unicorn。关于处理流程和协作:
引用自Github

相关文章:
1. docker - 各位电脑上有多少个容器啊?容器一多,自己都搞混了,咋办呢?2. docker gitlab 如何git clone?3. dockerfile - 为什么docker容器启动不了?4. nignx - docker内nginx 80端口被占用5. javascript - 修改表单多选项时和后台同事配合的问题。6. 我在centos容器里安装docker,也就是在容器里安装容器,报错了?7. golang - 用IDE看docker源码时的小问题8. javascript - weex和node,js到底是怎样一个关系呢?9. redis - 究竟是选择微信小程序自带的统计工具还是自己开发一个数据统计的代码?10. docker安装后出现Cannot connect to the Docker daemon.

网公网安备