2010.07.09 次ä¸ä»£Ruby on Railsãµã¼ãã¼Unicornï¼æ±ç¨ã®Rackã¢ããªã±ã¼ã·ã§ã³ãµã¼ãï¼ã使ã£ã¦ã¿ã 2010.07.20追è¨: prefixãæå®ããéç¨ãå¯è½ã§ããããææé ããããã¨ããããã¾ãã 2010.07.28追è¨: é¢é£è¨äºãRailsãµã¼ãUnicornã飼ããªãã! éç¨æã®ä¾¿å©æãã¸ã®ãªã³ã¯ãå¼µãã¾ããã Railsãµã¼ãã¯ãããããã£ã¦ãããããã§ããï¼ æè¿ããã«Unicornã¨ãããã®ãé è§ã表ãã¦ããããã§ãTwitterãgithubã使ã£ã¦ãããããªã®ã§ä½¿ã£ã¦ã¿ã¾ããã®ã§ãç¹å¾´ãä½¿ãæ¹ãªã©ã¬ãã¼ããã¦ã¿ããã¨æãã¾ãã ãã®ããã°ã®ä»ã«ãEngine Yardã®ããã°è¨äºãEverything You Need to Know About Unicornããgithubã®è¨äºãUnicorn!ããé常ã«åèã«ãªãã¨æãã¾ãã®ã§ã
â [ruby] Rackããã«ã¦ã§ã¢ã®ã³ã³ãã¹ããåªåè ãæ±ºå® Rackããã«ã¦ã§ã¢ã®ã³ã³ãã¹ããCodeRackãã®çµæçºè¡¨ããã£ãããã§ãã http://coderack.org/ ã§ã¯ãä¸ä½3ä½ã®çºè¡¨ã§ãï¼ 3ä½ï¼RackProctitle Rubyããã»ã¹ã®ã¿ã¤ãã«ã«ãå¦çä¸ã®URLãå¦çæéãå ¥ãããã¨ã§ãæéãããã£ã¦ããããã»ã¹ãpsã§è¦ã¤ããããããã 2ä½ï¼Rack::Superlogger Rackã¬ãã«ã§ãã°ãåãããããããªãã¬ã¼ã ã¯ã¼ã¯ã使ãåãã¦ããã¨ãã«ãå ¨é¨åããã°å½¢å¼ã«ãªãã®ã§ãè§£æããããã 1ä½ï¼Rack::GeoIPCountry ã¢ã¯ã»ã¹å ã®IPããå½åãæ¨æ¸¬ããenv['X_GEOIP_COUNTRY'] ã«å ¥ãã¦ãããã ç¹å¥è³(?) : RedisRequestLimiter Redis(KVS)ã使ã£ã¦ãçæéã«å¤§éã«ã¢ã¯ã»ã¹ãã¦ããã¦
â [ruby][rack] 5åã§ãããRack Rackã¯Rubyã®ããã®Webãµã¼ãã¤ã³ã¿ã¼ãã§ã¤ã¹ã ã Rubyã§Webã£ã¦ããã¨Railsãæåã ãã©ãå®ã¯Rails以å¤ã«ãããããªRubyç¨ã®Webã¢ããªç¨ãã¬ã¼ã ã¯ã¼ã¯ãåå¨ããã Ramaze Merb Camping Waves ãªã©ãªã©â¦ã 䏿¹Webãå®éã«åããã«ã¯Webãµã¼ããå¿ è¦ã ãRubyã®ããã®Webãµã¼ãããããã¾ãããããªãã®ãããã Apache(CGI, FastCGI..) WEBrick Mongrel Ebb Thin ãªã©ãªã©â¦ã ããã§åé¡ãä¸ã¤ãããã¯ããã¬ã¼ã ã¯ã¼ã¯ãå¢ãããã³ã«ãããããªãµã¼ãããµãã¼ãããããã®ã³ã¼ããå¿ è¦ã«ãªããã£ã¦ã¨ãã ã åãã¬ã¼ã ã¯ã¼ã¯ã®ä½è ãã¿ããªããããã«CGIãMongrelã«å¯¾å¿ããããã®ã³ã¼ããæ¸ãã¦ããªãã¦ãç¡é§ã ã¨æããªããï¼ Rackã¯Webã¢
Ruby ã¯èªåã®å¤§å¥½ããªè¨èªã ããå®ã¯é·ãéç¨ãã Web ã¢ããªã Ruby ã§æ¸ãããã¨ã¯ãªããcgi.rb ã®è©å¤ã¯ããã¶ãåããè³ãããªãããæ±ºå®æã¨ãªããã¬ã¼ã ã¯ã¼ã¯ã®ä¸å¨ãé·ãç¶ãããã¨ããã§ã« PHP ã使ã£ã¦ãããã¨ã大ããªçç±ã ã£ãã Rails ãç»å ´ãããåå¼·ãããããã¼ãããªãã DBMS ã¨ãè¦ããªããã ãã©ãã©ããããããã®ãï¼ãã¨æã£ã¦ãããã¡ã«ä¸éã§ã¯ãã£ããå®çã代ããã«èªåã®ä¸ã§ã¯èå³ã¯èãã¦ãã£ãããããããã¦ãããã¡ã« Rails ã®åé¡ç¹ãã¡ããã¡ããææãããããã«ãªããprototype.js ã¨ã¨ãã«å é§è ããã®è¦é£ãå³ãã£ã¦ãããªãã¨æãã¦ãã仿¥ãã®é ã Merb ã ãªãã ã¨è¨ããã¦ããä¸ãRack ãç»å ´ãããããã ï¼ã¨æã£ããããããã·ã³ãã«ãªãã¤ã欲ããã£ããã ãï¼ããããããããç¹ã«ä½ã®çç±ããªãã¾ã¾ä¸å¹´åã®ææ¥ãæµããããªãã
Rackã¨ã¯ãRubyã§å®è£ ããã¢ããªã±ã¼ã·ã§ã³ã¨ã¦ã§ããµã¼ãã¨ãç¹ãã¤ã³ã¿ã¼ãã§ã¼ã¹ã§ããRackãããã³ã«ã«å¾ã£ã¦å®è£ ããã¢ããªã±ã¼ã·ã§ã³ã¯ãå©ç¨ããã¦ã§ããµã¼ããèªç±ã«é¸æããäºãå¯è½ã¨ãªãã¾ãã Rackã®éçºå ã¸ã¯ã以ä¸ã®ãªã³ã¯ããã Rack: a Ruby Webserver Interface Rackãããã³ã«ã«ã¤ãã¦ãç°¡åã«èª¬æãã¾ãã Rackãããã³ã«ã«å¾ã£ãã¢ããªã±ã¼ã·ã§ã³ã¨ã¯ãç°å¢å¤æ°envã弿°ã«ã¨ãã¡ã½ããcallãæã¤Rubyãªãã¸ã§ã¯ã(ã¤ã³ã¹ã¿ã³ã¹)ãæå³ãã¾ããcallã¯ã3ã¤ã®è¦ç´ ãæã¤Arrayãªãã¸ã§ã¯ããè¿ãã¾ããããã¯é ã«ããHTTPã¹ãã¼ã¿ã¹ã³ã¼ãããHTTPã¬ã¹ãã³ã¹ãããããHTTPããã£ãã¨ãªãã¾ãã ç°å¢å¤æ° ã¢ããªã±ã¼ã·ã§ã³ã¯ãç°å¢å¤æ°ãèªã¿æ¸ãããäºã§ãå ¥åºåæä½çãè¡ããæ§ã«ãªãã¾ããç°å¢å¤æ°ã¯ãããããCGIç°å¢å¤æ°ããR
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}