综合二区_欧美成人综合_欧美成人二区_a黄视频_亚洲视频在线播放_一区二区三区视频免费看

µ±Ç°Î»ÖãºÊ×Ò³ > ÍøÕ¾¾ÉÀ¸Ä¿ > ѧϰ԰µØ > Éè¼ÆÈí¼þ½Ì³Ì > ÀûÓÃlighttpdµÄX-sendfileÌáÉýRailsµÄÏÂÔØÐÔÄÜ

ÀûÓÃlighttpdµÄX-sendfileÌáÉýRailsµÄÏÂÔØÐÔÄÜ
2010-01-14 23:31:33  ×÷Õß:  À´Ô´:
´«Í³µÄWeb·þÎñÆ÷ÔÚ´¦ÀíÎļþÏÂÔØµÄʱºò£¬×ÜÊÇÏȶÁÈëÎļþÄÚÈݵ½Ó¦ÓóÌÐòÄڴ棬ȻºóÔÙ°ÑÄÚ´æµ±ÖеÄÄÚÈÝ·¢Ë͸ø¿Í»§¶Ëä¯ÀÀÆ÷¡£ÕâÖÖ·½Ê½ÔÚÓ¦¸¶µ±½ñ´ó¸ºÔØÍøÕ¾£¬ÒôƵÊÓÆµÍøÕ¾Á¦²»´ÓÐÄ¡£sendfileÊÇÏÖ´ú²Ù×÷ϵͳ֧³ÖµÄÒ»ÖÖ¸ßÐÔÄÜÍøÂçIO·½Ê½£¬²Ù×÷ϵͳÄں˵Äsendfileµ÷ÓÿÉÒÔ½«ÎļþÄÚÈÝÖ±½ÓÍÆË͵½Íø¿¨µÄbufferµ±ÖУ¬´Ó¶ø±ÜÃâÁËWeb·þÎñÆ÷¶ÁдÎļþµÄ¿ªÏú£¬ÊµÏÖÁË“Á㿽±´”ģʽ¡£

×÷Ϊ×îÁ÷ÐеÄÇáÁ¿¼¶Web·þÎñÆ÷µÄÇ̳þ£¬lighttpdÌṩÁËÁ¼ºÃµÄsendfileÖ§³Ö£¬JavaEyeÍøÕ¾·þÎñÆ÷ʹÓõľÍÊÇlighttpd¡£ÔÚLinux²Ù×÷ϵͳÉÏÃæ£¬Ö»ÐèÒªÔÚlighttpd.confÅäÖÃÎļþÈçÏÂÅäÖã¬lighttpd¾Í»áʹÓÃsendfile·½Ê½´¦Àí¾²Ì¬×ÊÔ´µÄÏÂÔØ£¬Ð§Âʷdz£¸ß£º

ÒýÓÃ
server.network-backend = "linux-sendfile"


µ«ÊÇÔÚijЩÇé¿öÏ£¬ÎÒÃÇÈ´ÎÞ·¨Ö±½ÓÈÃlighttpd´¦ÀíÎļþµÄÏÂÔØ£¬±È·½ËµJavaEyeÍøÕ¾ÐèҪͳ¼ÆÌû×Ó¸½¼þµÄÏÂÔØ´ÎÊý£¬²©¿ÍÏà²áµÄµã»÷´ÎÊý£¬±È·½ËµÐèÒª¶ÔÏÂÔØµÄÎļþ½øÐÐȨÏ޵ĿØÖÆ£¬ÌرðÊǶÔÓÚһЩ¶àÓû§ÏµÍ³£¬Äã²»ÄÜÈÃÓû§ÉÏ´«µÄ˽ÃÜÎļþ±»ÆäËûÓû§Ëæ±ãÏÂÔØµ½£¬ÀýÈçJavaEyeȦ×ӵĹ²ÏíÎļþ²»Äܹ»¶ÔȦ×ÓÍâµÄÓû§¿ª·ÅÏÂÔØ¡£Òò´Ë£¬ÎļþÏÂÔØÄ¿Â¼Ç§Íò²»Äܷŵ½publicĿ¼Ï£¬²»ÄÜÈÃÓû§Ö±½Óͨ¹ýä¯ÀÀÆ÷µÄURLµØÖ··ÃÎʵ½¡£ÔÚÕâÖÖÇé¿öÏ£¬ÎļþÏÂÔØ±ØÐëÓÉ·þÎñÆ÷¶ËÓ¦ÓóÌÐòÀ´´¦Àí¡£

