ÔÚÊý×ÖʱÆÚº£³±Ï£¬ÊÓÆµÄÚÈÝÒÑÈ»³ÉΪÐÅÏ¢´«²¼¡¢ÓéÀÖÏûDzÉõÖÁóÒ×ÓªÏúµÄÖ÷ÌâÔØÌå¡£´Ó¶ÌÊÓÆµµÄË鯬»¯ÓéÀÖµ½?³¤ÊÓÆµµÄÉî¶ÈÄÚÈÝ£¬ÔÙµ½Ö±²¥µÄʵʱ»¥¶¯£¬ÊÓÆµµÄ±é¼°Ë®Æ½ºÍÏû·ÑÐèÒª³öÏÖ±¬Õ¨Ê½Ôö³¤¡£°éËæ¶øÀ´µÄÊǶÔÁ÷ýÌå·þÎñÆ÷»úÄܵÄÑϸñ¿¼Ñé¡£Óû§½øÕ¹µÄ?ÊÇ¡°Ã뿪¡±¼´²¥µÄÁ÷³©ÂÄÀú£¬Ò»µ©¼ÓÔØ»ºÂý¡¢»Ã濨¶Ù¡¢ÉõÖÁ²¥·ÅÖжϣ¬Óû§µÄÄÍÐĽ«Ñ¸¿ìÏûÄ¥£¬Ö±½ÓÓ°ÏìÓû§Áô´æºÍóÒ×¼ÛÖµ¡£
´«Í³µÄWeb·þÎñÆ÷ÔÚ´¦Öú£Á¿ÊÓÆµÒªÇóʱ£¬ÍùÍùÁ¦²»´ÓÐÄ¡£´ø¿íÆ¿¾±¡¢·þÎñÆ÷¸ºÔعý¸ß¡¢´«ÊäЧÄܵÍÁÓµÈÎÊÌâ²ã³ö²»Çµ¼ÖÂÓû§ÂÄÀú´ó´òÕÛ¿Û¡£Õâʱ£¬Ò»¸ö׳´ó¶ø½Ã½ÝµÄ½â¾ö¹æ»®¾ÍÏÔµÃÓÈΪ¹Ø¼ü¡£¶øNginx£¬×÷Ϊҵ½çµ±Ïȵĸ߻úÄÜWeb·þÎñÆ÷¡¢·´Ïò´úÀíºÍ¸ºÔØÆ½ºâÆ÷£¬Æ¾½èÆä׿ԽµÄÊÂÎñÇý¶¯¼Ü¹¹¡¢ÇáÁ¿¼¶µÄ?Éè¼ÆÒÔ¼°·á˶µÄÖ°Äܼ¯£¬³ÉΪÁËÓÅ»¯ÊÓÆµÁ÷ýÌå´«ÊäµÄ?¡°ÉñÆ÷¡±¡£
±¾ÎĽ«Éî¿Ì̽ÇóÈôºÎÀûÓÃNginxʵÏÖ¡°Nginx100%ÊÓÆµÓÅ»¯¡±£¬´Óµ××ÓÉϽâ¾öÊÓÆµ²¥?·ÅµÄÍ´µã£¬¿ªÊÍÄãµÄÁ÷ýÌåDZÁ¦¡£ÎÒÃǽ«ÝÓÈÆNginxÔÚÊÓÆµ´«ÊäÖеÄÖ÷ÌâÓÅÊÆ£¬½áºÏÏÖʵÀûÓó¡¾°£¬ÎªÄã½ÒʾһϵÁÐ׿ÓгÉЧµÄÓÅ»¯Õ½Êõ£¬ÈÃÄãÇáËɼÝÔ¦¸ß²¢·¢µÄÊÓÆµÁ÷Á¿£¬ÎªÓû§ÌṩǰËùδÓеÄÁ÷³©ÅÔ¹ÛÂÄÀú¡£
NginxÖ®ËùÒÔÄÜÔÚÊÓÆµÓÅ»¯ÁìÓò´ó·ÅÒì²Ê£¬Àë²»¿ªÆäµ×²ã¼Ü¹¹µÄ¾«ÃîÉè¼Æ¡£Ó봫ͳµÄ×èÈûʽI/OÄ£ÐÍ·ÖÆç£¬NginxѡȡÁË·Ç×èÈû¡¢ÊÂÎñÇý¶¯µÄI/O¶à·¸´Óü¼Êõ¡£ÕâÒâζ×Å£¬NginxÄܹ»Í¬Ê±´¦ÖóÉǧÉÏÍòµÄ²¢·¢Ïνӣ¬¶øÎÞÐèΪÿ¸öÏνӴ´½¨¶ÀÁ¢µÄ?¹ý³Ì?»òÏ̡߳£
ÕâÖÖ¸ßЧµÄ×ÊÔ´ÀûÓ÷½Ê½£¬¼«´óµØÌáÉýÁË·þÎñÆ÷µÄ²¢·¢´¦ÖÃÄÜÁ¦£¬¶ÔÓÚ±ØÒªÍ¬Ê±Ïò´óÁ¿Óû§·Ö·¢ÊÓÆµÊý¾ÝµÄÁ÷ýÌå·þÎñÆ÷¶øÑÔ£¬ÆäÓÅÊÆ²»ÑÔ¶øÓ÷¡£
¸ü³ÁÒªµÄÊÇ£¬NginxÔÚ¾²Ì¬Îļþ´«Êä·½ÃæÕ¼Óм«¸ßµÄЧÄÜ¡£ÊÓÆµÎļþ£¬ÓÈÆäÊǾ¹ýÓÅ»¯µÄýÌåÎļþ£¬ÐÔÖÊÉÏÊÇ´óÐ͵ľ²Ì¬×ÊÔ´¡£Nginxͨ¹ýÆä¾«ÃܵÄ?»º´æ?»úÔì¡¢¸ßЧµÄ·¢ËÍÎļþ£¨sendfile£©ÏµÍ³Å²ÓÃÒÔ¼°¾«¼òµÄHTTPÍ·²¿´¦Ö㬿ÉÄÜÒÔ¼«¿ìµÄ¿ìÂʽ«ÊÓÆµÊý¾Ý´Ó´ÅÅÌ·¢Ë͵½¿Í»§¶Ë¡£
ÕâÖ±½Óת»¯Îª¸ü¶ÌµÄ¼ÓÔØ¹¦·ò£¬¸üÉٵķþÎñÆ÷CPUÕ¼Óã¬ÒÔ¼°¸ü¸ßµÄÍÌÍÂÁ¿¡£
»º´æÊÇÊÓÆµÓÅ»¯µÄ³ÁÖÐÖ®³Á£¬Ëü¿ÉÄÜÏÔÖøÏ÷¼õ·þÎñÆ÷Ö±½Ó´¦ÖÃÒªÇóµÄ´ÎÊý£¬½µµÍ´ø?¿íѹÁ¦£¬²¢¼«´óÌáÉýÏìÓ¦¿ìÂÊ¡£NginxÌṩÁ˶àÖÖ׳´óµÄ»º´æ»úÔ죬Äܹ»Æ¾¾ÝÄãµÄÐèÒª½øÐнýÝÅäÖá£
HTTP»º´æ£¨ProxyCache£©£ºÕâÊÇNginx×î³£?ÓõĻº´æ·½Ê½Ö®Ò»¡£Í¨¹ýproxy_cache_pathÖ¸Áî½ç˵»º´æÄ¿Â¼ºÍ²ÎÊý£¬¶øºóʹÓÃproxy_cacheÖ¸ÁîÆôÓûº´æ¡£ÄãÄܹ»ÉèÖûº´æµÄÓÐЧÆÚ£¨proxy_cache_valid£©¡¢»º´æµÄ¼ü£¨proxy_cache_key£©£¬ÒÔ¼°ÔÚ»º´æÎ´ÉäÖеÄÇé¿öÏÂÈôºÎ´¦Öã¨proxy_cache_use_stale£©¡£
¶ÔÓÚÊÓÆµÎļþ£¬ÕâÒâζ×ÅÓû§ÆµÈÔÒªÇóµÄÊÓÆµÆ¬¶Î»á±»´æ´¢ÔÚNginx·þÎñÆ÷±¾µØ£¬ºóÐøÒªÇóÄܹ»Ö±½Ó´Ó»º´æÖжÁÈ¡£¬¿ìÂÊÌìÈ»ÊÇ¡°Ã뿪¡±¡£
ʵ¼Ê³¡¾°£ºÈç¹ûÄãµÄÊÓÆµÆ½Ì¨ÉÏÓкܶàÈȵãµçÓ°»òµçÊӾ缯£¬Óû§»á·´¸´ÅÔ¹Û¡£Í¨¹ýNginxµÄHTTP»º´æ£¬ÕâЩÈȵãÊÓÆµµÄ³õʼҪÇóʵÏֺ󣬻ὫÊÓÆµÎļþ»òÆäÒ»²¿ÃÅ»º´æÏÂÀ´¡£µ±ÆäËûÓû§ÒªÇóͳһÊÓÆµÊ±£¬NginxÄܹ»Ö±½Ó´Ó»º´æÖÐÌṩ£¬Ô¤·ÀÁË´Óºó¶Ë´æ´¢£¨Èç¶ÔÏó´æ´¢£©ÀÈ¡Êý¾ÝµÄÑÓ³¤£¬Óû§ÏÕЩ¸Ð´¥²»µ½¼ÓÔØ¹¦·ò¡£
½ø½×ÅäÖãºÄ㻹Äܹ»Æ¾¾ÝHTTPÏìӦͷÖеĻº´æ½ÚÔìÖ¸ÁÈçCache-Control¡¢Expires£©À´¶¯Ì¬µ÷Õû»º´æÕ½Êõ¡£NginxÒ²Äܹ»ÅäÖÃÖ»»º´æ²¿?·ÖÏìÓ¦£¨proxy_cache_bypass£©£¬»òÕßÔÚ»º´æ¹ýÆÚºó£¬ÏÈ·µ»Ø¹ýÆÚ»º´æ²¢Òì²½¸üУ¨proxy_cache_revalidate£©£¬½øÒ»²½ÌáÉýÓû§ÂÄÀú¡£
Îļþϵͳ»º´æ£¨OSCache£©£ºNginx×ÔÉíÒ²Äܹ»ÀûÓòÙ×÷ϵͳÌṩµÄÎļþϵͳ»º´æ¡£µ±Nginx¶ÁÈ¡ÊÓÆµÎļþʱ£¬²Ù×÷ϵͳ»á½«ÎļþµÄÊý¾Ý¿é¼ÓÔØµ½ÄÚ´æÖС£ÈôÊÇÎļþ±»ÆµÈÔ½Ó¼û£¬ÕâЩÊý¾Ý¿é»áÒ»Ïò±£ÁôÔÚÄÚ´æÖУ¬Ï´νӼûʱÄܹ»Ö±½Ó´ÓÄÚ´æ¶ÁÈ¡£¬¿ìÂʼ«¿ì¡£
¹ÌÈ»Õâ²»ÊÇNginxÖ±½Ó½ÚÔìµÄ£¬µ«Nginx¸ßЧµÄÎļþ½Ó¼û·½Ê½ÄܸüºÃµØÀûÓÃOSCache¡£
CDN¼¯³É£º¶ÔÓÚÃæÏòÈ«ÇòÓû§µÄÁ÷ýÌå·þÎñ£¬½öÒÀ¸½µ¥Ò»µÄ?Nginx·þÎñÆ÷½øÐлº´æÊÇÔ¶Ô¶²»¹»µÄ¡£½«NginxÓëÄÚÈÝ·Ö·¢ÍøÂ磨CDN£©¼¯³ÉÊÇʵÏÖ¡°100%ÊÓÆµÓÅ»¯¡±µÄ±ØÓÉ֮·¡£NginxÄܹ»×÷ΪCDN±ßÔµ½Úµã£¬Ò²Äܹ»×÷ΪCDN»ØÔ´·þÎñÆ÷¡£
Nginx×÷ΪCDN±ßÔµ½Úµã£ºÔÚÕâÖּܹ¹Ï£¬Nginx·þÎñÆ÷²¿ÊðÔÚÈ«Çò¸÷µØµÄCDN½ÚµãÉÏ¡£µ±Óû§ÒªÇóÊÓÆµÊ±£¬ÒªÇó»á±»Â·Óɵ½×î½üµÄCDN½Úµã¡£NginxÔÚÕâЩ½ÚµãÉϽøÐлº´æ£¬Óû§Äܹ»Ö±½Ó´ÓÀë×Ô¼º×î½üµÄ½Úµã»ñÈ¡ÊÓÆµ£¬´ó´ó½µµÍÁËÑÓ³¤¡£Nginx×÷ΪCDN»ØÔ´·þÎñÆ÷£ºÈôÊÇÄ㵫ԸÆëÈ«ÕÆ¿ØÊÓÆµÄÚÈݵķַ¢£¬Äܹ»½«Nginx²¿ÊðÔÚÔ´Õ¾£¬²¢ÅäÖÃCDN´ÓÄãµÄNginx·þÎñÆ÷ÀÈ¡ÄÚÈÝ¡£
NginxµÄ¸ß»úÄÜ»º´æ»úÔì¿ÉÄÜÓÐЧ»º½âԴվѹÁ¦£¬È·±£CDN½Úµã¿ÉÄܼ±¾ç»ñÈ¡µ½?ÄÚÈÝ¡£
¹ÌÈ»ÊÓÆµÎļþ×ÔÉíͨ³£ÊǾ¹ý¸ß¶ÈѹËõµÄ£¨ÈçH.264/H.265±àÂ룩£¬µ«HTTP´«Êä¹ý³ÌÖпÉÄÜ»á´æÔÚһЩ¿ÉѹËõµÄÍ·²¿ÐÅÏ¢»òÔªÊý¾Ý¡£NginxµÄGzipѹËõÖ°ÄÜÄܹ»ÔÚÕâЩ²¿ÃŲûÑï×÷Ó㬽øÒ»²½¼õÓ×´«ÊäµÄÊý¾ÝÁ¿£¬½Ú¼ó´ø¿í£¬²¢¼Ó¿ì´«Êä¿ìÂÊ¡£
ÆôÓÃGzipѹËõ£ºÔÚNginxµÄhttp»òserver¿éÖУ¬Äܹ»Ê¹ÓÃgzipon;Ö¸ÁîÀ´¿ªÆôGzipѹËõ¡£ÅäÖÃѹËõ¼¶±ð£ºgzip_comp_levelÖ¸ÁîÄܹ»ÉèÖÃѹËõ¼¶±ð£¨1-9£©£¬¼¶±ðÔ½¸ßѹËõ³ÉЧԽºÃ£¬µ«CPU¿÷ËðÒ²Ô½´ó¡£Í¨³£ÉèÖÃΪ4-6ÊDZÈÁ¦ÕÛÖÔµÄÑ¡Ôñ¡£
Ö¸¶¨Ñ¹ËõÀàÐÍ£ºgzip_typesÖ¸ÁîÄܹ»Ö¸¶¨ÄÄЩMIMEÀàÐ͵ÄÎļþ½øÐÐѹËõ¡£¶ÔÓÚÊÓÆµÁ÷£¬Äã¿ÉÄܲ»½öÔ¸¶ÔÊÓÆµ×ÔÉí½øÐÐGzipѹËõ£¨ÓÉÓÚËüÃÇ×ÔÉíÒѾÊǸ߶ÈѹËõµÄ£©£¬µ«Äܹ»¶ÔHTML¡¢CSS¡¢JavaScriptµÈ¸¨ÖúÎļþ½øÐÐѹËõ£¬ÒÔÌáÉýÒ³Ãæ¼ÓÔØ¿ìÂÊ¡£
ÆäËûÓйØÖ¸Ágzip_min_length£¨Ö¸¶¨×îÓ×ѹËõ³¤¶È£©¡¢gzip_disable£¨½ûÓÃijЩä¯ÀÀÆ÷»òǰÌáϵÄѹËõ£©¡¢gzip_varyon£¨ÔÚÏìӦͷÖÐÔö³¤Vary:Accept-Encoding£¬Ô¤·À»º´æ´ú?Àí´í?Î󵨻º´æÎ´Ñ¹ËõµÄÄÚÈÝ£©µÈ£¬Äܹ»Æ¾¾ÝÏÖʵÐèÒª½øÐиü¾«ÃܵÄÅäÖá£
ͨ¹ýÓÐЧµÄGzipѹËõÅäÖ㬹ÌÈ»Ëü¶ÔÊÓÆµÖ÷ÌåÄÚÈÝ×ÔÉíѹËõ³ÉЧÓÐÏÞ£¬µ«ÄÜÏÔÖøÓÅ»¯¸¨Öú×ÊÔ´µÄ´«Ê䣬¼ä½ÓÌáÉýÕûÌåÊÓÆµ¼ÓÔØºÍ²¥·ÅµÄÁ÷³©¶È¡£
ÏÖ´úÁ÷ýÌå²¥?·ÅÔçÒѲ»Êǵ¥Ò»µÄÎļþÏÂÔØ£¬¶øÊÇ»ùÓÚһϵÁÐÓÅ»¯µÄºÍ̸À´ÊµÏֵġ£Nginxƾ½èÆä׳´óµÄÄ£¿é»¯Éè¼ÆºÍ½Ã½ÝÐÔ£¬¿ÉÄÜÃÀÂúÖ§³ÖÖ÷Á÷µÄ?Á÷ýÌåºÍ̸£¬ÎªÓû§Ìṩ¸ü¼ÑµÄ²¥·ÅÂÄÀú¡£
HTTPLiveStreaming(HLS)£ºHLSÊÇÓÉAppleÌá³öµÄÁ÷ýÌå´«ÊäºÍ̸£¬Ëü½«ÊÓÆµÄÚÈÝÔ׸î³ÉһϵÁÐÓ׵ġ¢»ùÓÚHTTPµÄ.tsýÌåÎļþ£¬²¢ÊØ»¤Ò»¸ö.m3u8µÄ²¥·ÅÁбíÎļþ¡£NginxÄܹ»¼«¶È¸ßЧµØ·Ö·¢ÕâЩ.tsÎļþºÍ.m3u8Îļþ¡£
NginxµÄHLSÖ§³Ö?£ºNginx×ÔÉí²¢²»Ö±½ÓÌṩHLS´ò°üÖ°ÄÜ£¨Õâͨ³£ÔÚÊÓÆµ×ªÂë·þÎñÆ÷ÉÏʵÏÖ£©£¬µ«ËüÈ´ÊÇ·Ö·¢HLSÁ÷µÄÃÎÏë·þÎñÆ÷¡£ÄãÄܹ»½«×ªÂëºóµÄHLSÎļþ´æ·ÅÔÚNginx¿ÉÄܽӼûµÄ?Ŀ¼£¬¶øºóͨ¹ýNginx½øÐиßЧÄܵÄHTTP´«Êä¡£ÓÅ»¯HLS´«Ê䣺»º´æÕ½Êõ£º¶Ô.m3u8²¥·ÅÁбíÎļþºÍ.tsýÌåÎļþÉèÖúÏÀíµÄ?»º´æÕ½ÊõÖÁ¹Ø³ÁÒª¡£
.m3u8Îļþͨ³£±ä¶¯½Ï¿ì£¬Äܹ»ÉèÖý϶̵Ļº´æ¹¦·ò£¬¶ø.tsÎļþÔò±ä¶¯½ÏÉÙ£¬Äܹ»ÉèÖýϳ¤µÄ»º´æ¹¦·ò¡£NginxµÄproxy_cacheÖ¸ÁîÄܹ»ºÜºÃµØ?Âú×ãÕâÖÖÐèÒª¡£·Ô쬴«ÊäÓÅ»¯£ºHLSµÄÓÅÊÆÔÚÓÚÆä·Ô쬴«Ê䣬¼´±ãµ¥¸ö.tsÎļþ´«Êäʧ°Ü£¬²¥·ÅÆ÷Ò²Äܹ»³¢ÊÔÒªÇóÏÂÒ»¸ö¡£
NginxµÄsendfileon;Ö¸ÁîÄܹ»½øÒ»²½ÓÅ»¯.tsÎļþµÄ´«ÊäЧÄÜ£¬Ö±½Ó½«Îļþ´Ó´ÅÅÌ·¢Ë͵½ÍøÂ磬Ï÷¼õÄÚºË̬ºÍÓû§Ì¬Ö®¼äµÄÊý¾Ý¿½±´£¬ÌáÉýÍÌÍÂÁ¿¡£RangeÒªÇóÖ§³Ö£ºNginxÌìȻ֧³ÖHTTPRangeÒªÇó£¬Õâ¶ÔÓÚHLS²¥·ÅÆ÷ÔÚ±ØÒªÊ±Ìøµ½ÊÓÆµµÄÌØ¶¨µØÎ»£¨ÀýÈ磬µ±Óû§Í϶¯½ø¶ÈÌõʱ£©¼«¶ÈÓÐÔ®ÊÖ¡£
HTTP/2Ö§³Ö£ºÆôÓÃHTTP/2ºÍ̸Äܹ»ÏÔÖøÌáÉýHLSµÄ»úÄÜ£¬ÓÉÓÚËüÖ§³Ö¶à·¸´Óã¬ÔÊÐíÔÚÒ»¸öTCPÏνÓÉÏͬʱ´«Êä¶à¸ö.tsÎļþ£¬Ï÷¼õÁËÏνӳÉÁ¢µÄ¿ªÏúºÍÍøÂçÑÓ³¤¡£
DynamicAdaptiveStreamingoverHTTP(DASH)£ºDASHÊÇHLSµÄ³ß¶È»¯°æ±¾£¬Í¬Ñù»ùÓÚHTTP£¬½«ÊÓÆµÔ׸î³ÉÓׯ¬¶Î£¬²¢Æ¾¾ÝÍøÂçÇé¿öºÍÉ豸ÄÜÁ¦¶¯Ì¬µ÷Õû²¥·ÅÖÊÁ¿¡£NginxͬÑùÄܹ»¸ßЧµØ·Ö·¢DASHÁ÷¡£
NginxµÄDASHÖ§³Ö£ºÓëHLSÀàËÆ£¬NginxÖØÒªÕÆ¹ÜDASHÁ÷µÄHTTP´«Êä¡£DASHʹÓÃ.mpd£¨MediaPresentationDescription£©Îļþ×÷Ϊ²¥·ÅÁÐ±í£¬²¢ÒýÓÃ.m4s£¨MPEG-4part14segment£©»òÆäËûÌåʽµÄ?ýÌ寬¶Î¡£
NginxÄܹ»Í¨¹ýHTTPºÍ̸¸ßЧµØ·Ö·¢ÕâЩÎļþ¡£DASHÓÅ»¯Öص㣺ÄÚÈݶàÑùÐÔ£ºÈ·±£ÄãµÄNginx·þÎñÆ÷¿ÉÄÜÆ¾¾Ý¿Í»§¶ËÒªÇóµÄAcceptÍ·²¿»òURL²ÎÊý£¬Ìṩ·ÖÆç·Ö±æ?ÂʺͱÈÌØÂʵÄÊÓÆµÆ¬¶Î£¬ÕâÊÇDASHʵÏÖ×ÔÊÊÓ¦µÄ¹Ø¼ü¡£µÍÑÓ³¤DASH£¨LL-DASH£©£º¶ÔÓÚʵʱÐÔÒªÇó¸ü¸ßµÄ³¡¾°£¬Äܹ»Ë¼¿¼ÊµÏÖµÍÑÓ³¤DASH¡£
NginxÄܹ»Í¨¹ýÅäÖÃÀ´Ö§³Ö¸üÓ׵ķÔ쬴óÓ׺͸ü¿ìµÄ¸üÐÂÆµÂÊ£¬ÒÔÏ÷¼õÑÓ³¤¡£Ê¹ÓÃngx_http_vhost_traffic_status_module£ºÕâ¸öÄ£¿éÄܹ»Ô®ÊÖÄãʵʱ¼à¿ØNginxµÄÁ÷Á¿×´Ì¬£¬Ô̺¬ÒªÇóÊý¡¢ÏνÓÊý¡¢´ø¿íʹÓõȣ¬¶ÔÓÚÀí½âDASHÁ÷µÄ·Ö·¢Çé¿ö¼«¶ÈÓÐÔ®ÊÖ¡£
RTMP£¨Real-TimeMessagingProtocol£©£º¹ÌÈ»RTMPÔÚ´Óǰ³£ÓÃÓÚÖ±²¥£¬µ«Æä»ùÓÚTCPµÄ¸öÐÔÔÚÍøÂç²»ÎȰ´Ê±ÈÝÒ׳öÏÖ¿¨¶Ù£¬ÇÒ²»ÊʺÏÒÆ¶¯¶Ë¡£²»Í⣬NginxÄܹ»Í¨¹ýnginx-rtmp-moduleÄ£¿éÀ´Ö§³ÖRTMPºÍ̸£¬ÊµÏÖÖ±²¥ÍÆÁ÷ºÍ²¥·Å¡£
nginx-rtmp-moduleµÄÓÅÊÆ£ºÕâ¸öÄ£¿é¼«¶È׳´ó£¬ËüÔÊÐíNginx³äÈÎ?RTMP·þÎñÆ÷£¬Ö§³ÖÖ±²¥ÍÆÁ÷¡¢Ö±²¥µã²¥£¬ÉõÖÁ»¹Äܹ»ÌìÉúHLSºÍDASHÁ÷£¨Ò»ÖÖ¡°ÀÁ÷×ªÍÆ¡±µÄ»ìºÏģʽ£©£¬½øÒ»²½À©´óÁËNginxÔÚÁ÷ýÌåÁìÓòµÄÀûÓá£RTMPÓÅ»¯£ºµ÷Õû»º³åÇø£ºÍ¨¹ýrtmp_bufferºÍrtmp_max_bufferÖ¸ÁÄܹ»µ÷ÕûRTMPµÄ»º³åÇø´óÓ×£¬ÒÔÓ¦¶ÔÍøÂçµßô¤¡£
ÍÆÁ÷Óë»ØÔ´£ºÈôÊÇNginx×÷ΪRTMP·þÎñÆ÷£¬±ØÒª¹Ø×¢ÍÆÁ÷¶ËµÄ´ø¿íºÍ²»±äÐÔ¡£ÈôÊÇ×÷ΪRTMP»ØÔ´£¬Ôò±ØÒªÈ·±£Ô´Õ¾µÄ?RTMP·þÎñ²»±ä¡£
Ö÷ÌâÓÅ»¯Õ½ÊõËÄ£ºÏêϸÈë΢µÄHTTPÅäÖ㬽õÉÏÌí»¨£¡
³ýÁËÉÏÊöÖ÷ÌâÕ½Êõ£¬Ò»Ð©ÏêϸµÄHTTPÅäÖÃͬÑùÄÜΪÊÓÆµÓÅ»¯¹±Ï×Á¦Á¿¡£
Keep-AliveÏνӣºÆôÓÃHTTPKeep-Alive£¨keepalive_timeoutÖ¸ÁÄܹ»¸´ÓÃTCPÏνӣ¬Ï÷¼õTCPÈý´ÎÎÕÊֵĿªÏú£¬¶ÔÓÚÆµÈÔµÄÓ×Îļþ´«Ê䣨ÈçHLSµÄ.tsƬ¶Î£©Ð§Äܼ«¸ß¡£HTTP/2ºÍ̸£ºÈçǰËùÊö£¬HTTP/2µÄ?ÒýÈëÊÇÊÓÆµ´«ÊäµÄÒ»´ó·ÉÔ¾¡£
ÔÚNginxÖÐÆôÓÃhttp2ºÍ̸£¨ÔÚlistenÖ¸ÁîÖÐÔö³¤http2²ÎÊý£©£¬¿ÉÄÜÏÔÖøÌáÉý¶à·²¢·¢´«ÊäµÄ?»úÄÜ£¬Ï÷¼õÑÓ³¤¡£GzipBuffersºÍGzipProxied£º¾«È·ÅäÖÃgzip_buffersÄܹ»ÓÅ»¯GzipѹËõʱµÄÄÚ´æÊ¹Óá£gzip_proxiedÖ¸ÁîÔòÄܹ»½ÚÔìÊÇ·ñ¶Ô´úÀí·þÎñÆ÷·µ»ØµÄÏìÓ¦½øÐÐGzipѹËõ£¬Ôڶ༶´úÀí»·¾³ÏÂÓÈΪ³ÁÒª¡£
sendfileon;£ºÕâ¸öÖ¸ÁîÔÊÐíNginxÖ±½Ó½«Îļþ´Ó´Å?ÅÌ·¢Ë͵½ÍøÂçSocket£¬ÈƹýÓû§¿Õ¼ä£¬´ó·ùÌá¸ßÎļþ´«ÊäЧÄÜ£¬³ö¸ñÊǶÔÓÚ´óÎļþ£¬ÈçÊÓÆµÎļþ¡£tcp_nopushon;ºÍtcp_nodelayon;£ºÕâÁ½¸öÖ¸ÁîÄܹ»Ô®ÊÖNginx¸üÓÐЧµØ½ÚÔìTCPÊý¾ÝµÄ·¢ËÍ£¬Ï÷¼õÑÓ³¤£¬ÌáÉýÍÌÍÂÁ¿¡£
tcp_nopush¾¡Á¿¹é²¢?Ó×µÄTCPÊý¾Ý°ü£¬¶øtcp_nodelayÔòÊÇÔÚTCP_NODELAYģʽϵ±¼´·¢ËÍÊý¾Ý£¨¶ÔµÍÑÓ³¤ÓÐÒæ´¦£©¡£client_body_buffer_sizeºÍclient_header_buffer_size£ººÏÀíµ÷ÕûÕâЩ»º³åÇø´óÓ×£¬Äܹ»Ô¤·ÀÔÚ´¦ÖôóÊÓÆµÎļþÉÏ´«»ò¸´ÔÓÒªÇóʱ³öÏÖÄÚ´æÒç³ö»òЧÄܽµÂäµÄÎÊÌâ¡£
open_file_cache£º¿ªÆôºÍÅäÖÃopen_file_cacheÖ¸ÁÄܹ»»º´æ´ò¿ªµÄÎļþÃèÊö·ûºÍÎļþÔªÊý¾Ý£¬Ï÷¼õÎļþϵͳµÄ²éÕÒ´ÎÊý£¬Ìá¸ßÎļþ½Ó¼û¿ìÂÊ¡£
ͨ¹ýÒÔÉÏһϵÁеÄÓÅ»¯Õ½Êõ£¬Nginx¿ÉÄÜ´Ó»º´æ¡¢´«ÊäºÍ̸¡¢HTTPÅäÖõȶà¸öά¶È£¬È«ÃæÌáÉýÊÓÆµÁ÷ýÌåµÄ´«ÊäЧÄܺÍÓû§ÂÄÀú¡£´ÓÏ÷¼õ¼ÓÔØ¹¦·òµ½¶Å¾ø²¥·Å¿¨¶Ù£¬´ÓÓÅ»¯´ø¿íÀûÓõ½Ö§³Ö×îÐÂÁ÷ýÌåºÍ̸£¬Nginx¶¼Õ¹Ê¾³öÁËÆä׳´óµÄÄÜÁ¦¡£
¡°Nginx100%ÊÓÆµÓÅ»¯¡±²¢·ÇÒ»¾ä¸¡·ºµÄ±êÓ¶øÊÇͨ¹ý¶ÔNginxÖ÷ÌâÖ°ÄܵÄÉî¿ÌÀí½âºÍ¾«ÃÜÅäÖ㬽«NginxµÄ»úÄܲûÑïµ½¼«Ö£¬´Ó¶øÎªÄãµÄÁ÷ýÌåÒµÎñÌṩ¼áʵµÄ¼¼ÊõÖ§³Ö¡£ÎÞÂÛÊÇÓ×ÎÒ²©¿ÍµÄÊÓÆµ·ÖÏí£¬»¹ÊÇ´óÐÍÊÓÆµÆ½Ì¨µÄÄÚÈÝ·Ö·¢£¬Òà»òÊÇʵʱֱ²¥·þÎñ£¬Nginx¶¼ÄܳÉΪÄã×î¿¿µÃסµÄ¼Ó¿ìÆ÷£¬Ô®ÊÖÄãץסÁ÷ýÌåʱÆÚµÄ¾Þ´ó»úÔµ£¬Ó®µÃÓû§µÄÇàíù¡£
¼Çס£¬³Ö?ÐøµÄ¼à¿ØºÍµ÷ÓÅÊÇά³Ö×î¼Ñ»úÄܵÄ?¹Ø¼ü¡£ÀûÓÃNginxÌṩµÄ¼à¿Ø¹¤¾ßºÍµÚÈý·½²å¼þ£¬²»ÐÝ·ÖÎö·þÎñÆ÷ÈÕÖ¾ºÍ»úÄÜÖ¸±ê£¬ÊµÊ±µ÷ÕûÅäÖã¬ÄÜÁ¦ÈÃÄãµÄÊÓÆµÁ÷ýÌå·þÎñʼÖÕ±£?³ÖÔÚ×î¼Ñ״̬£¬ÎªÓû§´øÀ´×ˬµÄÅÔ¹ÛÂÄÀú£¡