ruby-on-rails - rails nginx passenger bundle 這幾者是怎么協(xié)作的?
問題描述
想問一直這幾者是怎么樣的一種方式來工作的,他們又各自負(fù)責(zé)什么部分呢
問題解答
回答1:Ngnix是一個proxy server, 設(shè)置監(jiān)聽端口(80), 編碼方法(gzip),錯誤網(wǎng)頁在哪里(402, 403, 404),負(fù)責(zé)把request分給workersPassenger/Unicorn是application server, 坐在proxy server上面。每個proxy一般有好幾個application servers作為workers,負(fù)責(zé)接受把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:引用于略曉網(wǎng) 張志回答: http://luexiao.com/questions/33136760...
Bundler主要是用來處理rails application的以來關(guān)系,同時使得每一個rails applicaton之間的環(huán)境相互獨立,Bundler的出現(xiàn)之前,大多使用gemset來管理gem包,Bundler出現(xiàn)之后,由于其易用,方便,為很多rails開發(fā)者使用,現(xiàn)在比較常用的方法是用Bundler來管理Gem包,用rvm來管理ruby版本.
Nginx ('engine x') 是一個高性能的 HTTP 和 反向代理 服務(wù)器,其處理靜態(tài)鏈接性能優(yōu)越,補(bǔ)充一下grid-fs模塊,其對Mongodb提供了良好的支持,而且容易配置:
location /gridfs/ {gridfs my_app field=filename type=string;mongo 127.0.0.1:27017;}
passenger主要用來管理Rails進(jìn)程,不過對于passenger接觸的不是很多,平時用的都是Unicorn。關(guān)于處理流程和協(xié)作:引用自Github

相關(guān)文章:
1. MySQL主鍵沖突時的更新操作和替換操作在功能上有什么差別(如圖)2. php傳對應(yīng)的id值為什么傳不了啊有木有大神會的看我下方截圖3. python執(zhí)行cmd命令,怎么讓他執(zhí)行類似Ctrl+C效果將其結(jié)束命令?4. mysql在限制條件下篩選某列數(shù)據(jù)相同的值5. 關(guān)于mysql聯(lián)合查詢一對多的顯示結(jié)果問題6. Python從URL中提取域名7. 小白學(xué)python的問題 關(guān)于%d和%s的區(qū)別8. 實現(xiàn)bing搜索工具urlAPI提交9. 數(shù)據(jù)庫 - Mysql的存儲過程真的是個坑!求助下面的存儲過程哪里錯啦,實在是找不到哪里的問題了。10. python - Django有哪些成功項目?