ÔÚRoRÓ¦Óõ±ÖУ¬ÎÒÃÇ¿ÉÒÔÔÚcontrollerÖÐʹÓÃsend_file·½·¨À´¿ØÖÆÎļþµÄÏÂÔØ¡£send_file·½·¨½«ÏÂÔØµÄÎļþÒÔ4KBΪµ¥Î»Ð´µ½Ò»¸öÊä³öÁ÷È¥¡£Èç¹ûÎÒÃÇʹÓÃmongrelÓ¦Ó÷þÎñÆ÷µÄ»°£¬mongrel»áÔÚÄÚ´æµ±Öд´½¨Ò»¸öStringIO¶ÔÏ󣬰ÑÕû¸öÏÂÔØÎļþÍêÕûµÄ¶ÁÈëÄڴ棬ȻºóÔÙÏò¿Í»§¶Ë»òÕßǰ¶ËµÄWeb·þÎñÆ÷д³ö¡£Èç¹ûÎÒÃÇʹÓÃfcgiÀ´ÔËÐÐRoRµÄ»°£¬fcgi»áÖ±½Ó°ÑÊä³öÁ÷µÄÄÚÈÝÏòǰ¶ËµÄWeb·þÎñÆ÷д³ö¡£

ºÁÎÞÒÉÎÊ£¬ÎÒÃÇ¿ÉÒÔ¿´µ½ÕâÖÖÏÂÔØ´¦Àí·½Ê½ÓкܴóµÄÐÔÄÜȱÏÝ£º

1¡¢µ±Ê¹ÓÃmongrelµÄʱºò£¬Èç¹ûÏÂÔØÎļþºÜ´ó£¬»áµ¼ÖÂmongrelÄڴ汩ÕÇ£¡

mongrel´´½¨Ò»¸öStringIO¶ÔÏ󻺴æÕû¸öÊä³öÄÚÈÝ£¬ÎÒÃǼÙÉèÓû§ÏÂÔØµÄÊÇÒ»¸ö100MBµÄÎļþ£¬¸ÃÓû§ÓÖºÜϲ»¶ÓöàÏß³ÌÏÂÔØ¹¤¾ß£¬Ëû¿ªÁË10¸öÏ̲߳¢·¢ÏÂÔØ£¬ÄÇômongrelµÄÄÚ´æÕ¼ÓûᱩÕÇ1GBÒÔÉÏ¡£¶øÇÒ×î¿ÉŵÄÊÇ£¬¼´Ê¹µ±Óû§ÏÂÔØ½áÊøÒÔºó£¬mongrelµÄÄÚ´æ¶¼²»»áѸËÙ»ØÂ䣬¶øÊÇÒ»Ö±±£³ÖÈç´Ë¸ßµÄÄÚ´æÕ¼Óá£Õâ¸öȱÏݷdz£ÈÝÒ×±»±ðÓÐÓÃÐĵĺڿÍÀûÓ㬹¥»÷ÍøÕ¾¡£ÕâÒ²ÊÇJavaEyeÍøÕ¾ÎªÊ²Ã´Ê¼ÖÕ²»ÓÃmongrelµÄÔ­ÒòÖ®Ò»¡£


2¡¢µ±Ê¹ÓÃfcgiµÄʱºò£¬Èç¹ûǰ¶ËWeb·þÎñÆ÷ûÓÐ×ã¹»´óbuffer£¬»áµ¼ÖÂfcgi½ø³Ì±»¹Òס

