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 下面創建的IMAGE 他們的 ID 一樣?這個是怎么回事????2. 在應用配置文件 app.php 中找不到’route_check_cache’配置項3. javascript - 關于mongose刪除一次多個字段的問題4. 微信瀏覽器怎么取消緩存?5. javascript - vue-cli與后端框架集成config/index.js配置問題6. javascript - 為什么我無法通過$stateParams在父子State之間傳遞參數?跟State之間的父子關系有關嗎?7. 關于layuiadmin中表格按鈕提交問題求解!!!!8. html按鍵開關如何提交我想需要的值到數據庫9. css - BEM 中塊(Block)有木有什么標準 何時決定一個部分提取為塊而不是其父級的元素呢(Element)?~10. html5 - 用Egret寫的小游戲,怎么分享到微信呢?