fcgi×Ô¼º²»¿ªoutput buffer£¬¶øÊÇʵʱд³öÊä³öÄÚÈÝ£¬Èç¹ûǰ¶ËWeb·þÎñÆ÷ÓõÄÊÇlighttpd£¬ÄÇôÄãºÜÐÒÔË£¬lighttpd»áÕÕµ¥È«ÊÕ£¬Ò»¸ö×Ö½Ú¶¼²»À­Ï£»Èç¹ûǰ¶ËWeb·þÎñÆ÷ÓõÄÊÇnginx/apache£¬ÄÇôÄãºÜ²»ÐÒ£¬nginx/apacheĬÈÏÖ»¿ª8KµÄbuffer£¬ÊÕ²»ÏµÄÄǾͶԲ»ÆðÁË£¬ÄúÂýµãàÏ£¬fcgi½ø³Ì¾Í±»¹ÒסÁË£¬Ö»Òª¿Í»§¶Ëä¯ÀÀÆ÷ÏÂÔØ²»½áÊø£¬fcgi½ø³Ì¾Í±»Ò»Ö±Õ¼Óá£

3¡¢¼´Ê¹Ê¹ÓÃlighttpd+fcgi£¬Ò²»á¶Ô·þÎñÆ÷Ôì³É²»Ð¡µÄÐÔÄÜ¿ªÏú

lighttpd+fcgiÊÇ×îÀíÏëµÄRails²¿Êð»·¾³£¬JavaEyeÍøÕ¾Ê¹ÓõľÍÊÇlighttpd+fcgi¡£µ±ruby³ÌÐòÖ´ÐÐsend_file¿ªÊ¼ÏÂÔØµÄʱºò£¬fcgi»áÒÔ4KBΪµ¥Î»¶ÁÈëÎļþÄÚÈÝ£¬È»ºóÁ¢¿Ìд³öµ½lighttpdÈ¥£¬¶ølighttpdÕÕµ¥È«ÊÕ¡£Òò´Ëµ±ÏÂÔØÎļþ±»ÍêÕûµÄͨ¹ýfcgi±»flushµ½lighttpdµÄÄÚ´æÀïÃæÈ¥ÒԺ󣬼´Ê¹Äãɱµôfcgi½ø³Ì£¬¶¼Ë¿ºÁ²»»áÓ°ÏìÎļþÏÂÔØ¡£

Ò²ÐíÄã»áÎÊ£¬lighttpd¶¼³ÔÏÂÀ´ÎļþÄÚÈÝ£¬ÄÚ´æ»á²»»á±©ÕÇ£¿»áµÄ£¬ÎÒÃǼÙÉèͬÑùµÄÓû§³¡¾°£¬Ä³Óû§Æô¶¯10¸öÏß³ÌÏÂÔØ100MBµÄÎļþ£¬fcgi½ø³ÌÄÚ´æ²»»á·¢Éú±ä»¯£¬µ«ÊÇlighttpd»á±©ÕÇ1GB¡£µ«ËùÐÒµÄÊÇlighttpdµÄÄÚ´æ¹ÜÀíµÄ²»´í£¬Ò»µ©Óû§È¡ÏûÏÂÔØ£¬»òÕßÏÂÔØÍê±Ï£¬lighttpdÁ¢¿ÌÊͷŵô1GBµÄÄÚ´æ¡£

µ«ÊÇÎÞÂÛÔõô˵£¬ruby»¹ÊÇÐèÒªÍêÕûµÄ¶ÁÈ¡ÏÂÔØÎļþ£¬¶ølighttpdÒ²ÐèÒª¿ª±Ù×ã¹»´óµÄÄڴ棬´¦ÀíÕû¸öÎļþµÄÏÂÔØ¹ý³Ì£¬¶Ô·þÎñÆ÷¿ªÏú»¹ÊǺܴóµÄ¡£ÎÒÃǵÄÎÊÌâÊÇ£¬Äܲ»ÄÜÈôøÈ¨ÏÞ¿ØÖƵÄÎļþÏÂÔØÏñlighttpdÏÂÔØ¾²Ì¬×ÊÔ´ÎļþÄÇÑù¿ì£¬¿ªÏúÄÇÑùÐ¡ÄØ£¿´ð°¸¾ÍÊÇX-sendfile£¡

ʹÓÃX-sendfile·½Ê½£¬·þÎñÆ÷¶ËÓ¦ÓóÌÐò²»ÐèÒª¶ÁÈ¡ÏÂÔØÎļþÁË£¬Ö»ÐèÒªÉèÖÃresponseµÄheaderÐÅÏ¢¾Í×ã¹»ÁË£¬´ËÍ⻹Ҫ¸½¼ÓÒ»¸öÐÅÏ¢“X-LIGHTTPD-send-file”ÐÅÏ¢¸ølighttpd£¬¸æËßlighttpd£¬ÎļþÏÂÔØÎҾͲ»¹ÜÁË£¬Äã×Ô¼º¿´×Űì°É£º

Ruby´úÂë ¸´ÖÆ´úÂë
  1. response.headers['Content-Type'] = @attachment.content_type   
  2. response.headers['Content-Disposition'] = "attachment; filename=\"#{URI.encode(@attachment.filename)}\""    
  3. response.headers['Content-Length'] = @attachment.size   
  4. response.headers["X-LIGHTTPD-send-file"] = @attachment.public_filename   
  5. render :nothing => true  


X-LIGHTTPD-send-file¸æËßlighttpd£¬È¥Ó²Å̵ÄÄĸö·¾¶ÕÒÒªÏÂÔØµÄÎļþ£¬×îºóÒ»ÐÐɶ¶¼²»Êä³öÁË£¬ÏÂÔØ²»ÓÃrubyÀ´¹ÜÁË¡£

¶ølighttpdÊÕµ½X-LIGHTTPD-send-fileÐÅÏ¢ÒԺ󣬾ͻáÕÒµ½Ó²Å̸ÃÎļþ£¬ÒÔ¾²Ì¬×ÊÔ´ÎļþµÄÏÂÔØ·½Ê½´¦Àí£¬Ë¿ºÁ²»ÏûºÄlighttpdµÄÄÚ´æ¡£»¹ÊÇÒÔijÓû§Æô¶¯10¸öÏß³ÌÏÂÔØ100MBÎļþΪÀý£¬10¸öfcgi½ø³Ì·¢ËÍÁËresponseÐÅÏ¢¾Í´¦ÀíÍê±ÏÁË£¬¶ølighttpdÖªµÀÏÂÔØµÄÊÇÓ²Å̵ľ²Ì¬Îļþ£¬»áÒÔsendfile·½Ê½ÏÂÔØ£¬ÎļþÄÚÈݾͻᱻ²Ù×÷ϵͳÄÚºËÖ±½ÓË͵½Íø¿¨µÄbufferÀïÃæ£¬¼È²»ÏûºÄruby½ø³Ì£¬Ò²²»ÏûºÄlighttpd£¬½Ô´ó»¶Ï²¡£

ÔÚlighttpd-1.4.18°æ±¾ÀïÃæ£¬fastcgi·½Ê½ÒѾ­ÄÚÖÃX-sendfileÖ§³Ö£¬½ö½öÐèÒªÄãÔÚÅäÖÃÎļþ´ò¿ª¾Í¿ÉÒÔÁË£º

ÒýÓÃ
"allow-x-send-file"="enable"


JavaEyeÍøÕ¾ÔÚʹÓÃÁËX-sendfile¹¦ÄÜÖ®ºó£¬lighttpdµÄÄÚ´æÕ¼ÓÃÓÐÃ÷ÏÔµÄϽµ¡£Î´Ê¹ÓÃX-sendfile֮ǰ£¬lighttpdÓÐʱºòÄÚ´æÕ¼Óûᵽ200MBÒÔÉÏ(ÓÐÓû§¶àÏß³ÌÏÂÔØ¸½¼þ)£¬ÔÚʹÓÃX-sendfileÖ®ºó£¬lighttpdµÄÄÚ´æÕ¼Óû¹´ÓÎ´Í»ÆÆ20MB¡£

×îºóÒªÌáÐÑ´ó¼Ò¼¸¸öÎÊÌ⣺

1¡¢lighttpd-1.4.x²»ÈÏX-sendfileÕâ¸öheader£¬Ö»ÈÏX-LIGHTTPD-send-file

°´ÕÕlighttpdÍøÕ¾×Ô¼ºµÄÎĵµ£¬ÒÔ¼°¸÷ÖÖ¸÷ÑùÁ÷ÐеÄX-sendfileÎĵµ£¬ÉèÖõÄheader¶¼ÊÇX-sendfile£¬µ«ÊǾ­¹ýÎÒÃÇn´Îʧ°ÜµÄÃþË÷£¬²Å·¢ÏÖÔ­À´±ØÐëʹÓÃX-LIGHTTPD-send-file£¬ÕâÒ»µãÇë²»Òª±»ÎĵµÃÔ»ó£¬Ä¿Ç°ºÃÏñÒ²Ö»ÓÐÎÒÃÇÌá³öÕâ¸ö½â¾ö°ì·¨£¬»¥ÁªÍøÉÏÃæÉÐδ¿´µ½ÆäËûÈËÌá³ö¹ý£¬¿´À´ÎÒÃÇÓÖÊ׿ªÏȺÓÁË¡£ÓÃRoR¾ÍÊÇÕâµãºÃ£¬Ä㶯²»¶¯¾ÍµÃ×Ô¼ºÏÈÈ¥µ±³¢ó¦Ð·µÄÄǸöÈË¡£

2¡¢lighttpd-1.5.0°æ±¾µÄX-sendfileÉèÖÃÓÐËù¸Ä±ä

lighttpd-1.5.0°æ±¾»¹Î´·¢²¼Õýʽ°æ±¾£¬¾Ý˵1.5.0ÒѾ­ÈÏʶX-sendfileÕâ¸öheaderÁË£¬Õâ¸ö´ó¼ÒÓÐÐËȤ×Ô¼º²âÊÔ°É¡£
°²»ÕлªµçÄÔѧУרҵְҵ¹æ»®Ê¦ÎªÄãÌṩ¸ü¶à°ïÖú¡¾ÔÚÏß×Éѯ¡¿
Ö÷Õ¾Ö©Öë³ØÄ£°å£º 国产成人免费视频 | 亚洲精美视频 | 亚洲美女综合 | 亚色中文 | 天堂一区二区三区 | 91国产视频在线 | 一级片免费在线 | 91热热热 | 99色电影| 久草福利 | 91视频在线免费观看 | 91亚洲国产成人久久精品网站 | 亚洲精品视频在线看 | 精品在线91 | 亚洲精品视频观看 | 久久久久久久久久久久网站 | 国产欧美一区二区三区久久手机版 | 91在线不卡 | 91视频官网 | 一区二区三区久久 | 嫩草91影院 | 国产精品女教师久久二区二区 | 在线毛片网| 亚洲天堂成人在线视频 | 久久久亚洲一区 | 久草美女 | 9191成人精品久久 | 999在线精品| 91视频最新网址 | 天干夜天干夜天天免费视频 | 亚洲女人在线 | 天堂一区二区三区四区 | 91成人小视频 | 午夜免费播放观看在线视频 | 久久久精品一区二区 | 亚洲一区二区三区精品视频 | 亚洲美女自拍视频 | 97超碰在线人人 | 外国黄色一级毛片 | 日本在线观看www | 快播91|