NginxµÄǿʢÐÔÄܲ¢·Ç½ö½öÌåÏÖÔÚÆä»ù´¡¼Ü¹¹ÉÏ£¬¸üÔÚÓÚÆä¶ÔÊÓÆµ´«ÊäÒªº¦ÊÖÒÕµÄ?Éî¶ÈÖ§³ÖºÍÓÅ»¯£º
HTTP/2ºÍHTTP/3µÄ¸³ÄÜ£ºËæ×ÅÍøÂçÐÒéµÄÒ»Ö±Ñݽø£¬HTTP/2ºÍHTTP/3´øÀ´ÁËÏÔÖøµÄÐÔÄÜÌáÉý¡£HTTP/2ÒýÈëÁ˶à·¸´Óã¨Multiplexing£©ºÍÍ·²¿Ñ¹Ëõ£¨HeaderCompression£©µÈÌØÕ÷£¬Äܹ»ÔÚͳһTCPÅþÁ¬ÉÏͬʱ´«Êä¶à¸öÇëÇóºÍÏìÓ¦£¬´ó´óïÔÌÁËÍøÂçÍù·µ´ÎÊý£¬ÌáÉýÁËÊÓÆµ¼ÓÔØËÙÂÊ¡£
HTTP/3¸üÊÇ»ùÓÚQUICÐÒ飬½øÒ»²½ïÔÌÁËÅþÁ¬½¨Éèʱ¼ä£¬²¢¸ÄÉÆÁËÔÚ²»ÎȹÌÍøÂçÇéÐÎϵĴ«ÊäÐÔÄÜ¡£Nginx¶ÔÕâЩÐÂÐÒéÌṩÁËǿʢµÄÖ§³Ö£¬Í¨¹ý¼òÆÓµÄÉèÖü´¿ÉÆôÓã¬ÎªÊÓÆµ´«?Êä´øÀ´Öʵı¼ÌÚ¡£Ç¿Ê¢µÄ»º´æ»úÖÆ£ºÊÓÆµÄÚÈݵĻº´æÖÁ¹ØÖ÷Òª£¬ÓÈÆäÊÇÔÚCDN£¨ÄÚÈÝ·Ö·¢ÍøÂ磩ÇéÐÎÖС£
NginxÌṩÁËÎÞаÇÒ¸ßЧµÄ»º´æÕ½ÂÔ¡£Í¨¹ýproxy_cacheÖ¸Á¿ÉÒÔ½«¶¯Ì¬ÌìÉúµÄÊÓÆµÁ÷»òƵÈÔ»á¼ûµÄÊÓÆµÎļþ»º±£´æNginx·þÎñÆ÷ÉÏ¡£µ±Óû§ÔÙ´ÎÇëÇóÏàͬÄÚÈÝʱ£¬Nginx¿ÉÒÔÖ±½Ó´Ó»º´æ?ÖÐÌṩ·þÎñ£¬ÎÞÐè»á¼ûºó¶Ë·þÎñÆ÷£¬´Ó¶øÏÔÖø½µµÍÑÓ³Ù£¬½ÚÔ¼´ø¿í£¬²¢¼õÇáºó¶Ë·þÎñÆ÷µÄѹÁ¦¡£
ÔÚÊý×Ö»¯À˳±?ϯ¾íÈ«ÇòµÄ½ñÌ죬ÊÓÆµÒѾ³ÉΪÁËÎÒÃÇ»ñÊØÐÅÏ¢¡¢Éç½»ÓéÀÖÒÔÖÂÉú²úÐ×÷µÄÖ÷ÒªÔØÌå¡£µ±Äãµã¿ªÒ»¸ö¸ßÇåÊÓÆµ£¬ÔÚ¼¸ºÁÃëÄÚÁ÷ͨ²¥·Å¶øºÁÎÞ¿¨ÂíÉÏ£¬ÄãÊÇ·ñÔøÏë¹ý£¬ÔÚÕâÒ»ÃëÖÓµÄ˳»¬±³ºó£¬Óм¸¶à¿´²»¼ûµÄÊÖÒÕÔÚ²þâ±±¼³Û£¿ÔÚÖÚ¶àµÄÊÖÒÕ»ùʯÖУ¬¡°nginx100vide100¡±×÷Ϊһ¸ö¼«¾ß´ú±íÐÔµÄÊÖÒÕ¿´·¨£¬ÕýÖð½¥³ÉΪ¸ßÐÔÄÜÊÓÆµ¼Ü¹¹µÄ´úÃû´Ê?¡£
½ñÌ죬ÎÒÃǾÍÀ´Ò»³¡Éî¶ÈÂÃÐУ¬²ð½ânginx100vide100±³ºóµÄÄÇЩ¡°ÉñÃØ¡±¡£
ÒªÃ÷È·nginx100vide100£¬Ê×ÏÈÒª»Ø¹éµ½Nginx×Ô¼º¡£×÷Ϊһ¿î½µÉúÓÚ¶íÂÞ˹Ìì²ÅÖ®ÊÖµÄÇáÁ¿¼¶¡¢¸ßÐÔÄÜ·´Ïò´úÀí·þÎñÆ÷£¬Nginx×Ôµ®?ÉúÖ®³õ¾ÍÊÇΪÏàʶ¾öC10KÎÊÌ⣨µ¥»úÒ»Íò²¢·¢ÅþÁ¬£©¶øÉúµÄ¡£¶øÔÚÊÓÆµÖ±²¥?¡¢µã²¥±¬·¢µÄ½ñÌ죬ÕâÒ»ÌôÕ½ÒѾÑÝÄð³ÉÁËC100KÉõÖÁ¸ü¸ß¡£
ËùνµÄ¡°100vide100¡±£¬×Åʵ´ú±íÁËÒ»ÖÖ¼«ÖµÄ×·Ç󣺼´ÔÚ100%µÄ²¢·¢Ñ¹Á¦Ï£¬ÒÀÈ»¼á³Ö100%µÄÊÓÆµ´«ÊäÍêÕûÐÔÓ뼫ËÙÏìÓ¦¡£
ÏëÏóһϣ¬Ò»¸öNginxÊÂÇéÀú³Ì¾ÍÏñÒ»¸ö¸ßЧµÄµ÷ÀíÔ±£¬Í¬Ê±´¦Öóͷ£×ųÉǧÉÏÍò¸öÊÓÆµ²¥·ÅÇëÇ󣬶ø²»»áÓÉÓÚÈκÎÒ»¸öÇëÇóµÄÉÔÂý¶ø¡°ÊÖæ½ÅÂÒ¡±¡£ÄÚ´æÏûºÄµÍ£¬Ð§ÂʸߣºÏà±ÈÓÚApacheµÈ·þÎñÆ÷£¬NginxµÄÄÚ´æÕ¼ÓÃͨ³£ÒªµÍµÃ¶à¡£ÕâµÃÒæÓÚÆä¾«Çɵļܹ¹Éè¼ÆºÍ¶ÔCÓïÑԵľ«Õ¿ÔËÓá£
µÍÄÚ´æÏûºÄÒâζ×ÅÔÚÏàͬµÄÓ²¼þ×ÊÔ´Ï£¬Nginx¿ÉÒÔÖ§³Ö¸ü¶àµÄ²¢·¢ÅþÁ¬£¬´Ó¶ø½µµÍ·þÎñÆ÷±¾Ç®£¬Ìá¸ßÕûÌåµÄÐԼ۱ȡ£¹ØÓÚÐèÒª°²ÅÅ´ó×Ú·þÎñÆ÷ÒÔÖ§³ÖÖØ´ó?Óû§Á¿µÄÊÓÆµÆ½Ì¨¶øÑÔ£¬ÕâÒ»µãÖÁ¹ØÖ÷Òª¡£Ç¿Ê¢µÄ¾²Ì¬Îļþ´¦Öóͷ£ÄÜÁ¦£º¾ø´ó´ó¶¼ÊÓÆµÄÚÈÝÔÚ´«?Êäǰ¶¼»á±»·â×°³ÉÖÖÖÖÃûÌõÄÊÓÆµÎļþ£¨ÈçMP4,FLV,TSµÈ£©£¬ÕâЩ¶¼¿ÉÒÔ±»ÊÓΪ¾²Ì¬Îļþ¡£
NginxÔÚ´¦Öóͷ£¾²Ì¬ÎļþµÄ?ËÙÂÊÉÏÓÐמªÈ˵ÄÌåÏÖ£¬ÆäÓÅ»¯µÄÎļþI/O²Ù×÷ºÍ¸ßЧµÄ»º´æ»úÖÆ£¬Äܹ»¿ìËÙ½«ÊÓÆµÎļþ´Ó´ÅÅ̶ÁÈ¡²¢·¢Ë͸ø¿Í»§¶Ë£¬´ó´óËõ¶ÌÁËÊÓÆµµÄ³õʼ¼ÓÔØÊ±¼ä¡£¸ß¶È¿ÉÉèÖÃÐÔºÍÄ£¿é»¯£ºNginxÓµÓи»ºñÇҸ߶ȿÉÉèÖõÄ?Ä£¿éϵͳ¡£ÕâÒâζ×ÅÎÒÃÇ¿ÉÒÔÆ¾Ö¤ÏêϸµÄÊÓÆµ´«ÊäÐèÇó£¬ÎÞаµØÑ¡ÔñºÍÆôÓÃËùÐèµÄÄ£¿é¡£
ÏëÏóһϣ¬µ±³ÉǧÉÏÍò¸öÓû§Í¬Ê±ÇëÇóÒ»¶Î4KÊÓÆµÊ±£¬ÈôÊǵ÷ÀíÉÔÓлºÂý£¬»Ãæ¾Í»á·ºÆðÁîÈË×¥¿ñµÄתȦȦ¡£100vide100ͨ¹ýÓÅ»¯ÏµÍ³µÄepollÄ£×Ó£¬ÈÃÿһ¸öIOÇëÇó¶¼ÄÜÔÚ΢Ãë¼¶»ñµÃÏìÓ¦£¬Õâ¼´ÊÇ¡°100¡±Õâ¸öÊý×Ö±³×ÓÅ®±íµÄÂú·ÖЧÂÊ¡£
Êý¾Ý´«ÊäµÄ¡°Á㿽±´¡±ÊÖÒÕÊÇ100vide100Äܹ»Ð¦°Á½ºþµÄÒªº¦¡£¹Å°åµÄ·þÎñÆ÷ÔÚ·¢ËÍÎļþʱ£¬Êý¾ÝÐèÒª´ÓÄں˻º³å?Çø¿½±´µ½Óû§¿Õ¼ä£¬ÔÙ¿½±´»ØÄں˵ÄSocket»º³åÇø£¬ÕâÖÖÖØ¸´µÄ°áÔ˼«´óµØÆÌÕÅÁËÄÚ´æ´ø¿í¡£¶øÔÚnginx100vide100µÄÓÅ»¯·¶Ê½ÖУ¬sendfileÖ¸Áʩչµ½Á˼«Ö¡£
Êý¾ÝÖ±½ÓÔÚÄں˿ռäÍê³É´«Êä£¬ËÆºõÔÚÄÚ´æÖÐÆÌÉèÁËÒ»ÌõרÊôÓÚÊÓÆµÊý¾ÝµÄ´ÅÐü¸¡¹ìµÀ¡£ÕâÖÖ¡°Ö±´ï¡±µÄÉñÃØ£¬Èõ¥»ú´¦Öóͷ£Tbps¼¶±ðµÄÁ÷Á¿³É?ΪÁË¿ÉÄÜ¡£
¸üÉî²ã?´Î?µÄ?ÉñÃØÔÚÓÚ¶Ô»º´æ£¨Caching£©µÄ²¡Ì¬×·Çó¡£ÔÚ100vide100µÄÉè¼ÆÕÜѧÖУ¬´ÅÅÌIOÊÇÐÔÄܵÄɱÊÖ¡£Í¨¹ý¶à²ã¼¶µÄ»º´æ»úÖÆ¡ª¡ª´ÓÄÚ´æ²ã?¼¶µÄ?proxy_cache_pathµ½¸ßËÙNVMeSSDµÄ?Ô¤¼ÓÔØ£¬nginx100vide100¹¹½¨ÁËÒ»¸ö¶¯Ì¬µÄÈÈÃÅÊý¾Ý³Ø¡£
ÐÅÁî·þÎñÆ÷£ºWebRTCµÄÅþÁ¬½¨ÉèÀú³ÌÐèÒªÒ»¸öÐÅÁî·þÎñÆ÷À´½»Á÷ÅþÁ¬ÐÅÏ¢£¨ÈçIPµØÖ·¡¢¶Ë¿Ú¡¢Ã½ÌåÄÜÁ¦µÈ£©£¬ÒÔ±ãË«·½Äܹ»Ï໥·¢Ã÷²¢½¨ÉèýÌåͨµÀ¡£Nginx¿ÉÒÔͨ¹ý±àд×Ô½ç˵ģ¿é»òʹÓÃÏÖÓеÄWebSocket/HTTP´úÀí¹¦Ð§£¬ÇáËɴ¸ß²¢?·¢µÄWebRTCÐÅÁî·þÎñÆ÷¡£
ËüÄܹ»¸ßЧµØ´¦?Àí´ó×Ú¿Í»§¶ËµÄÐÅÁîÇëÇó£¬ÎªWebRTCÓ¦ÓÃÌṩÎȹ̿ɿ¿µÄÐÅÁî½»»¥¡£Ã½Ìåת·¢£¨SFU£©£ºÔÚ¶à·½¾Û»á³¡¾°Ï£¬ÈôÊÇÿ¸ö¼ÓÈëÕß¶¼Ö±½ÓÓëÆäËûËùÓмÓÈëÕß½¨ÉèP2PÅþÁ¬£¬½«ÏûºÄÖØ´óµÄ´ø¿íºÍÅÌËã×ÊÔ´¡£´Ëʱ£¬SFU¼Ü¹¹¾ÍÏÔµÃÓÈΪÖ÷Òª¡£
SFU·þÎñÆ÷ÎüÊÕÿ¸ö¼ÓÈëÕßµÄýÌåÁ÷£¬È»ºóƾ֤ÐèҪת·¢¸øÆäËû¼ÓÈëÕß¡£ËäÈ»Nginx×Ô¼º²»ÊÇÒ»¸öÍêÕûµÄSFU·þÎñÆ÷£¬µ«¿ÉÒÔͨ¹ý¼¯³É»òÅäºÏµÚÈý·½Ã½Ìå·þÎñÆ÷£¨Èçmediasoup,Janus,KurentoµÈ£©£¬²¢Ê¹ÓÃNginxµÄ·´Ïò´úÀíºÍ¸ºÔØÆ½ºâÄÜÁ¦£¬¹¹½¨Ç¿Ê¢µÄSFU¼¯Èº£¬ÊµÏÖ´ó¹æÄ£µÄµÍÑÓ³Ù¶à·½ÊÓÆµÍ¨Ñ¶¡£
ÔÚÆÊÎö¡°vide100¡±ÕâÒ»ÌØ¶¨ºó׺ʱ£¬ÎÒÃDz»µÃ²»Ìáµ½Ëü¶ÔÁ÷ýÌå´¦Öóͷ£µÄ¸ïÃüÐÔТ˳¡£ÔڹŰåµÄÊÓÆµ´«ÊäÖУ¬ÐÒéÎÕÊÖ¡¢·ÖƬ¼ÓÔØ¡¢±àÂëת»»ÍùÍùÕ¼ÓÐÁË´ó×ÚµÄÅÌË㿪Ïú¡£nginx100vide100ͨ¹ýÄÚÖõÄÖÇÄÜ·ÖÆ¬Õ½ÂÔ£¬Äܹ»Ô¤ÅÐÓû§µÄԢĿÐÐΪ¡£
ÏëÏóһϣ¬µ±Ò»¸öÓû§µã»÷²¥·Åʱ£¬ÏµÍ³ÒѾƾ֤Ŀ½ñµÄ´ø¿íÇéÐκÍÖÕ¶Ë×°±¸£¬Ô¤ÏÈÔÚ±ßÑØ½Úµã×¼±¸ºÃÁË×îÊʺϵÄÄÇ100¸öÒªº¦Ö¡¡£ÕâÖÖ¡°Ô¤¸ÐÖª¡±ÄÜÁ¦£¬Ê¹µÃÊÓÆµÆð²¥ËÙÂÊÌáÉýÁËÊý±¶¡£Ëü²»ÔÙÊDZ»¶¯µØÏìÓ¦ÇëÇ󣬶øÊÇ×Ô¶¯µØÒýÁìÁ÷Á¿¡£ÕâÖÖ´Ó±»¶¯µ½×Ô¶¯µÄת»»£¬ÕýÊÇ¡°nginx100vide100¡±ÉñÃØÂß¼ÖÐ×î¾ßÉÌÒµ¼ÛÖµµÄÒ»»·¡£
Ëü²»µ«½ÚÔ¼ÁËÌÚ¹óµÄ´ø¿í±¾Ç®£¬¸üÔÚÎÞÐÎÖÐ׽סÁËÓû§×ªË²¼´ÊŵÄ×¢ÖØÁ¦¡£
ÔÚÕâ¸ö¾ºÕù°×ÈÈ»¯µÄ»¥ÁªÍøÌìÏÂÀï£¬ÍøÕ¾ËÙÂÊÿÌáÉý0.1Ã룬ת»»ÂʺÍÁô´æÂʶ¼»áÓÀ´Öʵı¼ÌÚ¡£nginx100vide100ÌṩÁËÒ»Ì×Ïֳɵġ¢¾ÓÉÑéÖ¤µÄÓÅ»¯Â·¾¶£¬×ÊÖúÄÇЩÅÎÔ¸ÔÚÊÓ¾õÁìÓòÍÑÓ±¶ø³öµÄÏÈ·æÃÇ£¬ÔÚÐÔÄܵÄÈüµÀ?ÉÏÅܳö¼ÓËÙÂÊ¡£ÎÞÂÛÄãÊÇıÆëÕû¼ÒСÖÚµÄÓ°ÆÀÕ¾µã£¬ÕÕ¾ÉÕÆ¹ÜÒ»¸öÖØ´óµÄÔÚÏß½ÌÓýƽ̨£¬ÕÆÎÕÁËnginx100vide100µÄ?ÉñÃØ£¬¾ÍµÈ?ÓÚÕÆÎÕÁËͨÍùδÀ´¼«ËÙÍøÂçµÄÔ¿³×¡£
ÓÅ»¯µÄõ辶ûÓÐÖյ㣬µ«Õ¾ÔÚnginx100vide100µÄ¼ç°òÉÏ£¬ÄãÀ뼫ÖÂÌåÑéµÄÖÕµãÏßÏÔÈ»¸ü½üÁËÒ»²½¡£
´Ó»ìãçµ½ÖÈÐò£¬Ì½Ñ°nginx100vide100µÄµ×²ãÂß¼
ÔÚÕâ¸öÐÅÏ¢±¬Õ¨µÄʱ´ú?£¬ÊÓÆµÒÑÈ»³ÉΪÁË»¥ÁªÍøµÄ¡°Ó²Í¨»õ¡±¡£ÎÞÂÛÊǶÌÊÓÆµµÄÖ¸¼â»®¶¯£¬Õվɳ¬¸ßÇåÖ±²¥µÄʵʱ½»»¥£¬Óû§¶Ô¡°Ë¿»¬¡±¶þ×ÖµÄ×·ÇóÏÕЩµ½ÁËÆ«Ö´µÄÌïµØ¡£¶øÔÚÕâÒ»Çз±»ªÇéÐεı³ºó£¬ÓÐÒ»¸öÃû×ÖʼÖÕÊÎÑÝ×Å¡°ÒþÐιھü¡±µÄ½ÇÉ«£¬ÄǾÍÊÇnginx100vide100¡£
Õâ²»µ«½öÊÇÒ»¸ö¼òÆÓµÄÃüÃû×éºÏ£¬Ëü´ú±íµÄÊÇÒ»ÖÖ½«NginxµÄ¼«Ö´¦Öóͷ£ÄÜÁ¦Óë100%ÊÓÆµÎÞËð´«ÊäÄ¿µÄÏàÍŽáµÄáÛ·åÕÜѧ¡£
ÒªÆÊÎönginx100vide100µÄÉñÃØ£¬ÎÒÃÇÊ×ÏÈÒªÃæÁÙµÄÊÇÊÓÆµ´«ÊäÖеġ°²»¿ÉÄÜÈý½Ç¡±£º¸ßÇåÎú¶È¡¢µÍÑÓ³ÙÓ뼫µÍ´ø¿í±¾Ç®?¡£¹Å°åµÄ·þÎñÆ÷¼Ü¹¹ÔÚÃæÁÙº£Á¿²¢·¢ÇëÇóʱ£¬ÍùÍù»á·ºÆðÄÚ´æÒç³ö»òCPU¹ýÔØ£¬µ¼ÖÂÓû§¶Ë·ºÆðÁîÈË×¥¿ñµÄתȦȦ¡£¶ønginx100vide100µÄ·ºÆð£¬ÊµÖÊÉÏÊǶÔNginxÊÂÎñÇý¶¯¼Ü¹¹µÄÒ»´ÎÉî¶È¡°»ùÒòˢС±¡£
Ëü²»µ«½öÊÇÔÚÅÜ´úÂ룬¶øÊÇÔÚ¾«×¼µØ²Ù¿ØÃ¿Ò»±ÈÌØÊý¾ÝµÄ?Á÷¶¯¡£
ÔÚÕâ¸öÐÅÏ¢±¬Õ¨µÄʱ´ú£¬ÊÓÆµÔçÒÑÓâÔ½ÁËÎÄ×ÖºÍͼƬ£¬³ÉΪÁËÎÒÃǸÐÖªÌìÏ¡¢»ñȡ֪ʶ¡¢ÉõÖÁÐûйÇéÐ÷µÄÖ÷ÒªÔØÌå¡£µ±Äãµã¿ªÒ»¸öºÅ³Æ¡°4K³¬Ç塱µÄÊÓÆµ£¬È´ÃæÁÙ×ÅËÈËת¸öÒ»Ö±µÄ»º³åԲȦʱ£¬ÄÇÖÖÆÚ´ýÂä¿ÕµÄ´ì?°Ü¸Ð£¬ÉúÅÂÊÇÿһ¸öÏÖ´úÈËÅäºÏµÄÍ´µã¡£ÊÖÒÕ¿ª·¢ÕßÃÇÒ»Ö±ÔÚ׷Ѱһ¸ö×îÖÕÄ¿µÄ£ºÔõÑùÔÚº£Á¿²¢·¢Ó볬¸ß»ÖÊÖ®¼ä£¬ÕÒµ½ËÈËÍêÉÆµÄƽºâµã£¿
ÓÚÊÇ£¬¡°nginx100vide100¡±Õâ¸öÒªº¦´ÊÔÚÊÖÒÕȦºÍ¸ß¶ËÊÓ¾õ·¢ÈÈÓѵÄȦ×ÓÀÏñÒ»¸öÉñÃØµÄĦ˹µçÂë°ãÇÄÈ»Èö²¥¡£Ðí¶àÈËÔÚÎÊ£ºÕ⾿¾¹ÊÇÒ»´®Ìض¨µÄÉèÖôúÂ룬ÕÕ¾ÉijÖÖδ¹ûÕæµÄÐÐÒµ±ê×¼£¿×Åʵ£¬¡°nginx100vide100¡±¸üÏñÊÇÒ»¸ö·ûºÅ£¬Ëü´ú±íÁËNginxÒýÇæÔÚÊÓÆµÁ÷£¨Video£©ÁìÓòµÖ´ï100·ÖÂú·Ö״̬µÄ¼«ÖÂ×·Çó£¬ÒÔ¼°Ö§³ÖÆð°ÙÕ×ÉõÖÁǧÕ×±ÈÌØÂÊÁ÷ͨ·Ö·¢µÄÓ²ºËʵÁ¦¡£
ÒªÆÊÎöÕâ¸öÉñÃØ£¬ÎÒÃDZØÐèÏȻص½NginxÕâ¸öÃû×Ö±¾?Éí¡£×÷ΪȫÇò¸ßÐÔÄÜWeb·þÎñÆ÷µÄ´úÃû´Ê£¬Nginx×Ôµ®?ÉúÖ®ÈÕÆð¾Í´ø×Å¡°Îª¸ß²¢?·¢¶øÉú¡±µÄ»ùÒò¡£µ«ÔÚÊÓÆµÐÐÒµ£¬¼òÆÓµÄÅþÁ¬´¦Öóͷ£ÒѾÎÞ·¨Öª×ãÐèÇó¡£ÊÓÆµÎļþÌå»ýÖØ´ó¡¢ÊµÊ±ÐÔÒªÇ󼫸ߡ¢Óû§´ø¿í²¨¶¯Ç¿ÁÒ£¬ÕâЩÌôÕ½ÏñÊÇÒ»µÀµÀ?¸ßǽ¡£
NginxÒÔÆä׿ԽµÄÐÔÄÜ¡¢ÎÞаµÄ¼Ü¹¹ºÍǿʢµÄ¹¦Ð§£¬ÒѾ³É?ΪʵÏÖ¡°Nginx100%ÊÓÆµÐÔÄÜ¡±µÄ»ùʯ¡£´ÓCDNµÄÈ«Çò¼ÓËÙ£¬µ½ÊµÊ±Ö±²¥µÄÁ÷ͨ·Ö·¢£¬ÔÙµ½WebRTCµÄµÍÑÓ³ÙͨѶ£¬Nginx¶¼ÔÚÆäÖÐÊÎÑÝ×ÅÒªº¦½ÇÉ«¡£Í¨¹ýÉîÈëÃ÷È·Æä½¹µãÓÅÊÆ£¬ÕÆÎÕÒªº¦ÊÖÒÕÓ¦Ó㬲¢¾ÙÐÐϸÄ廯µÄÉèÖÃÓÅ»¯£¬Äú¿ÉÒÔΪÄúµÄÓû§´òÔìÕæÕý¸ßÇå¡¢Á÷ͨ¡¢ÎÞ¿¨¶ÙµÄÊÓÆµÌåÑ飬ÈÃÄúµÄÊÓÆµÄÚÈÝÔÚ¾ºÕùÇ¿ÁÒµÄÊý×ÖÌìÏÂÖÐÍÑÓ±¶ø³ö¡£
Nginx²¢·ÇÒ»¸ö¼òÆÓµÄ?Web·þÎñÆ÷£¬ËüÊÇÅþÁ¬ÄÚÈÝÓëÓû§µÄÇÅÁº£¬¸üÊÇÊÍ·ÅÊÓÆµ¼«ÖÂÐÔÄܵÄÉñÃØÎäÆ÷¡£
Êý×Ö»¯À˳±Ïµġ°Á÷Á¿ºÚ¶´¡±£ºÎªºÎÄãµÄ·þÎñÆ÷×ÜÊÇÂýÈËÒ»²½£¿
ÔÚÕâ¸öÊÓÆµ¼´ÕýÒåµÄʱ´ú£¬ÎÞÂÛÊǶÌÊÓÆµµÄ±¬·¢Ê½ÔöÌí£¬Õվɳ¬¸ßÇå4KÖ±²¥µÄÆÕ¼°£¬±³?ºó¶¼Òþ²Ø×ÅÒ»¸öÖØ´óµÄÊÖÒÕÌôÕ½£ºÔõÑù³ÐÔØÄÇÈçºéË®°ãÓ¿À´µÄTB¼¶Êý¾ÝÁ÷Á¿£¿Ðí¶à¿ª·¢Õߺͼܹ¹Ê¦ÔÚÃæÁÙ¡°nginx100vide100¡±Õâ¸ö¿´·¨Ê±£¬ÍùÍù»á±¬·¢Ò»ÖÖÉñÃØ¸Ð¡£Ëü²»µ«½öÊÇÒ»¸ö¼òÆÓµÄÉèÖôúºÅ£¬¸üÊÇÒ»Ì×¹ØÓÚ¼«ÖÂÐÔÄÜ¡¢ÎȹÌÐÔºÍ×ÊÔ´µ÷ÀíÂß¼µÄ×ۺϽâ¾ö¼Æ»®?¡£
µ±ÎÒÃÇ̸ÂÛÊÓÆµÁ÷£¨VideoStreaming£©Ê±£¬ÏÖʵÉÏÊÇÔÚ̸ÂÛÔõÑùÔÚÒ»¸ö¼«¶ÌµÄʱ¼ä´°?¿ÚÄÚ£¬½«º£Á¿µÄ¶þ½øÖÆË鯬¾«×¼¡¢ÎÞÎóÇÒµÍÑÓ³ÙµØÍ¶µÝµ½Óû§µÄÖÕ¶ËÉÏ¡£¹Å°åµÄNginxÉèÖÃÔÚÃæÁÙÒ»Ñùƽ³£ÍøÒ³ÇëÇóʱ´Â´ÂÓÐÓ࣬µ«Ò»µ©½øÈë¡°100vide100¡±¡ª¡ª¼´×·Çó100%ÏìÓ¦ÂÊ¡¢100%´ø¿íʹÓÃÂÊÒÔ¼°¼«ÖµÄÊÓÆµÁ÷ͨ¶È¡ª¡ªÍ¨Ë׵ĵ÷ÓÅÊֶξÍÏÔµÃ×óÖ§ÓÒç©¡£
nginx100vide100µÄµ×²ã»ùÒò£ºÊÂÎñÇý¶¯ÓëÄÚ´æ¹ÜÀíµÄÒÕÊõ
ÒªÃ÷È·¡°nginx100vide100¡±µÄ?ÉñÃØ£¬Ê×ÏÈÒª»Ø¹éµ½NginxµÄ?Áé»ê£ºÒì²½·ÇÛÕ±ÕµÄÊÂÎñÇý¶¯¼Ü¹¹¡£ÔÚÊÓÆµ´¦Öóͷ£³¡¾°ÖУ¬´ÅÅÌI/OºÍÍøÂçI/OÊÇ×î´óµÄ?Æ¿¾±¡£Í¨Ë×µÄÉèÖûᵼÖÂWorkerÀú³ÌÔÚÆÚ´ý´óÊÓÆµÎļþ¶Áȡʱ½øÈëÛÕ±Õ״̬£¬´Ó¶øÒý·¢Á¬Ëø·´Ó¦£¬µ¼ÖºóÐøÇëÇóÅŶӡ£
TCP/IP²ÎÊýµ÷ÓÅ£ºÕë¶ÔÊÓÆµ´«ÊäµÄÌØµã£¬ÐèÒª¶Ô·þÎñÆ÷µÄTCP/IP²ÎÊý¾ÙÐÐÓÅ»¯£¬ÀýÈçÔöÌíTCPÅþÁ¬ÐÐÁоÞϸ¡¢µ÷½âTCPÖØ´«³¬Ê±Ê±¼ä¡¢ÆôÓÃTCPFastOpenµÈ£¬ÒÔÌá¸ßÔڸ߶ª°üÂÊ»ò¸ßÑÓ³ÙÍøÂçÇéÐÎϵĴ«ÊäЧÂÊ¡£Îļþ¾ä±úÏÞÖÆ£ºNginx´¦Öóͷ£´ó?Á¿²¢·¢ÅþÁ¬ÐèÒª×ã¹»µÄÎļþ¾ä±ú¡£
È·±£²Ù×÷ϵͳµÄÎļþ¾ä±úÏÞÖÆ(ulimit-n)×ã¹»¸ß£¬ÒÔ×èÖ¹Òò¾ä±úºÄ¾¡¶øµ¼ÖÂÅþÁ¬Ê§°Ü¡£SSL/TLSÐÔÄÜÓÅ»¯£º¹ØÓÚHTTPSÁ÷Á¿£¬ÐèÒªÓÅ»¯SSL/TLSµÄÎÕÊÖÀú³ÌºÍ¼ÓÃÜËã·¨¡£¿ÉÒÔʹÓÃssl_session_cacheºÍssl_session_timeoutÀ´¼ÓËÙ»á»°ÖØÓ㬲¢Ñ¡Ôñ¸ßЧµÄ¼ÓÃÜÌ×¼þ¡£
Keep-AliveÅþÁ¬µÄʹÓãºÆôÓÃHTTPKeep-AliveÅþÁ¬£¬¿ÉÒÔïÔ̿ͻ§¶ËÓë·þÎñÆ÷Ö®¼ä½¨ÉèTCPÅþÁ¬µÄ¿ªÏú£¬¹ØÓÚÒ»Á¬²¥·ÅÊÓÆµ»òÖ±²¥µÄÓû§ÌåÑéÖÁ¹ØÖ÷Òª¡£¼à¿ØÓëÈÕÖ¾ÆÊÎö£º½¨ÉèÍêÉÆµÄNginxÐÔÄÜ¼à¿ØÏµÍ³£¬ÊµÊ±¹Ø×¢CPU¡¢ÄÚ´æ?¡¢ÍøÂçÁ÷Á¿¡¢ÅþÁ¬ÊýµÈ?Ö¸±ê¡£
¶ÔNginxµÄ»á¼ûÈÕÖ¾¾ÙÐÐÉîÈëÆÊÎö£¬ÕÒ³öÐÔÄÜÆ¿¾±£¬²¢¾Ý´Ëµ÷½âÉèÖá£
µ±ÎÒÃÇ̸ÂÛnginx100vide100µÄÉñÃØÊ±£¬²»¿ÉºöÂÔµÄÊÇËü¶Ô¸ºÔØÆ½ºâËã·¨µÄˢС£³ýÁ˹ŰåµÄ?¼ÓȨÂÖѯ£¬Ëü»¹Ö§³Ö»ùÓÚ¡°×îСÅþÁ¬Êý¡±ºÍ¡°Ò»ÖÂÐÔ¹þÏ£¡±µÄÖÇÄܵ÷Àí¡£ÔÚÃæÁÙ´ó¹æÄ£ÊÓÆµ×ªÂëʹÃü»òÇÐÆ¬ÇëÇóʱ£¬ËüÄÜÈ·±£Ã¿Ò»Ì¨ºó¶Ë·þÎñÆ÷¶¼´¦ÓÚ¸ºÔصġ°Ìñ¾²Çø¡±£¬×èÖ¹Á˵¥µã¹ýÈÈÕ÷Ïó¡£
ÕâÖÖ¶Ô¼¯Èº¿µ½¡µÄÃô¸Ð¶È£¬°ü¹ÜÁËϵͳÔÚ˫ʮһ¼¶±ðµÄÁ÷Á¿³å?»÷ÏÂÒÀÈ»ÄÜÎÈÈç̩ɽ¡£
nginx100vide100µÄÕæÕýÉñÃØ×ÅʵÔÚÓÚËüµÄ¡°½ø»¯ÂÛ¡±¡£Ëü²»ÊÇÒ»Ì×ËÀ°åµÄÉèÖÃÎļþ£¬¶øÊÇÒ»¸öÒ»Ö±ÎüÊÕ×îÐÂÍøÂçÐÒé¡¢×îÐÂÓ²¼þÌØÕ÷µÄÓлúÌå¡£´ÓÖ§³Ö×îеÄBrotliѹËõËã·¨ïÔ̾²Ì¬×ÊÔ´Ìå»ý£¬µ½Õë¶ÔNVMeÓ²ÅÌÓÅ»¯µÄ?Ò첽дÈ룬ËüʼÖÕÕ¾ÔÚÊÖÒÕµÄ×îÇ°ÑØ¡£
×ܽáÀ´Ëµ£¬nginx100vide100µÄÉñÃØÆÊÎö´ø¸øÎÒÃÇµÄÆôʾÊÇ£ºÔÚÊý×Ö»¯µÄÈüµÀÉÏ£¬Ã»ÓÐËùνµÄ½Ý¾¶£¬Ö»ÓжÔÿһ¸öÊÖÒÕ²ÎÊýµÄ¼«Ö´ò?Ä¥¡£Ëü½«Ô±¾¿áº®µÄNginx·þÎñÆ÷£¬×ª»¯ÎªÁËÒ»¸ö³äÂúÖǻ۵ÄÊÓÆµ·Ö·¢Ö¸»Ó¹Ù¡£ÎÞÂÛÄãÊÇ×·ÇóÊÖÒÕ¼«Öµļܹ¹Ê¦£¬ÕÕ¾ÉÅÎÔ¸ÓªÒµÔöÌíµÄÆóÒµÖ÷£¬ÉîÈëÃ÷È·²¢ÔËÓÃnginx100vide100µÄÂß¼£¬¶¼½«ÔÚδÀ´µÄÁ÷Á¿½ÇÖðÖлñµÃÎÞ¿ÉÏà±ÈµÄ¾ºÕùÓÅÊÆ¡£
Ëü½â¾öÁËÍ·²¿ÛÕ±ÕÎÊÌ⣬ʵÏÖÁËÕæÕýµÄ¶à·¸´Óá£ÕâÒâζ׿´±ãÄãÔÚÐźŲ»¼ÑµÄµØÌúÉÏ£¬nginx100vide100¼Ü¹¹ÏµÄÊÓÆµÓ¦ÓÃÒÀÈ»ÄÜÈÃÄãÏíÊܵ½Ë¿»¬µÄԢĿÌåÑé¡£
×ܽáÀ´Ëµ£¬nginx100vide100ÉñÃØÆÊÎöµÄ½¹µã£¬²»ÔÚÓÚijһ¸öÌØ¶¨µÄ²ÎÊý£¬¶øÔÚÓÚÆäÈ«·½Î»µÄÐͬ£º´ÓÄں˼¶µÄÁ㿽±´µ½Ó¦ÓòãµÄÐÒé·Ö·¢£¬´ÓϸÄåµÄÁ÷Á¿¿ØÖƵ½Ç°Õ°ÐÔµÄÐÒéÖ§³Ö¡£ÕýÊÇÕâЩÉñÃØµÄ½»Ö¯£¬×é³ÉÁËÖ§³ÖÆðÕâ¸öÊÓ¾õʱ´úµÄ¸ÖÌú¼¹Áº¡£µ±?ÄãÏ´ÎÔÙ̾ϢÊÓÆµµÄ?Á÷ͨ?ÓëÇåÎúʱ£¬Çë¼ÇµÃ£¬ÔÚ´úÂëµÄº£ÑóÀNginxÕýÈçһλ¹Â¿à¶øÇ¿Ê¢µÄÊØ»¤Õߣ¬Ä¬Ä¬µØÆÊÎö×Åÿһ¶ÎÊý¾Ý£¬ÎªÎÒÃDZàÖ¯×ÅÕâ¸öèè²µÄÊý×ÖÌìÏ¡£
ÕâÖÖ¡°Î´²·ÏÈÖª¡±µÄÄÜÁ¦£¬ÕýÊÇͨ¹ý¶ÔLinuxÄں˲ÎÊýµÄÉî¶Èµ÷ÓÅ¡ª¡ªºÃ±Èsendfile¡¢tcpnopushºÍtcpnodelayµÄ»Æ½ð×éºÏ¡ª¡ª²ÅµÃÒÔʵÏֵġ£
ÉñÃØµÄÄں˻¹ÔÚÓÚ¶Ô¶àýÌåÄ£¿éµÄϸÄå¿ØÖÆ¡£ÔÚnginx100vide100µÄ?ʵ¼ùÖУ¬¿ª·¢ÕßÍùÍù»áÆôÓÃngxhttpmp4module»òngxhttpflvmodule£¬µ«ÕâÖ»ÊÇ»ù´¡¡£ÕæÕýµÄ¡°ÆÊÎö¡±ÔÚÓÚÔõÑùÔڸ߲¢·¢ÇéÐÎÏ£¬Í¨¹ýÏÞÁ÷£¨LimitRate£©Õ½ÂԼȰü¹Üµ¥¸ö¸ß¶ËÓû§µÄ°ÙÕ×ԢĿÌåÑ飬ÓÖ±ÜÃâ¶ñÒâÅÀ³æ»òÍ»·¢Á÷Á¿Ë²¼äÍÏ¿å·þÎñÆ÷¡£
ÕâÊÇÒ»ÖÖÓÌÈç¡°×߸ÖË¿¡±°ãµÄÒÕÊõ£¬¶ønginx100vide100ÕýÊÇÄǸùÈÃÒ»ÇÐÎÈÈç̩ɽµÄƽºâ¸Ë¡£
µ±ÎÒÃÇÉîÈëµ½´úÂëµÄÎó²î£¬»á·¢Ã÷nginx100vide100»¹Éæ¼°µ½Á˶ÔSSL/TLSÎÕÊÖÀú³Ì?µÄÓÅ»¯¡£ÔÚ¼ÓÃÜ´«Êä³ÉΪ±êÅäµÄ½ñÌ죬ÊÓÆµÁ÷µÄ¼ÓÃܽâÃܶÔCPUÊǼ«´óµÄ¼ç¸º¡£¸Ã¼Ü¹¹Í¨¹ýÆôÓÃTLSFalseStartºÍÓÅ»¯SessionTicketÖØÓã¬ÈÃÊÓÆµÔÚ¼ÓÃܵÄ?״̬ÏÂÒÀÈ»Äܼá³Ö¡°Ã뿪¡±µÄ¿ì¸Ð¡£
¸ºÔØÆ½ºâ£ºµ±µ¥Ì¨Nginx·þÎñÆ÷ÎÞ·¨Öª×ãÐèÇóʱ£¬¿ÉÒÔͨ¹ýNginxµÄ¸ºÔØÆ½ºâ¹¦Ð§£¬½«Á÷Á¿·Ö·¢µ½¶ą̀·þÎñÆ÷ÉÏ£¬ÐγÉÒ»¸ö¸ß¿ÉÓᢸ߿ÉÀ©Õ¹µÄÊÓÆµ·þÎñ¼¯Èº¡£TLS/SSLÓÅ»¯£º¹ØÓÚHTTPSÊÓÆµÁ÷£¬TLS/SSLÎÕÊֵĿªÏú½ûÖ¹ºöÊÓ¡£
NginxÌṩÁ˶àÖÖÓÅ»¯ÊֶΣ¬Èçsessioncaching¡¢TLS1.3Ö§³ÖµÈ£¬ÒÔïÔÌÎÕÊÖÑÓ³Ù£¬°ü¹ÜÇå¾²´«Êä¡£µÚÈý·½Ä£¿é£ºÕë¶ÔÊÓÆµµÄÌØÊâÐèÇ󣬻¹¿ÉÒÔ˼Á¿¼¯³É?µÚÈý·½NginxÄ£¿é£¬ÀýÈçרÃÅÓÅ»¯Á÷ýÌå´«ÊäµÄÄ£¿é£¬½øÒ»²½ÌáÉýÐÔÄÜ¡£
¡°Nginx100%Video¡±²»µ«½öÊǼòÆÓµÄÉèÖÃ¶ÑÆö£¬ËüÊÇÒ»ÖÖ¶ÔÊÓÆµÄÚÈÝ·Ö·¢Ð§Âʵļ«ÖÂ×·Çó¡£Í¨¹ýÉîÈëÃ÷È·NginxµÄÊÂÇéÔÀí£¬²¢?ÍŽáÊÓÆµÄÚÈݵÄÌØÕ÷£¬ÎÒÃÇ¿ÉÒÔ¹¹½¨Ò»Ì×Îȹ̡¢¸ßЧ¡¢¿ÉÀ©Õ¹µÄÊÓÆµ·þÎñ¼Ü¹¹£¬ÈÃÿһ¸öÊÓÆµÄÚÈݶ¼ÄÜÒÔ×î¼Ñ״̬´¥´ïÓû§£¬µãȼÓû§µÄԢĿÈÈÇé¡£
Nginx100%Video£º´ÓÃ뿪µ½¡°ÌÕ×í¡±£¬½âËøÓû§ÌåÑéµÄÎÞÏÞ¿ÉÄÜ
¸ü¸ß¼¶µÄÍæ·¨ÊÇ£¬Nginx¿ÉÒÔÆ¾Ö¤ÊÓÆµÇëÇóµÄÀàÐÍ£¨ºÃ±ÈÊÇÒªº¦Ö¡ÕÕ¾ÉͨË×Ö¡£¬ÊÇVIPÓû§ÕÕ¾ÉͨË×Óû§£©£¬¶¯Ì¬µ÷½â·Ö·¢µÄÓÅÏȼ¶Óë´øÍÑÆÚÖÆ¡£ÕâÖÖ¡°ÓÐζȡ±µÄÁ÷Á¿¿ØÖÆ£¬²ÅÊÇÕæÕý¸ßÐÔÄÜϵͳӦÓеÄ×Ë̬¡£
nginx100vide100µÄÇå¾²ÐÔÒ²ÊÇÆä²»?¿ÉºöÊÓµÄÉñÃØ¡£ÔÚµÁÁ´·Å×Ý¡¢ºÚ¿Í¹¥»÷Ƶ·¢µÄ»¥ÁªÍøÇéÐÎÏ£¬ÔõÑù±£»¤ÌÚ¹óµÄÊÓÆµ°æÈ¨£¿NginxÌṩµÄsecure_linkÄ£¿é£¬Í¨¹ýʱ¼ä´Á¡¢ÃÜÔ¿ºÍIP°ó¶¨µÄ¶àÖØÊðÃûÑéÖ¤£¬È·±£ÁËÖ»ÓÐÕýµ±µÄÓû§²Å»ª»ñÈ¡ÊÓÆµÁ÷¡£
¶øÔÚÃæÁÙDDoS¹¥»÷ʱ£¬NginxǿʢµÄÏÞÁ÷£¨limit_req£©ºÍÏÞËÙ£¨limit_rate£©ÄÜÁ¦£¬ÍðÈçÒ»²ã͸Ã÷µÄ»¤¶Ü£¬½«¶ñÒâÁ÷Á¿×è¸ôÔÚϵͳ´óÃÅÖ®Í⣬±£»¤Á˽¹µãÓªÒµµÄÒ»Á¬¿ÉÓá£
¶øÕæÕýÈÃnginx100vide100ÏÔµÃÓëÖÚ²î±ðµÄ£¬ÊÇËü¶ÔδÀ´Ç÷ÊÆµÄÓµ±§¡ª¡ªQUICÓëHTTP/3¡£ÊÓÆµ´«?Êä¶Ô¶ª°ü¼«ÆäÃô¸Ð£¬¹Å°åµÄTCPÐÒéÔÚÈõÍøÇéÐÎÏÂÌåÏÖ²»¼Ñ¡£¶øNginx¶ÔHTTP/3µÄÖ§³Ö£¬Ê¹µÃÊÓÆµÊý¾Ý¿ÉÒÔͨ¹ýUDP¾ÙÐиü¸ßЧµÄ´«Êä¡£
¸üÁîÈËÔÞ̾µÄÊÇÆä¶Ô¡°ÍøÂçÒì¹¹ÐÔ¡±µÄ´¦Öóͷ£¡£ÎÒÃÇÖªµÀ£¬ÓеÄÓû§ÔÚÓÃǧÕ×¹âÏË£¬ÓеÄÓû§ÔòÔÚµØÌúÀïÈÌÊܲ»Îȹ̵Ä5GÐźš£nginx100vide100ÆÊÎö³ö?µÄÁíÒ»¸öÉñÃØÊÇ£ºËüͨ¹ý¶¯Ì¬ÂëÂÊ×Ô˳Ӧ£¨ABR£©µÄÂß¼ÅäºÏ£¬ÈÃNginxÔÚ·Ö·¢Ê±¾ß±¸Á˸ÐÖªÄÜÁ¦¡£
ËüÄÜÆ¾Ö¤¿Í»§¶Ë·´ÏìµÄTCPÓµÈû´°¿Ú״̬£¬ÊµÊ±µ÷½âÏ·¢µÄÊý¾Ý¿é¾Þϸ¡£ÕâÖÖ¡°Òò²ÄÊ©½Ì¡±µÄ·Ö·¢²ß?ÂÔ£¬ÈÃ100%µÄÁ÷ͨ¶È²»ÔÙÊÇʵÑéÊÒÀïµÄÀíÏëÖµ£¬¶øÊdzÉΪÁËÿ¸öÓû§ÊÖÖеÄÏÖʵ¡£
ÉÌÒµÊÓÒ°£ºnginx100vide100±³ºóµÄ¼ÛÖµÍݵØ
¹ØÓÚÆóÒµ¶øÑÔ£¬×·Çónginx100vide100²»µ«½öÊÇΪÁËÊÖÒÕìż¼¡£ÔÚ¶ÌÊÓÆµ¡¢³¤ÊÓÆµ¡¢Ö±²¥ÉõÖÁÊÇVR/AR±¬·¢µÄ½ñÌ죬Á÷Á¿³É?±¾¾ÍÊÇÉúÃüÏß¡£ÕâÌ׼ƻ®µÄ÷ÈÁ¦ÔÚÓÚ£¬Ëüͨ¹ý¼«¸ßµÄ×ÊԴʹÓÃÂÊ£¬¼«´ó½µµÍÁ˵¥Î»±ÈÌØµÄ´«Ê䱾Ǯ¡£Ïà±ÈÓÚäĿÔöÌí´ø¿í£¬ÓÅ»¯NginxµÄÄÚ²¿Á´Â·Âß¼£¬ÍùÍùÄÜÆðµ½¡°ËÄÁ½²¦Ç§½ï¡±µÄЧ¹û¡£
ͨ¹ý¶ÔOpenResty»òÕßÔÉúNginxµÄ¶þ´Î¿ª·¢£¬¼¯³ÉLua¾ç±¾¾ÙÐÐȨÏÞÑéÖ¤¡¢·ÀµÁÁ´´¦Öóͷ£ÒÔ¼°ÊµÊ±ÈÕÖ¾ÆÊÎö£¬nginx100vide100¹¹½¨³öÁËÒ»¸ö¼È¹Ø±ÕÇå¾²ÓÖ¿ª·Å¸ßЧµÄÉú̬±Õ»·¡£
¶ø¡°nginx100vide100¡±µÄ·ºÆð£¬ÊµÖÊÉÏÊǶÔNginxµ×²ã¼Ü¹¹µÄÒ»´ÎÈ«·½Î»¡°ÊÖÊõ¼¶¡±ÖØËÜ¡£Ëü²»µ«½öÊǹØÓÚ²¢·¢£¬¸üÊǹØÓÚ¾«×¼µÄ×ÊÔ´µ÷Àí¡¢ºÁÃë¼¶µÄ?ÏìÓ¦Âß¼ÒÔ¼°¶Ô´ø¿íѹÁ¦µÄ¼«Ö¶Գ塣
½â¹¹½¹µã£ºÎªÊ²Ã´ÊÇNginxÔÚ½ç˵¡°100vide100¡±£¿
ÔڹŰåµÄ¼Ü¹¹ÖУ¬·þÎñÆ÷ÍùÍùÔÚ´¦Öóͷ£º£Á¿Ð¡ÎļþʱÌåÏÖÓÅÒ죬һµ©?ÃæÁÙ¶¯éüÊýGBµÄÊÓÆµÁ÷£¬ÍùÍù»áÏÝÈëI/OÆ¿¾±»òÄÚ´æÒç³öµÄÄà̶¡£Ö®ÒÔÊÇÌá³ö¡°nginx100vide100¡±µÄ¿´·¨£¬ÊÇÓÉÓÚËüÉî¶ÈʹÓÃÁËNginxµÄÊÂÎñÇý¶¯£¨Event-driven£©Ä£×Ó¡£
ÓëApacheµÈ¹Å°åµÄÀú³ÌÇý¶¯Ä£Ê½²î±ð£¬NginxÔÚ´¦Öóͷ£ÊÓÆµÇëÇóʱ£¬¾ÍÏñÒ»¸ö¼«ÆäÀä¾²ÇÒ¸ßЧµÄÖ¸»Ó¹Ù£¬Ëü²»»áΪÿһ¸öÇëÇó·ÖÅÉÌÚ¹óµÄϵͳ×ÊÔ´£¬¶øÊÇͨ¹ýÒì²½·ÇÛձյķ½·¨£¬ÈóÉǧÉÏÍò¸öÊÓÆµÁ÷ÔÚͳһʱ¼äÄÚÓÐÐò´©Ëó¡£
¡°100¡±Õâ¸öÊý×ÖÔÚÉñÃØÆÊÎöÖÐÓÐ×ÅË«ÖØ¼ÄÒ壺һÊÇ¡°100%µÄÎȹÌÐÔ¡±£¬¶þÊÇ¡°°ÙÕ×¼¶µÄÍÌÍÂЧÂÊ¡±¡£ÔÚ100vide100µÄÂ߼ϣ¬Nginx±»¸¶ÓëÁ˸üÖÇÄܵÄÇÐÆ¬¹ÜÀíÄÜÁ¦£¨HLS/DASH£©¡£ÏëÏóһϣ¬Ò»¸ö³¬¸ßÇåÊÓÆµ±»ÇзֳÉÎÞÊý¸öϸСµÄË鯬£¬¶øNginxͨ¹ýÄڴ滺´æºÍ´ÅÅÌÔ¤¶ÁµÄÍêÉÆÅäºÏ£¬È·±£Ã¿Ò»Æ¬¶¼ÄÜÔÚÓû§²¥·ÅÆ÷ÐèÒªËüµÄǰһºÁÃ룬¾«×¼ËÍ´ï¡£
ϸÄ廯ÄÚÈÝ·Ö·¢£ºNginxÄܹ»Í¨¹ýlocationÆ¥Å乿Ôò£¬¶Ô²î±ðÀàÐ͵ÄÊÓÆµÄÚÈÝ£¨ÀýÈçÖ±²¥¡¢µã²¥¡¢¸ßÇå¡¢±êÇ壩½ÓÄɲî±ðµÄ·Ö·¢Õ½ÂÔ¡£ÀýÈ磬¹ØÓÚÖ±²¥Á÷£¬¿ÉÄÜÐèÒª¸üµÍµÄÑӳٺ͸üƵÈÔµÄÊý¾Ý¸üУ»¹ØÓÚ¸ßÂëÂʵÄÓ°Ï·£¬Ôò¿ÉÄÜÐèÒª¸üÇ¿µÄ´ø¿í°ü¹Ü¡£NginxµÄÎÞаÐÔʹµÃÕâЩսÂÔÄܹ»±»¾«×¼µØÖ´ÐС£
Çå¾²Óë·À»¤£º³ýÁËÐÔÄÜ£¬NginxÔÚÊÓÆµÄÚÈÝ·Ö·¢Àú³ÌÖÐÒ²ÊÎÑÝ×ÅÇå¾²ÎÀÊ¿µÄ½ÇÉ«¡£Ëü¿ÉÒÔÉèÖ÷ÀµÁÁ´¡¢»á¼û¿ØÖƵȹ¦Ð§£¬±£»¤ÊÓÆµÄÚÈݲ»±»?²»·¨×ªÔØ¡£Ôڸ߲¢·¢³¡¾°Ï£¬NginxÒ²ÄÜÓÐÓõÖÓùÒ»¶¨Ë®Æ½µÄDDoS¹¥»÷£¬±£»¤·þÎñµÄÎȹÌÔËÐС£
ÔÚÆÊÎönginx100vide100µÄÀú³ÌÖУ¬ÎÒÃDz»¿ÉºöÂÔÒ»¸öÖÁ¹ØÖ÷ÒªµÄά¶È£ºÇå¾²¡£ÔÚÊÓÆµÈö²¥?ÊäÖУ¬·ÀµÁ?Á´¡¢DDoS¹¥»÷ºÍÐ®ÖÆÒ»Ö±ÊÇÔËÓªÕßµÄÐÄÍ·´ó»¼¡£¹Å°åµÄÇå¾²Õ½ÂÔÍùÍùÒÔÎþÉüÐÔÄÜΪ¼ÛÇ®£¬Ã¿Ò»²ã¹ýÂ˶¼ÏñÊǸøÈü³µ×°ÉÏÁ˺ñÖØµÄ×°¼×¡£
nginx100vide100µÄÇÉÃîÖ®´¦ÔÚÓÚ£¬Ëü½«Çå¾²ÑéÖ¤Â߼ǶÈëµ½ÁË·Ö·¢²ãµÄ¹Ç×ÓÀï¡£Ëü½ÓÄÉÁËÒì²½·ÇÛÕ±ÕµÄÇ徲УÑé»úÖÆ£¬ÕâÒâζ×ŵ±Ò»¸öÇëÇó½øÀ´Ê±£¬Éí·ÝÑéÖ¤ºÍÊý¾Ý×¼±¸ÊÇͬ²½?¾ÙÐеġ£ÈôÊÇÄãÊÇÕýµ±Óû§£¬Êý¾ÝÏÕЩÔÚÑéÖ¤Íê³ÉµÄ˲¼ä¾Í·¢³öÁË£»ÈôÊÇÄãÊǶñÒâ¹¥»÷Õߣ¬ËüµÄ¶¯Ì¬·À»ðǽģ¿é£¨WAF£©»áÔÚÄں˲ãÖ±½ÓÑïÆú°ü£¬¶ø²»»áÕ¼ÓÃÓ¦ÓòãµÄ´¦Öóͷ£×ÊÔ´¡£
×îÁîÈËÐ˷ܵÄιýÓÚËü¶ÔHTTPS£¨TLS1.3£©µÄÉî¶ÈÓ²¼þ¼ÓËÙÖ§³Ö¡£ÖÚËùÖÜÖª£¬ÊÓÆµ¼ÓÃÜ´«Êä¶ÔCPUµÄÏûºÄ¼«´ó¡£nginx100vide100ͨ¹ýÌØ¶¨µÄÖ¸ÁÓÅ»¯£¬½«ÎÕÊÖÀú³Ì¼ò»¯£¬²¢½«¼Ó½âÃܸºÔØ·ÖÁ÷¡£ÕâÈá°È«Á¿¼ÓÃÜÊÓÆµÁ÷¡±²»ÔÙÊǰº?¹óµÄÉÝ³ÞÆ·£¬¶øÊÇ¿ÉÒÔ´ó¹æÄ£ÆÕ¼°µÄ±êÅä¡£
ÕâÖÖÆ½ºâµÄÒÕÊõ£¬ÕýÊÇÕâ¸ö¼Ü¹¹±»?³ÆÎª¡°100vide100¡±µÄÁíÒ»²ã¼ÄÒ壺100%µÄÇå¾²£¬¼ÓÉÏ100%µÄËÙÂÊ¡£
²¢·¢ÅþÁ¬Ó뻺³åÇøµ÷ÓÅ£ºNginxµÄ?worker_connections²ÎÊý¾öÒéÁËÿ¸öÊÂÇéÀú³ÌÄÜ´¦Öóͷ£µÄ×î´óÅþÁ¬Êý¡£¹ØÓÚÊÓÆµ·þÎñ£¬Õâ¸öÖµÐèÒªÊʵ±µ÷¸ß£¬ÒÔÓ¦¶Ô¸ß²¢·¢µÄԢĿÐèÇó¡£sendfileºÍtcp_nopushÖ¸ÁîÄܹ»ÓÅ»¯Êý¾Ý´«Ê䣬ïÔÌCPU¿ªÏú£¬ÌáÉý´«ÊäЧÂÊ¡£
client_body_buffer_sizeºÍproxy_buffer_sizeµÈ»º³åÇø²ÎÊýµÄºÏÀíÉèÖã¬Ò²ÄÜÓÐÓÃÌáÉý´óÎļþ´«ÊäµÄÍÌÍÂÁ¿¡£GzipѹËõÓëHTTP/2£ºËäÈ»ÊÓÆµÎļþ×Ô¼ºÑ¹ËõÂʲ»¸ß£¬µ«¹ØÓÚһЩԪÊý¾Ý¡¢APIÏìÓ¦µÈ£¬GzipѹËõÈÔÈ»ÄÜÆðµ½¼õС´«ÊäÌå»ý¡¢ÌáÉý¼ÓÔØËÙÂʵÄ×÷Óá£
¶øHTTP/2ÐÒéµÄÒýÈ룬Æä¶à·¸´Óá¢Í·²¿?ѹËõµÈÌØÕ÷£¬¹ØÓÚÊÓÆµÁ÷µÄ?´«ÊäÓÅ»¯ÓÈΪÏÔ×Å£¬Äܹ»ÏÔÖø¸ÄÉÆÔÚÈõÍøÇéÐÎÏ»ò¶àÊÓÆµÍ¬Ê±¼ÓÔØÊ±µÄÓû§ÌåÑé¡£Keep-AliveÅþÁ¬£º¼á³ÖÔ˶¯µÄHTTPÅþÁ¬£¨Keep-Alive£©¹ØÓÚÊÓÆµÁ÷µÄÒ»Á¬´«ÊäÖÁ¹ØÖ÷Òª¡£
Ëü×èÖ¹ÁËÿ´ÎÇëÇó¶¼ÖØÐ½¨ÉèTCPÅþÁ¬µÄ?¿ªÏú£¬Ê¹µÃÊÓÆµÊý¾ÝÄܹ»¸ü˳³©µØ´«Êä¡£NginxµÄkeepalive_timeout²ÎÊýÐèҪƾ֤ÏÖÕæÏàÐξÙÐе÷½â¡£
ÒªÃ÷È·NginxÔõÑùʵÏÖ¾ªÈ˵ÄÊÓÆµÐÔÄÜ£¬ÎÒÃÇÊ×ÏÈÐèÒªÃ÷È·?ÊÓÆµ´«ÊäµÄÖØ´óÐÔ¡£ÊÓÆµÎļþÍùÍùÌå»ýÖØ´ó£¬ÇÒ²¥·ÅÀú³ÌÖÐÐèÒªÒ»Á¬Ò»Ö±µØ?´«ÊäÊý¾ÝÁ÷¡£ÕâÒâζ×Å£º
¸ß´ø¿íÐèÇó£ºÓÈÆäÊÇÔÚ¸ßÇåÉõÖÁ4K/8KÊÓÆµÆÕ¼°µÄ½ñÌ죬µ¥¸öÊÓÆµÁ÷µÄ´ø¿íÕ¼ÓÿÉÄִܵXʮÉõÖÁÉϰÙÕ×±ÈÌØÃ¿Ãë¡£·þÎñÆ÷±ØÐè¾ß±¸´¦Öóͷ£ÔÆÔÆÖØ´óÁ÷Á¿µÄÄÜÁ¦¡£µÍÑÓ³ÙÒªÇó£ºÓû§ÆÚ´ýµÄÊÇ¡°Ã뿪¡±µÄÊÓÆµ£¬Èκγ¤Ê±¼äµÄÆÚ´ý¶¼»áµ¼ÖÂÓû§Á÷ʧ¡£ÑÓ³ÙµÄÀÛ»ý¿ÉÄÜÀ´×ÔÓÚÍøÂç´«Êä¡¢·þÎñÆ÷´¦Öóͷ£ÒÔ¼°´ÅÅÌI/OµÈ?¶à¸ö»·½Ú¡£
¸ß²¢·¢´¦Öóͷ££ºÒ»¸öÈÈÃÅÊÓÆµÔÚá¯Áëʱ¶Î¿ÉÄÜ»áÎüÒý³ÉǧÉÏÍòÉõÖÁÊý°ÙÍòµÄÓû§Í¬Ê±Ô¢Ä¿¡£·þÎñÆ÷ÐèÒªÄܹ»Îȹ̵ØÖ§³ÖÔÆÔÆÖØ´óµÄ²¢·¢ÅþÁ¬Êý£¬²¢ÎªÃ¿¸öÓû§Ìṩ×ÔÁ¦µÄ¡¢²»ÖÐÖ¹µÄ·þÎñ¡£¿çµØÇø·Ö·¢£ºÓû§±é²¼È«Çò£¬ÔõÑùÈ·±£²î±ðµØÀíλÖõÄÓû§¶¼ÄÜ»ñµÃ¿¿½üµÄ²¥·ÅÌåÑ飬Õâ¾ÍÐèÒª¸ßЧµÄÈ«¾Ö·Ö·¢ÄÜÁ¦¡£
¹Å°åµÄWeb·þÎñÆ÷ÔÚ´¦Öóͷ£ÕâЩÌôսʱ£¬ÍùÍù»á×óÖ§ÓÒç©¡£CPUÕ¼ÓÃÂÊìÉý¡¢ÄÚ´æºÄ¾¡¡¢ÅþÁ¬ÖÐÖ¹¡¢ÍøÂçÓµÈûµÈÎÊÌâ˾¿Õ¼û¹ß£¬×îÖÕµ¼ÖÂÓû§ÌåÑéÖ±ÏßϽµ¡£
NginxµÄ½¹µãÓÅÊÆ£ºÎªºÎËüÄÜ¡°100%ÊÓÆµ100%iÐÔÄÜ¡±£¿
ÈôÊÇ˵µÚÒ»²¿·ÖÊÇÔÚ¹¹½¨ÐÛΰµÄ´óÏã¬ÄÇôµÚ¶þ²¿·ÖÔòÊǸö¹ØÓÚ¡°¾«µñϸ×Á¡±µÄ¹ÊÊ¡£nginx100vide100Ö®ÒÔÊDZ»³ÆÎª¡°ÉñÃØÆÊÎö¡±£¬ÊÇÓÉÓÚËüÔÚÐí¶à²»ÎªÈËÖªµÄϸ½ÚÉÏ×öÁË¡°½µÎ¬¹¥»÷¡±Ê½µÄÓÅ»¯¡£
Ê×µ±Æä³åµÄÊÇÆä¶Ô´ÅÅÌI/OµÄ?¾«Ãî¿ØÖÆ¡£ÔÚÊÓÆµ·þÎñÖУ¬ÆµÈԵĶÁд²Ù×÷ÊÇÓ²¼þµÄɱÊÖ¡£nginx100vide100ÒýÈëÁË¡°Á㿽±´¡±£¨Zero-copy£©ÊÖÒÕ£¬Í¨¹ýsendfileϵͳŲÓã¬Ö±½ÓÔÚÄں˿ռäÍê³ÉÊý¾Ý´«Êä£¬ÈÆ¹ýÁËÓû§¿Õ¼äµÄÄڴ濽±´¡£
ÕâÒ»²½¿´ËÆÏ¸Ð¡£¬µ«Ôڸ߲¢·¢³¡¾°Ï£¬ËüʡϵÄCPUÖÜÆÚ×ãÒÔÖ§³ÖÆðÌØÊâ30%µÄÁ÷Á¿¸ºÔØ¡£Õâ¼´ÊÇ¡°100¡±ÏµÁÐÖйØÓÚЧÄÜת»¯µÄ½¹µãÉñÃØÖ®Ò»¡£
½Ó×ÅÊÇÆä¶ÀÊ÷Ò»Öĵġ°ÏÞËÙËã·¨¡±¡£Äã¿ÉÄÜ»áÎÊ£¬ÎªÊ²Ã´ÒªÏÞËÙ£¿ÔÚÊÓÆµÐÐÒµ£¬´ø¿í¾ÍÊÇ¿î×Ó¡£nginx100vide100²¢Ã»ÓнÓÄɼòÆÓ´Ö±©µÄ?ÇжÏÅþÁ¬£¬¶øÊǽÓÄÉÁËÒ»ÖÖ¡°ÁîÅÆÍ°¡±Ëã·¨µÄ±äÌ壬ʵÏÖÁËϸÄ廯µÄÁ÷Á¿ÕûÐΡ£ËüÄÜÆ¾Ö¤Óû§µÄԢĿ½ø¶È¶¯Ì¬·ÖÅÉ´ø¿í£ºÆðʼ½×¶Î¸øÓ豬·¢ÐÔËÙÂÊÒÔʵÏÖÃ뿪£¬½øÈëÎȹ̲¥·ÅÆÚºóÔòƽ»¬Êä³ö¡£
Ϊʲô´ó?´ó¶¼ÏµÍ³ÔÚÃæÁÙÍ»·¢Á÷Á¿Ê±»áÍ߽⣿ÃÕµ×ÍùÍù²»ÔÚÓÚÓ²¼þ²»·óǿʢ£¬¶øÔÚÓÚÈí¼þ²ã?ÃæµÄ¡°Ä¾Í°¶Ì°å¡±¡£¹Å°åµÄNginxÉèÖÃËäÈ»ÓÅÒ죬µ«ÔÚÓ¦¶ÔÏÖ´úÖØ´óµÄ¶¯Ì¬ÄÚÈݺͳ¬´ó¹æÄ£ÊÓÆµ·Ö·¢Ê±£¬ÍùÍù»áÏÝÈëÄÚºË̬ÓëÓû§Ì¬ÆµÈÔÇл»µÄÄà̶¡£
nginx100vide100µÄ½¹µãÉñÃØÖ®Ò»£¬ÔÚÓÚÆä¶Ô¡°·ÇÛÕ±ÕI/O¡±µÄÖØÐ½ç˵¡£ÔÚÕâÒ»¼Ü¹¹Ï£¬Ã¿Ò»ÌõÖ¸Áÿһ¸öÊý¾Ý°üµÄÁ÷ת¶¼¾ÓÉÁËϸÃÜÅÌËã¡£Ëü²»Öª×ãÓÚ±ê×¼µÄÊÂÎñÇý¶¯Ä£×Ó£¬¶øÊÇÒýÈëÁËÉî¶È¶¨ÖƵÄÄÚ´æ¹ÜÀí»úÖÆ¡£Í¨¹ý¶Ô»º´æ²ã¼¶µÄϸÄ廯²ð·Ö£¬nginx100vide100Äܹ»ÈÃ¸ßÆµ»á¼ûµÄÊÓÆµÆ¬¶Ï³£×¤ÓÚ×î¿¿½üCPUµÄ´æ´¢?ÇøÓò£¬´Ó¶øÊµÏÖ½üºõÁãÑÓ³Ù?µÄ¶ÁÈ¡¡£
ÕâÖּܹ¹µÄ÷ÈÁ¦ÔÚÓÚ£¬Ëü½«¡°100¡±Õâ¸öÊý×Ö¾ßÏó»¯ÎªÁËÎȹ̡£ÎÞÂÛÊÇÔÚÆÆÏþÈýµãµÄ?Á÷Á¿µÍ¹È£¬ÕÕ¾ÉÔÚÈ«ÍøÖ±²¥µÄáÛ·åʱ¿Ì£¬ÏµÍ³ÌåÏÖ³öµÄÇúÏßʼÖÕÆ½»¬Èç¾µ¡£ÕâÖÖ¶Ô²¨·åÀ˹ȵļ«Ç¿¿ØÖÆÁ¦£¬ÕýÊÇ¡°nginx100vide100¡±Äܹ»´Ó?Ò»ÖÚÓÅ»¯¼Æ»®ÖÐÍÑÓ±¶ø³öµÄ»ù´¡Ôµ¹ÊÔÓÉ¡£
nginx100vide100»¹Éæ¼°µ½¶Ô»º´æ²ã¼¶µÄ¼«Öµ÷ÓÅ¡£ÔÚÊÓÆµÓªÒµÖУ¬Öظ´µÄÈÈÃÅÄÚÈÝÕ¼ÓÐÁË80%ÒÔÉϵÄÁ÷Á¿¡£NginxµÄproxy_cacheºÍfastcgi_cacheÄ£¿é£¬Í¨¹ý¶à²ã¼¶µÄ»º´æÕ½ÂÔ£¬½«×îÈÈÃŵÄ?ÊÓÆµÇÐÆ¬°²ÅÅÔÚÀëÓû§×î½üµÄÄÚ´æ»ò¸ßËÙSSDÖС£
ÅäºÏ¾«ÃîµÄ¹þÏ£Ëã·¨£¬NginxÄÜÒÔ΢Ãë¼¶µÄËÙÂʶ¨Î»µ½ÕâЩ×ÊÔ´¡£ÕâÖÖÉè¼Æ²»µ«¼õÇáÁ˺ó¶Ë´æ?´¢µÄѹÁ¦£¬¸ü¹¹½¨ÆðÁËÒ»µÀ¼áÈçÅÌʯµÄÁ÷Á¿µÌ°Ó¡£
ÊÖÒÕµÄá¯ÁëÓÀÎÞÖ¹¾³¡£nginx100vide100Ö®ÒÔÊDZ»³ÆÎª¡°ÉñÃØÆÊÎö¡±£¬ÊÇÓÉÓÚËü²»?½ö½öÊÇÉèÖÃÎļþµÄ¶ÑÆö£¬¸üÊÇÒ»ÖÖ¶ÔÍøÂçÐÒéµÄÉî¿ÌÃ÷È·¡£ÔÚPart1µÄ?ÎÒÃÇÒªÌáµ½µÄÊÇËü¶Ô³¤ÅþÁ¬£¨Keep-Alive£©µÄ¹ÜÀí¡£ÔÚÊÓÆµ²¥·ÅÀú³ÌÖУ¬ÆµÈÔµÄTCPÎÕÊÖÊÇÐÔÄܵÄɱÊÖ¡£
Nginxͨ¹ý¾«×¼¿ØÖÆÅþÁ¬³Ø£¬È·±£ÁËÿһ¸ö¿Í»§¶ËÅþÁ¬¶¼ÄÜ»ñµÃ×Ч¡¢×îÎȹ̵Äά»¤¡£ÕâÖÖ¶Ôϸ½ÚµÄ°Ñ¿Ø£¬ÕýÊÇnginx100vide100Äܹ»ÈÃÍòǧÓû§Í¬Ê±ÔÚÏß¶ø»¥²»×ÌÈŵĵׯøËùÔÚ¡£
Õâ¹ØÓÚÖ±²¥ºÍµã²¥³¡¾°¶¼¼«ÎªÖ÷Òª¡£Á㿽±´£¨Zero-Copy£©ÊÖÒÕ£ºÔÚLinuxÄÚºËÖУ¬Nginx¿ÉÒÔʹÓÃsendfile()ϵͳŲÓÃʵÏÖÁ㿽±´¡£ÕâÒâζ×Å£¬ÔÚ½«ÊÓÆµÎļþ´Ó´ÅÅÌ·¢Ë͵½ÍøÂçʱ£¬Êý¾ÝÎÞÐè¾ÓÉÓû§¿Õ¼äºÍÄں˿ռäÖ®¼äµÄ¶à´Î¿½±´£¬Ö±½ÓÔÚÄں˿ռäÍê³É´«Êä¡£
Õ⼫´óµØïÔÌÁËCPUµÄ¿ªÏúºÍÄڴ濽±´µÄ´ÎÊý£¬ÏÔÖøÌá¸ßÁËÎļþ´«ÊäµÄЧÂÊ£¬ÓÈÆäÊÇÔÚ´óÎļþ´«Ê䳡¾°Ï£¬Ð§¹û¸üΪÏÔÖø¡£Ë³Ó¦ÐÔÁ÷ýÌåÐÒéµÄÖ§³Ö£ºÏÖ´úÊÓÆµ´«ÊäÆÕ±é½ÓÄÉ˳ӦÐÔ±ÈÌØÂÊÁ÷ýÌ壨AdaptiveBitrateStreaming,ABS£©ÊÖÒÕ£¬ÈçHLS(HTTPLiveStreaming)ºÍDASH(DynamicAdaptiveStreamingoverHTTP)¡£
ÕâЩÊÖÒÕÔÊÐí·þÎñÆ÷ƾ֤¿Í»§¶ËµÄÍøÂç״̬ºÍ×°±¸ÄÜÁ¦£¬¶¯Ì¬µØÍÆËͲî±ðÖÊÁ¿µÄÊÓÆµÁ÷£¬´Ó¶øÌṩ¸üÁ÷ͨµÄԢĿÌåÑé¡£Nginx¿ÉÒÔͨ¹ýÏìÓ¦µÄÄ£¿é£¨Èçngx_http_hls_module»òͨ¹ýµÚÈý·½Ä£¿é£©À´Ö§³ÖÕâЩÐÒ飬¾ÙÐÐÊÓÆµ·Ö¶Î¡¢ÌìÉú²¥·ÅÁÐ±í£¨M3U8/MPD£©£¬²¢?ÓÐÓõؽ«ÕâЩýÌåÇÐÆ¬·Ö·¢¸ø¿Í»§¶Ë¡£
proxy_cache_path£º½ç˵ÁË»º´æµÄ´æ´¢Â·¾¶¡¢¾Þϸ»ººÍ´æÏîÊýÄ¿¡£ºÏÀíÉèÖÃlevels¿ÉÒÔÓÅ»¯»º´æ²éÕÒЧÂÊ¡£proxy_cache£ºÆôÓûº´æ¡£proxy_cache_valid£ºÉèÖòî±ðHTTPÏìÓ¦ÂëµÄ»º´æÊ±¼ä¡£¹ØÓÚÊÓÆµ×ÊÔ´£¬Í¨³£¿ÉÒÔÉèÖýϳ¤µÄ»º´æÊ±¼ä¡£
proxy_cache_key£º½ç˵»º´æµÄ¼ü¡£È·±£ÎªÊÓÆµ×ÊÔ´ÌìÉúΨһµÄ»º´æ¼ü£¬×èÖ¹²î±ðÊÓÆµ±»¹ýʧµØ?»º´æµ½Ò»Æð¡£add_headerX-Cache-Status£ºÔÚÏìӦͷÖÐÌí¼Ó»º´æ×´Ì¬ÐÅÏ¢£¬Àû±ã¼à¿ØºÍµ÷ÊÔ»º´æÖÀÖÐÂÊ¡£proxy_cache_use_stale£ºÔÊÐíÔÚ»º´æÓâÆÚʱ£¬ÈôÊǺó¶Ë²»¿ÉÓã¬ÈÔÈ»ÌṩÓâÆÚ»º´æ£¬°ü¹Ü·þÎñµÄ?¿ÉÓÃÐÔ¡£
ÀýÈ磬ngx_http_mp4_moduleÄܹ»ÓÅ»¯MP4ÎļþµÄÁ÷ʽ´«Ê䣬ngx_http_flv_moduleÄܹ»´¦Öóͷ£FLVÃûÌõÄÊÓÆµ£¬¶øngx_http_hls_moduleºÍngx_http_dash_moduleÔòÄܹ»ÎªHLSºÍDASHµÈ×Ô˳Ӧ±ÈÌØÂÊÁ÷ýÌåÐÒéÌṩ֧³Ö¡£
ÕâÖÖÄ£¿é»¯Éè¼ÆÊ¹µÃNginxÄܹ»¡°Á¿Éí¶¨ÖÆ¡±£¬ÍêÉÆÆõºÏÖÖÖÖÖØ´óµÄÊÓÆµ³¡¾°¡£¾«²ÊµÄ·´Ïò´úÀíºÍ¸ºÔØÆ½ºâÄÜÁ¦£ºÏÖ´úÊÓÆµÆ½Ì¨Í¨³£Óɶà¸öºó¶Ë·þÎñÆ÷Ìṩ·þÎñ£¬Nginx×÷Ϊ·´Ïò´úÀí£¬Äܹ»ÓÐÓõØÎ´À´×Ô¿Í»§¶ËµÄÇëÇó·Ö·¢µ½?ÕâЩºó¶Ë·þÎñÆ÷¡£ÆäÄÚÖõĶàÖÖ¸ºÔØÆ½ºâËã·¨£¨ÈçÂÖѯ¡¢¼ÓȨÂÖѯ¡¢IP¹þÏ£µÈ£©Äܹ»È·±£Á÷Á¿µÄÔȳƷÖÅÉ£¬×èÖ¹µ¥µã¹ÊÕÏ£¬²¢×î´óÏ޶ȵØÊ¹Óúó¶Ë·þÎñÆ÷µÄ×ÊÔ´£¬´Ó?¶øÕûÌåÌáÉýÊÓÆµ·þÎñµÄ¿ÉÓÃÐÔºÍÎȹÌÐÔ¡£
ÓâÔ½¼«ÏÞ£ºÎªºÎ100vide100ÊÇÊÓÆµ¼Ü¹¹µÄ¡°»Æ½ðÖ§½âµã¡±£¿
ÔÚÏÖÔÚÕâ¸öÐÅÏ¢±¬Õ¨µÄÊý×Öʱ´ú£¬ÊÓÆµÔçÒѲ»ÔÙÊǵ¥?´¿µÄÓéÀÖÏûDz£¬Ëü³ÉΪÁË»¥ÁªÍøÁ÷Á¿µÄ¾ø¶ÔͳÖÎÕß¡£ÎÞÂÛÊǶÌÊÓÆµµÄÖ¸¼âÌø¶¯£¬Õվɳ¬ÇåÖ±²¥µÄË¿»¬ÌåÑ飬±³ºó¶¼ÓÐÒ»³¡¹ØÓÚ´ø¿í¡¢ÑÓ³ÙÓëËãÁ¦µÄÎÞÉùÕ½Õù¡£¶øµ±ÎÒÃÇ̸ÂÛ¡°nginx100vide100¡±Ê±£¬Õâ²¢²»µ«½öÊÇÒ»¸öÊÖÒÕ´úÂë»ò¼òÆÓµÄÉèÖòÎ?Êý£¬Ëü¸üÏñÊÇÒ»ÖÖÐÅÑö¡ª¡ªÒ»ÖÖ×·ÇóÔÚ100%µÄ¸ºÔØÑ¹Á¦Ï£¬ÒÀÈ»¼á³Ö100%Á÷ͨ¶ÈµÄ¹¤³ÌÒÕÊõ¡£
ÒªÃ÷È·nginx100vide100µÄÉñÃØ£¬ÎÒÃDZØÐèÏȻص½NginxµÄ?½¹µã¡£×÷Ϊһ¸öÒÔ¸ßÐÔÄÜ¡¢¸ß²¢·¢Öø³ÆµÄ·´Ïò´úÀí·þÎñÆ÷£¬NginxµÄÏÈÌìÔÚÓÚÆä׿ԽµÄÊÂÎñÇý¶¯Ä£×Ó£¨Event-Driven£©¡£µ«Í¨Ë×µÄ?NginxÉèÖÃÔÚÃæÁÙº£Á¿ÊÓÆµÇÐÆ¬¡¢TB¼¶µÄ²¢·¢´ø¿íʱ£¬ÍùÍù»áÏÔµÃÁ¦ÓÐδ´þ¡£
100vide100ϵͳµÄ·ºÆð£¬ÕýÊÇΪÏàʶ¾öÊÓÆµ·Ö·¢Öеġ°Ä¾Í°Ð§Ó¦¡±¡£
ÉñÃØÇ±ÔÚÔÚ¡°ÅþÁ¬µÄÒÕÊõ¡±ÖС£ÔÚnginx100vide100µÄÂß¼Àÿһ¸öWorkerÀú³Ì¶¼±»¸¶ÓëÁ˼«ÖµÄÉúÃüÁ¦¡£Í¨¹ý¶ÔCPUÇ׺ÍÁ¦£¨CPUAffinity£©µÄÉî¶È°ó¶¨£¬·þÎñÆ÷µÄÿһ¿Å½¹µã¶¼±»×¼È··ÖÅɵ½ÁËÊÓÆµÁ÷µÄ´¦Öóͷ£Ê¹ÃüÉÏ£¬×èÖ¹ÁËÀú³ÌÇл»´øÀ´µÄÉÏÏÂÎÄ¿ªÏú¡£
nginx100vide100ÔڵײãÂß¼Öдó×ÚÔËÓÃÁË¡°Á㿽±´¡±£¨Zero-Copy£©ÊÖÒÕ¡£ÔÚ´¦Öóͷ£º£Á¿ÊÓÆµÊý¾Ýʱ£¬Êý¾ÝÔÚÄں˻º³åÇøºÍÓ¦ÓóÌÐò»º³åÇøÖ®¼äµÄÿһ´Î¸´Öƶ¼ÊǶÔCPU×ÊÔ´µÄÖØ´óÆÌÕÅ¡£nginx100vide100ͨ¹ýÐÞ¸ÄÄں˲ÎÊýÓëNginxÄ£¿éµÄÉî¶ÈñîºÏ£¬ÈÃÊý¾ÝÖ±½Ó´Ó´ÅÅÌ»òÍøÂç½Ó¿Ú·¢Ë͵½¿Í»§¶Ë£¬ÈƹýÁËËùÓв»ÐëÒªµÄÖÐÐÄ»·½Ú¡£
ÕâÖÖ¡°Ö±´ïÄ¿µÄ?¡±µÄ±©Á¦ÃÀѧ£¬È÷þÎñÆ÷µÄÍÌÍÂÁ¿Ë²¼äÍ»ÆÆÁ˹ŰåÈÏÖªµÄÉÏÏÞ¡£
¸Ã¼Ü¹¹Öл¹Òþ²Ø×ÅÒ»¸öÃûΪ¡°¶¯Ì¬¸ºÔØ×Ô˳Ӧ¡±µÄÄ£¿é¡£ÔڹŰåµÄ100¸ö²¢·¢´¦Öóͷ£ÖУ¬×ÊÔ´·ÖÅÉÍùÍùÊÇÆ½¾ùµÄ£¬µ«ÔÚnginx100vide100µÄÉñÃØ×ÖµäÀûÓоø¶ÔµÄ?ƽ¾ù£¬Ö»Óоø¶ÔµÄЧÂÊ¡£Ëü»áʵʱ¼à¿ØÃ¿¸öÅþÁ¬µÄÖÊÁ¿£¬¹ØÓÚÐŵÀÓÅÒìµÄÇëÇó¸øÓèÈ«ËÙͨÐУ¬¶ø¹ØÓÚÖØ´«?ÂʸߵÄÅþÁ¬Ôò¾ÙÐÐÖÇÄÜÏÞÁ÷£¬È·±£ÕûÌåÐÐÁеĸßËÙÁ÷ת¡£
ÕâÖÖϸÄ廯µ½Ã¿Ò»¸öTCPÅþÁ¬µÄ¿ØÖÆÁ¦£¬ÕýÊÇÆäÃû³ÆÖС°100¡±Ëù´ú±íµÄÍêÉÆÖ´ÐÐÁ¦¡£
ÉÌÒµÊÓҰϵÄnginx100vide100£º²»µ«½öÊÇÊÖÒÕ
Ëü¿ÉÒÔÎüÊÕÀ´×ÔOBS¡¢FFmpegµÈÍÆÁ÷¹¤¾ßµÄÖ±²¥Á÷£¬²¢½«Æäת·¢¸ø¹ÛÖÚ¡£HLS/DASHµÄ×Ô˳Ӧ±ÈÌØÌ¹Âʲ¥£ºÎªÁËÓ¦¶Ô²î±ðÍøÂçÇéÐÎϵÄÓû§£¬HLSºÍDASHÐÒéÔÚÖ±²¥ÖÐÔ½À´Ô½ÆÕ¼°¡£Nginx¿ÉÒÔͨ¹ýnginx-rtmp-moduleÌṩµÄ¹¦Ð§£¬½«RTMPÁ÷ʵʱµØ×ª»»ÎªHLS»òDASHÃûÌõÄýÌåÇÐÆ¬ºÍ²¥·ÅÁÐ±í¡£
ÕâÑù£¬¹ÛÖھͿÉÒÔÆ¾Ö¤×Ô¼ºµÄÍøÂçÇéÐΣ¬×Ô¶¯Ñ¡Ôñ×îºÏÊʵÄÊÓÆµÖÊÁ¿£¬×èÖ¹¿¨¶Ù¡£NginxµÄ¸ßЧ»º´æºÍ·Ö·¢ÄÜÁ¦£¬Äܹ»È·±£´ó?Á¿¹ÛÖÚͬʱԢĿֱ²¥Ê±£¬ÒÀÈ»Äܹ»»ñµÃ?Á÷ͨµÄÌåÑé¡£µÍÑÓ³ÙÖ±²¥½â¾ö¼Æ»®£º¹ØÓÚÐèÒª¼«µÍÑÓ³ÙµÄÖ±²¥³¡¾°£¨Èçµç¾ºÈüÊ¡¢ÔÚÏß»¥¶¯£©£¬Nginx»¹¿ÉÒÔÓëÆäËûÊÖÒÕÍŽᣬÀýÈçWebRTC¡£
Nginx¿ÉÒÔ×÷ΪWebRTCýÌå·þÎñÆ÷µÄÐÅÁî·þÎñÆ÷£¬ÐÖú¿Í»§¶Ë½¨ÉèP2P»òSFU(SelectiveForwardingUnit)ÅþÁ¬£¬ÊµÏÖµÍÑÓ³ÙµÄÊÓÆµ´«Êä¡£
3.WebRTCµÄ¸³ÄÜ£ºNginx×÷ΪÐÅÁî·þÎñÆ÷ÓëýÌåת·¢
WebRTC(WebReal-TimeCommunication)ÊÇÒ»Ïî¸ïÃüÐÔµÄÊÖÒÕ£¬ËüÔÊÐíä¯ÀÀÆ÷Ö®¼äÖ±½Ó¾ÙÐÐʵʱÒôÊÓÆµÍ¨Ñ¶£¬¶øÎÞÐè²å¼þ¡£NginxÔÚWebRTC¼Ü¹¹ÖÐͬÑù¿ÉÒÔʩչÖ÷Òª×÷Óãº
worker_processes£ºÕâ¸öÖ¸Áî¾öÒéÁËNginxÆô¶¯¼¸¶à¸öÊÂÇéÀú³Ì¡£Í¨³£ÇéÐÎÏ£¬½«ÆäÉèÖÃΪCPU½¹µãÊý»òÕßÉÔ¶àһЩ£¨ÀýÈ磬4ºËCPUÉèÖÃΪ4»ò8£©¿ÉÒÔ³ä·ÖʹÓöàºË´¦Öóͷ£Æ÷µÄÓÅÊÆ¡£¹ØÓÚÊÓÆµ·þÎñÆ÷¶øÑÔ£¬Êʵ±ÔöÌíÊÂÇéÀú³Ì¿ÉÒÔ¸üºÃµØ´¦Öóͷ£²¢·¢I/O¡£
worker_connections£ºÕâ¸öÖ¸Áî½ç˵ÁËÿ¸öÊÂÇéÀú³ÌÄܹ»Í¬Ê±´¦Öóͷ£µÄ×î´óÅþÁ¬Êý¡£Õâ¸öÖµÐèҪƾ֤·þÎñÆ÷µÄÄÚ´æºÍÏÖʵӪҵÐèÇóÀ´É趨¡£ÊÓÆµÈö²¥ÊäÐèҪά³Ö³¤ÅþÁ¬£¬Òò´ËÕâ¸öֵͨ³£ÐèÒªÉèÖõýÏÁ¿¸ß£¬ÀýÈç10240»ò¸ü¸ß¡£È·±£ulimit-n£¨Îļþ¾ä±ú?ÏÞÖÆ£©Ò²ÏìÓ¦Ìá¸ß£¬ÒÔÖ§³Ö¸ß²¢·¢ÅþÁ¬¡£
ÈõÍøÇéÐÎϵġ°ÄæÏ®¡±£ºÔÚÒÆ¶¯»¥ÁªÍøÊ±´ú£¬Óû§ËæÊ±ËæµØ¶¼¿ÉÄÜÃæÁÙÍøÂçÐźŲ»¼ÑµÄÇéÐΡ£NginxµÄHTTP/2ÐæÅºÍϸÄ廯µÄ»º´æÕ½ÂÔ£¬Äܹ»ÏÔÖø¸ÄÉÆÊÓÆµÔÚÈõÍøÇéÐÎϵIJ¥·ÅÌåÏÖ¡£Í¨¹ýïÔÌÅþÁ¬´ÎÊý¡¢ÓÅ»¯Êý¾Ý´«Ê䣬×ÝÈ»ÔÚÐźŲ»?Îȹ̵ÄÇéÐÎÏ£¬Óû§Ò²ÄÜ»ñµÃÏà¶ÔÁ÷ͨµÄԢĿÌåÑ飬¶ø²»ÊÇÍêÈ«±»¶Ï¿ªÅþÁ¬¡£
Nginx100%VideoµÄ¡°Ä»ºóÓ¢ÐÛ¡±£ºÖÇÄÜÓ뵯ÐÔ
ʵÏÖ¡°Nginx100%Video¡±¾ø·ÇÒ»õí¶ø¾Í£¬ËüÐèÒªNginxÔÚ±³ºóĬĬµØ?ÊÎÑÝ×Å¡°Ä»ºóÓ¢ÐÛ¡±µÄ½ÇÉ«£¬Í¨¹ýÖÇÄܵÄÕ½ÂԺ͵¯ÐÔµÄ?¼Ü¹¹£¬Ó¦¶ÔÖÖÖÖÖØ´ó³¡¾°¡£
ÖÇÄÜÁ÷Á¿µ÷Àí£ºNginxµÄ¸ºÔØÆ½ºâ¹¦Ð§²¢²»µ«½öÊǼòÆÓ?µÄÂÖѯ¡£Í¨¹ýÉèÖã¬Ëü¿ÉÒÔʵÏÖ»ùÓÚ¿Í»§¶ËIP¡¢ÇëÇóÏìӦʱ¼äµÈ¶àÖÖά¶ÈµÄ?ÖÇÄÜÁ÷Á¿µ÷Àí¡£ÕâÒâζ×Å£¬NginxÄܹ»½«Óû§ÇëÇóÓÅÏȵ¼Ïò¸ºÔؽϵ͡¢ÏìÓ¦ËÙÂʸü¿ìµÄ·þÎñÆ÷£¬´Ó¶ø½øÒ»²½ÌáÉýÕûÌå·þÎñµÄÏìÓ¦ÄÜÁ¦ºÍÓû§ÌåÑé¡£
µ¯ÐÔÉìËõ£¬Ó¦¶Ô·åÖµ£ºÊÓÆµÄÚÈÝÍùÍùÅãͬ×ű¬·¢Ê½µÄÁ÷Á¿ÔöÌí£¬ÀýÈçÌåÓýÈüÊÂÖ±²¥¡¢ÈÈÞ缯ÉÏÏߵȡ£NginxµÄÊÂÎñÇý¶¯Ä£×Ӻ͸ßЧµÄ²¢·¢´¦Öóͷ£ÄÜÁ¦£¬Ê¹µÃÆäÔÚÃæÁÙÁ÷Á¿á¯ÁëʱÄܹ»Õ¹ÏÖ³öǿʢµÄµ¯ÐÔ¡£Í¨¹ýºáÏòÀ©Õ¹Nginx·þÎñÆ÷¼¯Èº£¬²¢ÍÅ½á¸ºÔØÆ½ºâ£¬¿ÉÒÔÇáËÉÓ¦¶ÔÍ»·¢Á÷Á¿£¬°ü¹Ü·þÎñµÄ¿ÉÓÃÐÔ¡£
Õâ¾ÍÊÇnginx100vide100ÏëÒª´ï?µ½µÄ¾³½ç¡£ËüͨÏ꾡ÃܵIJÎÊý΢µ÷£¬È·±£ÊÓÆµµÄ·ÖƬÊý¾ÝÄܹ»ÒÔ×î¿ìµÄ·¾¶´Ó´ÅÅÌÌøÔ¾µ½?ÄÚ´æ?£¬ÔÙÉÁµç°ãµØ?ͶÉäµ½Óû§µÄÆÁÄ»ÉÏ¡£
ÎÒÃÇÔÙÀ´¿´¿´ÊÓÆµ¼ÓÔØÖÐ×îÐþѧµÄ²¿·Ö£ºÊׯÁ¿ªÆôËÙÂÊ¡£nginx100vide100ͨ¹ýÔ¤¶Á£¨Pre-read£©ºÍÖÇÄÜ»º´æÕ½ÂÔ£¬Í»ÆÆÁ˹ŰåÊÓÆµÀÈ¡µÄÖͺó¸Ð¡£Ëü²»µ«½öÊDZ»¶¯µØÆÚ´ýÓû§µã»÷£¬¶øÊÇͨ¹ý¶ÔÈÈÃÅÄÚÈݵÄͳ¼ÆÆÊÎö£¬ÌáǰÔÚÄÚ´æÖС°±¸»õ¡±¡£µ±Äãµã»÷²¥·ÅµÄÄÇÒ»¿Ì£¬Êý¾Ý×ÅʵÔçÒÑÔÚÆðµãÐîÊÆ´ý·¢¡£
ÕâÖÖ¡°Î´²·ÏÈÖª¡±µÄÄÜÁ¦£¬ÈÃÔ±¾´Ö±¿µÄÊÓÆµÎļþ±äµÃÏñÎı¾Ò»ÑùÇáÓ¯¡£
nginx100vide100»¹Éî¶ÈÕûºÏÁËTCPÐÒéÕ»µÄµ×?²ãÓÅ»¯¡£ÔÚÖØ´óµÄÍøÂçÇéÐÎÏ£¬ÌØÊâÊÇÃæÁÙÒÆ¶¯¶ËÓû§Ê±£¬ÍøÂç²ü¶¶ÊÇ˾¿Õ¼û¹ß¡£nginx100vide100ͨ¹ý¶ÔÓµÈû¿ØÖÆËã·¨µÄÕë¶ÔÐÔµ÷½â£¬Äܹ»ÔÚ´ø¿íÊÜÏÞµÄ?ÇéÐÎÏ£¬ÒÀÈ»¼á³ÖÊÓÆµÁ÷µÄÒ»Á¬ÐÔ¡£
ËüÏñÊÇÒ»¸öÂÄÀú¸»ºñµÄÀÏ˾»ú£¬×ÝÈ»ÔÚÓµ¶ÂµÄ·¶Î£¬Ò²ÄÜͨ¹ýƵÈÔµÄ΢²ÙѰÕÒåÐÒ££¬Î¬³Ö³µËÙ¡£ÕâÖÖ¶Ô²¨¶¯µÄ¶Ô¿¹Á¦£¬ÕýÊÇÌáÉýÍøÕ¾ËÙÂÊ¡¢È·±£Á÷ͨÌåÑéµÄÒªº¦ËùÔÚ¡£
ÕâÖָıä¾ÍÏñÊÇÔ±¾?ÐèÒªÖÐתÈý´ÎµÄ¿ìµÝ£¬ÏÖÔÚÓÐÁËÖ±´ïרÏß¡£ÔÙÅäºÏaio£¨Òì²½I/O£©ÒÔ¼°directio£¬ÊÓÆµÎļþÔÚ¶Áȡʱ²»»áÛÕ±ÕWorkerÀú³Ì£¬´Ó¶øÊͷųö¾ªÈ˵Ĵ¦?ÀíDZÄÜ¡£
½Ó×ÅÊÇÕë¶ÔHLS£¨HTTPLiveStreaming£©»òDASHÕâÖÖ·Ö¶ÎÁ÷ýÌåÐÒéµÄ?רÏîÓÅ»¯¡£nginx100vide100ÆÊÎöÖаüÀ¨ÁËÒ»ÌׯæÒìµÄÇÐÆ¬»º´æÂß¼¡£ËüÄܹ»ÖÇÄÜʶ±ðË÷ÒýÎļþ£¨.m3u8£©ÓëÊý¾Ý·ÖƬ£¨.ts£©£¬²¢¸øÓè²î±ðµÄ»º´æÓÅÏȼ¶¡£
Ë÷ÒýÎļþ¼«Ð¡ÇÒ»á¼ûƵÈÔ£¬Ëü»á±»³£×¤ÔÚ×î¿ìµÄÄÚ´æ²ã£»¶øÖØ´óµÄÊý¾Ý·ÖƬÔòƾ֤ÈȶȾÙÐж¯Ì¬Öû»¡£ÕâÖֲ㼶Ã÷È·µÄ?´æ´¢Õ½ÂÔ£¬È·±£ÁË×ÝÈ»ÔÚÊýÍòÈËͬʱÔÚÏßÇÀ¿´×îо缯ʱ£¬Ò²²»»á±¬·¢ÓÉÓÚ´ÅÅÌI/OÅŶӵ¼?ÖµÄÏìÓ¦ÑÓ³Ù¡£
ÔÚÇå¾²ÐÔÓëÐÔÄܵį½ºâÉÏ£¬nginx100vide100Ò²ÓÐ×ŶÀµ½µÄ¿´·¨¡£Ëæ×ÅHTTPSµÄÆÕ¼°£¬TLSÎÕÊÖÍùÍù³ÉÁËÍÏÀÛËÙÂʵÄÔªÐס£nginx100vide100ÍÆÐíʹÓÃ×îеÄ?TLS1.3ÐÒ飬²¢¿ªÆôSessionResumption£¨»á»°»Ö¸´£©¡£
µÚ?Ò»¸öÉñÃØ£¬Òþ²ØÔÚNginxµÄ¡°ÊÂÎñÇý¶¯¡±¼Ü¹¹ÖС£¹Å°åµÄ·þÎñÆ÷¼Ü¹¹£¨ÈçÔçÆÚµÄApache£©ÍùÍù½ÓÄÉ¡°Ò»ÇëÇóÒ»Àú³Ì/Ï̡߳±µÄģʽ¡£ÕâÖÖģʽÔÚ´¦Öóͷ£ÊÓÆµÕâÖÖ´óÎļþ¡¢³¤ÅþÁ¬µÄӪҵʱ£¬»áѸËÙÏûºÄµôϵͳÄÚ´æ?£¬µ¼Ö·þÎñÆ÷å´»ú¡£¶øNginx½ÓÄÉÁËÒì²½·ÇÛÕ±ÕµÄÊÂÎñ´¦Öóͷ£Ä£×Ó¡£
ÕâÒâζ×Å£¬µ±³ÉǧÉÏÍò¸öÓû§Í¬Ê±ÀÈ¡ÊÓÆµÁ÷ʱ£¬Nginx²¢²»ÐèҪΪÿһ¸öÓû§¿ªÆôÒ»¸öÌÚ¹óµÄỊ̈߳¬Ëü¸üÏñÊÇÒ»¸ö¼«Æä¸ßЧµÄµ÷ÀíÔ±£¬Ö»ÔÚÊý¾ÝÕæÕý×¼±¸ºÃ·¢Ë͵ÄÄÇÒ»¿Ì²ÅÐÐÖ¹Öá£ÕâÖÖ¡°ÒÔÒ»µ±°Ù¡±µÄÄÜÁ¦£¬ÊÇnginx100vide100Äܹ»³ÐÔØº£Á¿Á÷Á¿µÄÎïÀí»ù´¡¡£
µÚ¶þ¸öÉñÃØ£¬ÔòÊǹØÓÚ¡°ÄÚ´æ?ÓëÁ㿽±´¡±µÄÒÕÊõ¡£ÔÚÊÓÆµ´«ÊäÖУ¬Êý¾ÝµÄ¿½±´´ÎÊýÖ±½Ó¾öÒéÁËCPUµÄ¸ºÔØ¡£nginx100vide100¼Ü¹¹Éî¶ÈʹÓÃÁËLinuxÄں˵Äsendfile»úÖÆ¡£ÔÚͨË×ģʽÏ£¬Ò»¸öÊÓÆµÆ¬¶Ï´Ó´ÅÅ̶Áµ½Óû§ÊÖÖУ¬ÐèÒª¾Óɶà´ÎÄں˿ռäÓëÓû§¿Õ¼äµÄÇл»ºÍ¿½±´¡£
¶øÍ¨¹ýNginxµÄÈ«ÐÄÉèÖã¬Êý¾Ý¿ÉÒÔÖ±½Ó´Ó´ÅÅÌ»º³å?Çø´«Êäµ½Íø¿¨»º³åÇø£¬ÍêÈ«ÈÆ¹ýÁËCPU¡£ÕâÖÖ¡°Á㿽±´?¡±ÊÖÒÕ£¬ÈÃNginxÔÚ´¦Öóͷ£4KÉõÖÁ8KÊÓÆµÁ÷ʱ£¬ÒÀÈ»Äܼá³Ö¾ªÈ˵ĵÍCPUÕ¼ÓÃÂÊ¡£ÕâÕýÊÇΪʲô¼´±ãÔÚ¼«¸ß¸ºÔØÏ£¬ÄãµÄÊÓÆµ½ø¶ÈÌõÒÀÈ»Äܹ»¡°Ã뿪¡±µÄÒªº¦ËùÔÚ¡£
QUICÐÒéÔò»ùÓÚUDP£¬½øÒ»²½½â¾öÁËTCPµÄ¶ÓÍ·ÛÕ±ÕÎÊÌ⣬²¢ÄÚÖÃÁËTLS¼ÓÃÜ£¬ÎªÊÓÆµ´«Êä´øÀ´Á˸üµÍµÄÑӳٺ͸ü¸ßµÄ¿É¿¿ÐÔ¡£Nginx¶ÔÕâЩÐÂÐÒéµÄÖ§³Ö£¬ÎªÊµÏÖ¡°100%ÊÓÆµ100%iÐÔÄÜ¡±ÌṩÁËÊÖÒÕ°ü¹Ü¡£
Part1×ܽ᣺NginxÒÀ¸½ÆäÊÂÎñÇý¶¯µÄÒì²½·ÇÛձռܹ¹¡¢¸ßЧµÄ¾²Ì¬Îļþ·þÎñ¡¢Ç¿Ê¢µÄ»º´æºÍ¸ºÔØÆ½ºâÄÜÁ¦£¬ÒÔ¼°¶ÔÐÂÐÒéµÄÖ§³Ö£¬´Ó»ù´¡ÉϽâ¾öÁ˹ŰåWeb·þÎñÆ÷ÔÚ´¦Öóͷ£¸ß²¢·¢¡¢¸ÅÂÔ»ýÊÓÆµÎļþʱµÄÐÔÄÜÆ¿¾±¡£ËüÄܹ»ÒÔ¼«µÍµÄ×ÊÔ´ÏûºÄ£¬ÌṩÎȹ̡¢¿ìËÙ¡¢¿É¿¿µÄÊÓÆµ´«Êä·þÎñ£¬ÎªÊµÏÖ¡°Nginx100%ÊÓÆµ100%iÐÔÄÜ¡±µÓÚ¨Á˼áʵµÄ»ù´¡¡£
ÔÚ½ÓÏÂÀ´µÄPart2ÖУ¬ÎÒÃǽ«ÉîÈë̽ÌÖÔõÑùͨ¹ýÏêϸµÄÉèÖúÍÓÅ»¯¼¼ÇÉ£¬½«NginxµÄÊÓÆµÐÔÄÜʩչµ½¼«Ö¡£
Nginx100%ÊÓÆµ100%iÐÔÄÜ£ºÏ¸Ä廯µ÷ÓÅ£¬ÊÍ·ÅNginxµÄËùÓÐDZÄÜ
ÔÚPart1ÖУ¬ÎÒÃÇÉîÈëÏàʶÁËNginxÔڼܹ¹Éè¼ÆºÍ½¹µã¹¦Ð§ÉÏΪºÎÄܹ»³ÉΪÊÓÆµ´«ÊäÁìÓòµÄٮٮÕß¡£½ö½öÓµÓÐǿʢµÄ»ù´¡»¹È±·¦ÒÔµÖ´ï¡°100%ÊÓÆµ100%iÐÔÄÜ¡±¡£ÒªÕæÕýÊÍ·ÅNginxµÄ?ËùÓÐDZÄÜ£¬ÊµÏÖ¼«ÖÂÁ÷ͨµÄ?ÊÓÆµÌåÑ飬»¹ÐèÒªÎÒÃǾÙÐÐһϵÁÐϸÄ廯µÄÉèÖúÍÓÅ»¯¡£
ʹÓÃngx_http_mp4_moduleÓÅ»¯MP4Á÷ʽ´«Ê䣺¹ØÓÚMP4ÃûÌõÄÊÓÆµ£¬¿ÉÒÔͨ¹ýmp4Ö¸Áî¾ÙÐÐÓÅ»¯£¬ÀýÈçmp4_buffer_sizeºÍmp4_max_buffer_size£¬ÒÔ¸ü¸ßЧµØ´¦Öóͷ£MP4ÎļþµÄÁ÷ʽ´«Ê䣬ïÔÌÑÓ³Ù¡£
Óµ±§HTTP/2£ºÔÚNginxÖÐÆôÓÃHTTP/2£¬¿ÉÒÔÏÔÖø¸ÄÉÆ¶àÎļþÏÂÔØºÍÊÓÆµÁ÷µÄ¼ÓÔØËÙÂÊ¡£Ë¼Á¿Ê¹ÓõÚÈý·½Ä£¿é£º¹ØÓÚ¸ü¸ß¼¶µÄÊÓÆµ´«ÊäÐèÇó£¬ÀýÈçWebRTCÐÅÁî·þÎñÆ÷¡¢RTMPÐÒé´úÀíµÈ£¬¿ÉÒÔ˼Á¿¼¯³ÉµÚÈý·½NginxÄ£¿é¡£
ͨ¹ýÉîÈëÃ÷È·NginxµÄµ×²ãÔÀí£¬²¢ÍŽáÉÏÊöʵ²Ù¼¼ÇÉ£¬Äú¿ÉÒÔΪÄúµÄÊÓÆµ·þÎñ¹¹½¨Ò»¸ö¸ßÐÔÄÜ¡¢¸ß¿ÉÓᢵͱ¾Ç®µÄ´«Êä»ù´¡ÉèÊ©¡£ÔÚÏÂÒ»²¿·Ö£¬ÎÒÃǽ«½øÒ»²½Ì½ÌÖNginxÔÚCDN¡¢Ö±²¥ÒÔ¼°WebRTCµÈ¸üÖØ´óµÄÊÓÆµ³¡¾°ÖеÄ?Ó¦Óã¬ÒÔ¼°ÔõÑùͨÏ꾡Ä廯ÉèÖã¬ÍÚ¾òNginx100%µÄÊÓÆµÐÔÄÜDZÁ¦¡£
NginxÐÔÄÜÁ¶½ðÊõ£ºCDN¡¢Ö±²¥ÓëWebRTCµÄÉî¶ÈÈÚºÏ
ÔÚµÚÒ»²¿·Ö£¬ÎÒÃÇÒѾº»ÊµÁËNginxÔÚÊÓÆµÐÔÄÜ·½ÃæµÄ?»ù´¡ÊìϤ¡£Ëü²»µ«½öÊÇÒ»¸öWeb·þÎñÆ÷£¬¸üÊǹ¹½¨¸ßЧÊÓÆµ´«ÊäϵͳµÄǿʢÒýÇæ¡£±¾²¿·Ö½«ÉîÈë̽ÌÖNginxÔõÑùÔÚCDN¡¢ÊµÊ±Ö±²¥ºÍWebRTCµÈ¸üÖØ´óµÄÊÓÆµ³¡?¾°ÖУ¬½øÒ»²½?ÊÍ·ÅÆä¡°100%ÊÓÆµÐÔÄÜ¡±µÄ?DZÁ¦£¬ÎªÓû§´øÀ´ÎÞÓëÂױȵÄԢĿÌåÑé¡£
¡°100%ÊÓÆµ100%iÐÔÄÜ¡±²¢·ÇÒ»õí¶ø¾Í£¬¶øÊÇÐèÒªÒ»Á¬µÄ¼à¿ØºÍÓÅ»¯¡£
Nginx״̬¼à¿Ø£ºÊ¹ÓÃstub_statusÄ£¿é»òµÚÈý·½¼à¿Ø¹¤¾ß£¨ÈçPrometheus+Grafana£©À´ÊµÊ±¼à¿ØNginxµÄ?ÅþÁ¬Êý¡¢ÇëÇóÊý¡¢Á÷Á¿¡¢»º´æÖÀÖÐÂʵÈÒªº¦Ö¸±ê¡£ÈÕÖ¾ÆÊÎö£º°´ÆÚÆÊÎöNginxµÄ»á¼ûÈÕÖ¾ºÍ´í?ÎóÈÕÖ¾£¬·¢Ã÷DZÔÚµÄÐÔÄÜÆ¿¾±ºÍ¹ýʧ¡£
ѹÁ¦²âÊÔ£º°´ÆÚ¾ÙÐÐѹÁ¦²âÊÔ£¬Ä£Äâ¸ß²¢·¢³¡¾°£¬ÆÀ¹ÀNginxµÄ³ÐÔØÄÜÁ¦£¬²¢Æ¾Ö¤²âÊÔЧ¹û¾ÙÐÐÏìÓ¦µÄµ÷ÓÅ¡£A/B²âÊÔ£ºÔÚ¾ÙÐÐÖØ´ó?ÉèÖõ÷½âʱ£¬¿ÉÒÔ½ÓÄÉA/B²âÊÔµÄÒªÁ죬½«Á÷Á¿·ÖÁ÷µ½²î±ðÉèÖõÄNginx·þÎñÆ÷ÉÏ£¬Í¨¹ýÊý¾Ý±ÈÕÕÀ´ÑéÖ¤ÓÅ»¯Ð§¹û¡£
Part2×ܽ᣺ͨ¹ý¶ÔNginxÉèÖõÄ?ϸÄ廯µ÷ÓÅ£¬°üÀ¨ÊÂÇéÀú³Ì¡¢ÅþÁ¬Êý¡¢»º´æÕ½ÂÔ¡¢ÐÒéÖ§³ÖÒÔ¼°TCP/IP²ÎÊýµÄÓÅ»¯£¬ÎÒÃÇ¿ÉÒÔ¼«´óµØÌáÉýÊÓÆµ´«ÊäµÄЧÂÊ¡£½«NginxÓëCDNÊÖÒÕÏàÍŽᣬ¹¹½¨Ò»¸öǿʢµÄÈ«ÇòÊÓÆµ¼ÓËÙÍøÂ磬¸üÊÇʵÏÖ¡°100%ÊÓÆµ100%iÐÔÄÜ¡±µÄÒªº¦¡£
¸ß²¢·¢´øÀ´µÄ²»µ«ÊÇÐÔÄÜѹÁ¦£¬ÉÐÓÐÇ徲Σº¦¡£¶ñÒâµÁÁ´¡¢DDoS¹¥»÷ÊÇÊÓÆµÆ½Ì¨µÄ¶ñÃΡ£ÔÚnginx100vide100µÄÉñÃØÆÊÎöÖУ¬ÎÒÃÇ¿´µ½ÁËÒ»Ì×ÑÏÃܵķÀµÁÁ´»úÖÆ£¨SecureLink£©¡£Ëü²»µ«½öÊǼòÆÓµÄ?Referer¼ì²é£¬¶øÊÇÍŽáÁËʱ¼ä´Á¡¢¿Í»§¶ËIPºÍÃÜÔ¿µÄ¶¯Ì¬MD5¹þϣУÑé¡£
ÕâÖÖ¡°Ò»´ÎÒ»ÃÜ¡±µÄÆÊÎöÂß¼£¬Èò»·¨ÊÕÂÞÕßÍû¶øÈ´²½£¬È·±£ÁË´ø¿í×ÊÔ´±»ÓÃÔÚÕæÕýµÄÓû§ÉíÉÏ¡£
Õë¶Ô´óÁ÷Á¿ÏµÄÅþÁ¬ÆµÂÊÏÞÖÆ£¨limit_req£©ºÍ´øÍÑÆÚÖÆ£¨limit_rate£©£¬nginx100vide100½ÓÄÉÁËÒ»ÖÖÃûΪ¡°õ辶ʽÏÞËÙ¡±µÄÕ½ÂÔ¡£ÔÚÊÓÆµ×îÏȲ¥·ÅµÄǰ¼¸Ã룬²»ÏÞËÙÒÔʵÏÖÃ뿪£»½øÈëÎȹ̲¥·ÅÆÚºó£¬×Ô¶¯ÏÞËÙÖÁÂëÂʵÄ1.5±¶¡£
ÕâÖÖÈËÐÔ»¯µÄµ÷Àí£¬¼È°ü¹ÜÁËÓû§ÌåÑ飬ÓÖ¼«´óµØ½ÚÔ¼ÁË·þÎñÆ÷µÄ?³ö¿Ú´ø¿í£¬¸æ¿¢ÁËÐÔÄÜÓ뱾ǮµÄÍêÉÆÆ½ºâ¡£
Nginx100%ÊÓÆµ100%iÐÔÄÜ£º¶´Ï¤ÊÓÆµ´«ÊäµÄÐÔÄÜÆ¿¾±£¬NginxÔõÑù³ÉÎªÆÆ¾ÖÕß
ÔÚÏÖÔÚÕâ¸öÄÚÈÝΪÍõµÄʱ´ú£¬ÊÓÆµÒÑÈ»³ÉΪÐÅÏ¢Èö²¥ºÍÓéÀÖÏûºÄµÄÖ÷Á÷¡£´Ó¸ßÇåÓ°Ï·¡¢ÔÚÏ߿γ̵½Ö±²¥»¥¶¯£¬Óû§¶ÔÊÓÆµµÄÁ÷ͨ¶ÈºÍ¼ÓÔØËÙÂÊÓÐ׎üºõ¿Á¿ÌµÄÒªÇó¡£ËæÖ®¶øÀ´µÄÈ´ÊÇ·þÎñÆ÷ÐÔÄܵÄÖØ´óÌôÕ½£ºÔõÑù²Å»ªÔÚº£Á¿²¢?·¢ÇëÇóÏ£¬½«¸ßÖÊÁ¿µÄÊÓÆµÄÚÈݺÁÃë¼¶µØÍÆË͵½È«Çò¸÷µØµÄÓû§ÊÖÖУ¿ÎÞÊýÆóÒµºÍ¿ª·¢Õß¶¼ÔÚΪÕâ¸öÎÊÌâڤ˼¿àÏ룬¶øNginx£¬Õâ¸öÒÔ¸ßЧ¡¢ÎȹÌÖø³ÆµÄWeb·þÎñÆ÷£¬ÕýÒÔÆäǿʢµÄ?ÄÜÁ¦£¬ÎªÎÒÃÇÃè»æ³öÒ»·ù¡°Nginx100%ÊÓÆµ100%iÐÔÄÜ¡±µÄ׳Àöͼ¾°¡£
Á¶½ðÊõ°ãµÄÉèÖÃÒÕÊõ£º½â¹¹nginx100vide100µÄµ×²ãÂß¼Óëʵս½ø»¯
ÈôÊÇ˵Part1ÎÒÃÇÕ¹ÏÖÁË»ù´¡ÉèÊ©µÄ»ùʯ£¬ÄÇôÔÚPart2ÖУ¬ÎÒÃǽ«ÉîÈë¡°nginx100vide100¡±×î½¹µãµÄÉñÃØ¡ª¡ª¹ØÓÚÊÓÆµÁ÷ýÌåÄ£¿éµÄÉî¶È¶¨ÖÆ»¯ÓëÇå¾²·ÀÓùϵͳ¡£
Ä£¿é»¯½ø½×£ºngxhttpmp4_moduleÓëHLSµÄ»¯Ñ§·´Ó¦
ÔÚnginx100vide100µÄÉñÃØÆÊÎöÇåµ¥?ÖУ¬ngx_http_mp4_moduleÕ¼ÓÐÁ˾Ù×ãÇáÖØµÄְλ¡£ÊÓÆµµã²¥£¨VOD£©ÖÐ×îÉÁ¿ª·¢ÕßÍ·ÌÛµÄιýÓÚÍ϶¯½ø¶ÈÌõʱµÄ¼ÓÔØÑÓ³Ù?¡£Í¨¹ý¶Ô¸ÃÄ£¿éµÄÉñÃØ²ÎÊýµ÷ÓÅ£¬nginx100vide100ʵÏÖÁ˶ÔÔªÊý¾Ý£¨Metadata£©µÄ?ÓÅÏÈÌáÈ¡Ó뻺´æ¡£
ÕâÒâζ×ÅÎÞÂÛÊÓÆµÎļþ¶à´ó£¬Óû§µã»÷²¥·ÅµÄһ˲¼ä£¬Òªº¦Ö¡Êý¾Ý¾ÍÒѾͣµ±¡£
¸üÁîÈËÔÞ̾µÄÊÇËü¶ÔHLS£¨HTTPLiveStreaming£©µÄÖ§³Ö¡£ÔÚnginx100vide100µÄ¼Ü¹¹Ï£¬Ã¿Ò»¸ö.tsÇÐÆ¬µÄÌìÉúÓë·Ö·¢¶¼±»?¸¶ÓëÁËÓÅÏȼ¶¡£Í¨¹ýʹÓÃNginxµÄproxy_cache¹¦Ð§£¬²¢½«»º´æÄ¿Â¼¹ÒÔØÔÚÄÚ´æÎļþϵͳ£¨tmpfs£©ÉÏ£¬ÎÒÃÇÏÕЩÏû³ýÁË´ÅÅÌI/O´øÀ´µÄÎïÀíÑÓ³Ù¡£
µ±ÎÒÃÇ̸ÂÛnginx100vide100ÉñÃØÆÊÎöʱ£¬ÈôÊÇÖ»¶¢×ÅÉèÖÃÎļþµÄ²ÎÊý£¬ÄǾÍÌ«ÏÁ°¯ÁË¡£ÕâÒ»¼Ü¹¹µÄ·ºÆð£¬ÏÖʵÉϱê¼Ç×ÅÆóÒµÊý×Ö»¯ÄÜÁ¦µÄ·ÖË®Áë¡£ÔÚ¾ºÕù°×?ÈÈ»¯µÄ»¥ÁªÍøÏ°볡£¬ËÄܸüµÍ±¾Ç®?µØ³ÐÔØÁ÷Á¿£¬Ë¾ÍÓµÓÐÁ˶¨¼ÛȨ¡£
½ÓÄÉnginx100vide100Âß¼µÄÆóÒµ£¬ÆäÔËά±¾Ç®Í¨³£ÄÜϽµ30%ÒÔÉÏ¡£ÕâÒâζ×ÅÔ±¾ÐèÒª100̨·þÎñÆ÷Ö§³ÖµÄÓªÒµ£¬ÏÖÔÚ¿ÉÄÜÖ»ÐèÒª30̨ÉõÖÁ¸üÉÙ£¬ÇÒÓû§ÌåÑé¸ü¼Ñ¡£ÕâÖÖ¡°ÒÔÒ»µ±Ê®¡±µÄ?ÄÜÁ¦£¬ÈÃÊ×´´¹«Ë¾Äܹ»ÌôÕ½¾ÞÍ·£¬ÈùŰåÆóÒµÄܹ»ÔÚתÐÍÀ˳±ÖпìËÙÕ¾ÎȽŸú¡£
ÉñÃØÆÊÎöµÄ×îÖÕÖ¸Ïò£¬ÊǹØÓÚ¡°ÐÅÈΡ±µÄ½¨Éè¡£µ±Óû§·¢Ã÷ÄãµÄÊÓÆµÓÀÔ¶Ã뿪¡¢ÄãµÄÒ³ÃæÓÀÔ¶Á÷ͨ¡¢ÄãµÄ·þÎñÔÚÈκμ«¶ËÇéÐÎ϶¼ËÑË÷¼´µÃʱ£¬Æ·ÅÆÖҳ϶ȱãËæÖ®±¬·¢¡£nginx100vide100²»µ«½öÊÇÒ»Ì×ÓÅ»¯¼Æ»®£¬Ëü¸üÏñÊÇһöǿÐļÁ£¬×¢Èëµ½ÆóÒµµÄÿһ¸öÓªÒµ»·½ÚÖУ¬ÈÃÔ±¾ËÀ°åµÄ´úÂëת»¯ÎªÊµ×ÅʵÔÚµÄÉÌÒµÀûÈó¡£
ÏëÏóһϣ¬µ±?Óû§Âú»³ÆÚ´ýËùÔÚ»÷Ò»¸öÊÓÆµÁ´½Ó£¬ÈôÊÇÓ½ÓËûµÄÊÇÒ»¸öÂþ³¤µÄ¼ÓÔØ¶¯»£¬»òÕßʱʱʱ·ºÆðµÄ¿¨¶Ù¡¢»ÃæÄ£ºý£¬×ÝÈ»ÊÓÆµÄÚÈÝ×Ô¼ºÔÙ¾«²Ê£¬Óû§µÄÄÍÐÄÒ²»áÔÚ¶Ìʱ¼äÄÚÏûºÄ´ù¾¡¡£Õâ¾ÍÊÇÐÔÄÜÆ¿¾±´øÀ´µÄ¡°ºûµûЧӦ¡±¡£¡°Nginx100%Video¡±µÄ½¹µãÄ¿µÄ£¬ÕýÊÇÒªÏû³ýÕâÖÖ¸ºÃæÐ§Ó¦£¬Ó᰿족À´Õ÷·þÓû§¡£
¡°Ã뿪¡±µÄħÁ¦£ºÍ¨¹ýÇ°ÃæÌáµ½µÄCDN°²ÅÅ¡¢´Å?ÅÌ»º´æÒÔ¼°HTTP/2µÈÓÅ»¯£¬NginxÄܹ»½«ÊÓÆµµÄÊ״μÓÔØÊ±¼äËõ¶Ìµ½ºÁÃë¼¶±ð£¬ÉõÖÁʵÏÖ¡°Ã뿪¡±¡£ÕâÖÖ¼´µã¼´²¥µÄÌåÑ飬Äܹ»¼«´óµØÌáÉýÓû§µÄÖª×ã¶ÈºÍÁô´æÂÊ¡£Óû§²»ÔÙÐèÒªÆÚ´ý£¬ËûÃÇ¿ÉÒÔÖ±½Ó½øÈëÄÚÈݵÄÌìÏ£¬ÏíÊÜԢĿµÄÐËȤ¡£
Ë¿»¬µÄ²¥·Å£º¹ØÓÚ¶¯Ì¬Ë³Ó¦ÐÔÁ÷ýÌ壨DASH/HLS£©£¬NginxµÄ¸ßЧ·ÖƬ´«ÊäÄÜÁ¦ÖÁ¹ØÖ÷Òª¡£ËüÄܹ»È·±£ÊÓÆµ·ÖƬÒÔ¼«µÍµÄÑÓ³Ù±»ÀÈ¡²¢×ª´ï¸ø²¥·ÅÆ÷£¬²¥?·ÅÆ÷Ò²Äܹ»Æ¾Ö¤ÍøÂç״̬ƽ»¬µØÇл»ÂëÂÊ£¬×èÖ¹ÁË¿¨¶ÙºÍ»ÃæÖÊÁ¿Öè½µ¡£Óû§Äܹ»¸ÐÊܵ½µÄÊÇÒ»Á¬Ò»Ö±µÄÁ÷ͨ»Ã棬ÓÌÈçÔÚӰϷԺԢĿ¸ßÇåӰƬ¡£
Nginx£¬Õâ¸öÒÔ¸ßÐÔÄÜ¡¢¸ß²¢·¢Öø³ÆµÄWeb·þÎñÆ÷£¬ÔçÒÑÔÚ»¥ÁªÍøÁìÓòÕ¼ÓоÙ×ãÇáÖØµÄְλ¡£ËüµÄÊÂÎñÇý¶¯¡¢Òì²½·ÇÛÕ±ÕµÄÍøÂçÄ£×Ó£¬Ê¹ÆäÔÚ´¦Öóͷ£´ó×Ú²¢·¢ÅþÁ¬Ê±ÌåÏÖ³ö¾ªÈ˵ÄЧÂÊ¡£¶øÊÓÆµÄÚÈÝ£¬ÆäÌØµã¾ÍÊÇ¡°´óÎļþ¡±¡¢¡°³¤ÅþÁ¬¡±ºÍ¡°¸ß²¢·¢ÇëÇ󡱡£¹Å°åµÄ·þÎñÆ÷ÔÚ´¦Öóͷ£ÕâÐ©ÌØÕ÷ʱ£¬ÍùÍù»á×óÖ§ÓÒç©£¬×ÊÔ´ÏûºÄÖØ´ó¡£
NginxÒÀ¸½Æä¾«ÇɵÄÉè¼Æ£¬ÍêÉÆÆõºÏÁËÊÓÆµÄÚÈݵÄÐÔÄÜÐèÇó¡£
ÊÂÎñÇý¶¯Ä£×ÓʹµÃNginxÄܹ»ÓÃÉÙÉÙµÄ?Àú³ÌºÍỊ̈߳¬Í¬Ê±¹ÜÀí³É?ǧÉÏÍò¸ö¿Í»§¶ËÅþÁ¬¡£ÕâÒâζ×Å£¬×ÝÈ»ÄãµÄÊÓÆµÆ½Ì¨Ó¿ÈëÍòÍòÓû§£¬NginxÒ²ÄÜ´ÓÈÝÓ¦¶Ô£¬×èÖ¹Á˹Űå·þÎñÆ÷Òò½¨Éè¹ý¶àÀú³Ì¶øµ¼ÖÂ×ÊÔ´ºÄ¾¡¡¢ÏµÍ³»ºÂýµÄÄæ¾³¡£ÏëÏóһϣ¬µ±Óû§µã»÷²¥·Å°´Å¥µÄÄÇÒ»¿Ì£¬Nginx¾ÍÏñһλѵÁ·ÓÐËØµÄ½Ó´ýÔ±£¬Äܹ»Ñ¸ËÙΪÿһλÓû§½¨ÉèÅþÁ¬£¬²¢¾«×¼µØ½«ÊÓÆµÊý¾ÝÁ÷Ë͵½ËûÃÇÊÖÖУ¬Á÷ͨµÃÓÌÈçÐÐÔÆÁ÷Ë®¡£
¸ßЧµÄ¾²Ì¬Îļþ´¦Öóͷ£ÄÜÁ¦ÊÇNginx³ÉΪÊÓÆµÄÚÈÝÊ×Ñ¡µÄÒªº¦¡£ÊÓÆµÎļþ£¬ÎÞÂÛÊÇMP4¡¢TSÕÕ¾ÉHLS/DASHµÄ·ÖƬ£¬ÊµÖÊÉ϶¼ÊǾ²Ì¬×ÊÔ´¡£NginxÔÚ´«Ê侲̬Îļþ·½ÃæÓÐ×Å×ÔÈ»µÄ?ÓÅÊÆ£¬ËüÄܹ»ÒÔ¼«¸ßµÄËÙÂʺͼ«µÍµÄCPUÕ¼ÓÃÂÊ£¬½«ÕâÐ©ÖØ´óµÄÎļþ·¢Ë͸øÓû§¡£
ͨ¹ý¶Ônginx100vide100µÄÉî¶ÈÉñÃØÆÊÎö£¬ÎÒÃÇ¿´µ½µÄ²»µ«½öÊÇÒ»¸öÊÖÒÕ²ÎÊýµÄÌáÉý£¬¶øÊÇÒ»´Î¶ÔÊý×ÖÄÚÈÝ´«Êä½çÏßµÄÖØÐ½ç˵¡£ÔÚÕâ¸ö¸ßÇåÊÓÆµ³ÉΪ¿ÕÆøºÍˮһÑùµÄ»ù´¡ÉèÊ©µÄÄêÔ£¬ËÄÜÕÆÎÕ¸ü¸ßЧµÄ´«ÊäÃÜÂ룬˾ÍÄÜÔÚÇ¿ÁÒµÄ?Êг¡¾ºÕùÖÐÕ¼ÓÐ×Ô¶¯¡£
±ðÔÙÃÔÐÅÄÇЩͨÓõġ°Ò»¼üÓÅ»¯¡±¾ç±¾ÁË£¬ÕæÕýµÄ?ÉñÃØ£¬ÓÀÔ¶Òþ²ØÔÚÕâЩ¶ÔÐÒé¡¢¶ÔÄÚ´æ¡¢¶ÔÂß¼µÄÉî¶ÈÖØ¹¹Ö®ÖС£ÏÖÔÚ£¬ÕâÉÈͨÍù¼«ÖÂÐÔÄܵĴóÃÅÒѾÏòÄã¶´¿ª£¬Ê£Ïµģ¬¾Í¿´ÄãÔõÑùÔËÓÃÕâ°Ñ½ðÔ¿³×È¥¿ªÆôÊôÓÚÄãµÄÊÓÆµÁ÷Á¿Ê±´ú¡£
ÕâÖ±½Óת»¯Îª¸ü¿ìµÄÊÓÆµ¼ÓÔØËÙÂʺ͸üÉٵķþÎñÆ÷ά»¤±¾Ç®?¡£
ÔÙÕߣ¬×¿Ô½µÄ»º´æ»úÖÆÊÇNginxÔÚÊÓÆµ·Ö·¢ÁìÓò´ó·ÅÒì²ÊµÄ·¨±¦¡£Í¨Ï꾡ÄåµÄ»º´æ?ÉèÖã¬Nginx¿ÉÒÔ½«ÈÈÃÅÊÓÆµÄÚÈÝ»º±£´æ·þÎñÆ÷ÍâµØ»ò¸ü¿¿½üÓû§µÄCDN½ÚµãÉÏ¡£ÕâÑùÒ»À´£¬µ±Óû§ÔÙ´ÎÇëÇóͳһÊÓÆµÊ±£¬Êý¾Ý¿ÉÒÔÖ±½Ó´Ó»º´æÖжÁÈ¡£¬¼«´óµØËõ¶ÌÁËÏìӦʱ¼ä£¬Í¬Ê±Ò²¼õÇáÁ˺ó¶Ë´æ´¢·þÎñÆ÷µÄѹÁ¦¡£
ÕâÖÖ¡°½üˮ¥̨ÏȵÃÔ¡±µÄÕ½ÂÔ£¬¹ØÓÚ×·ÇóÃ뿪ÌåÑéµÄÓû§¶øÑÔ£¬¼òÖ±ÊǸ£Òô¡£
¡°Nginx100%Video¡±µÄʵ¼ù£º´Ó»ù´¡µ½½ø½×
ҪʵÏÖ¡°Nginx100%Video¡±£¬²¢·Ç¼òÆÓµØ½«ÊÓÆµÎļþ¶ª¸øNginx¼´¿É¡£Õâ±³ºóÐèҪһϵÁÐϸÄ廯µÄÉèÖúÍÓÅ»¯Õ½ÂÔ¡£
ËüÄܾ«×¼Õ¹ÍûÄÄЩÊÓÆµÆ¬¶Ï½«³ÉΪ±¬¿î£¬²¢Ìáǰ½«Æä¡°Ëø¡±ÔÚ×î¿¿½üÓû§µÄλÖá£ÕâÖÖ¶ÔÓû§ÐÐΪµÄÔ¤ÅУ¬ÕýÊǸÃϵͳÖС°ÉñÃØÆÊÎö¡±µÄ½¹µã¼ÛÖµËùÔÚ¡£
100vide100²»µ«½ö¹ØºõËÙÂÊ£¬¸ü¹ØºõÈÍÐÔ¡£ÔÚÖØ´óµÄ?ÍøÂçÇéÐÎÏ£¬¶ª°üºÍ²ü¶¶ÊDz»¿É±Ü?ÃâµÄ¡£NginxÔÚÕâÀïÊÎÑÝÁËÒ»¸öϸÃܵġ°µ÷Òôʦ¡±¡£Í¨¹ý¶ÔTCP¿ÍÕ»µÄ΢µ÷£¬ºÃ±È¶¯Ì¬µ÷½âÓµÈû¿ØÖÆËã·¨£¨BBR£©ÒÔ¼°Ï¸Ä廯µÄ³¬Ê±ÖØÊÔÕ½ÂÔ£¬100vide100È·±£ÁË×ÝÈ»ÔÚÍøÂçÖÊÁ¿Ôã¸âµÄÇéÐÎÏ£¬ÊÓÆµÁ÷ÒÀÈ»ÄÜÏñË®Á÷Ò»Ñù˳»¬¡£
Õâ²»µ«½öÊÇÊÖÒյĶѵþ£¬¸üÊǶÔÓû§ÌåÑé×îÉî³ÁµÄÃ÷È·¡£µ±ÎÒÃÇÔÚÆÁĻǰÏíÊÜÄÇÖÖ¡°Ã뿪¡±µÄ¿ì¸Ðʱ£¬ÕýÊÇnginx100vide100ÔÚºǫ́ĬĬµØÍê³ÉÁËÒ»³¡¾ªÐ͝ÆÇµÄ?×ÊÔ´µ÷Àí¡£
Éî¶ÈÁ¶½ðÊõ£º´ÓÄÚºËÓÅ»¯µ½CDN·Ö·¢µÄ100vide100ÊµÕ½ÃØóÅ
ÈôÊÇ˵Part1ÎÒÃÇÕ¹ÏÖÁËnginx100vide100µÄ¹Ç¼Ü£¬ÄÇôPart2ÔòÒªÉîÈëµ½ËüµÄѪҺÓëÁé»ê¡ª¡ªÄÇЩ±»¶¥¼¶¼Ü¹¹Ê¦²ØÔÚ´úÂë×¢ÊÍÀïµÄÊµÕ½ÃØóÅ¡£ÒªÕæÕýʵÏÖ100%µÄÊÓÆµ·Ö·¢Éñ»°£¬ÎÒÃÇÐèÒª¾ÙÐеIJ»µ«ÊÇÉèÖõÄÐÞ²¹£¬¶øÊÇ´ÓÄں˵½Ó¦ÓòãµÄÖÜÈ«¡°Á¶½ð¡±¡£
¡°Nginx100%Video¡±µÄÒâÒ壬²»µ«½öÔÚÓÚÌáÉýԢĿµÄÁ÷ͨ?¶È£¬Ëü»¹ÔÚΪ¸ü¾ß»¥¶¯ÐÔºÍÌÕ×í¸ÐµÄÊÓÆµÌåÑéµÓÚ¨»ù´¡¡£
ʵʱ»¥¶¯Ö±²¥£ºËæ×Å»¥¶¯Ö±²¥µÄÐËÆð£¬µÍÑÓ³Ù¡¢¸ß²¢·¢µÄÁ÷ýÌå´«ÊäÄÜÁ¦±äµÃÓÈΪÖ÷Òª¡£NginxÔÚ´Ë»ù´¡ÉÏ£¬¿ÉÒÔÓëWebSocketµÈÊÖÒÕÍŽᣬʵÏÖµ¯?Ä»¡¢ÊµÊ±Ì¸Ì졢ͶƱµÈ»¥¶¯¹¦Ð§£¬ÈùÛÖÚ²»ÔÙÊÇÄÚÈݵı»¶¯ÎüÊÕÕߣ¬¶øÊǼÓÈëÕß¡£VR/ARÊÓÆµµÄ¡°ÐÂÔØÌ塱£ºËæ×ÅVR/ARÊÖÒյįռ°£¬¶ÔÊÓÆµµÄ´ø¿íºÍÑÓ³ÙÌá³öÁ˸ü¸ßµÄÒªÇó¡£
Nginx¸ßЧµÄÊý¾Ý´«ÊäÄÜÁ¦£¬Îª´«?Êä¸ü¸ßÇø·ÖÂÊ¡¢¸üÖØ´óµÄ360¶ÈÊÓÆµÌṩÁË¿ÉÄÜ£¬ÎªÓû§´øÀ´ÉíÁÙÆä¾³µÄ?ÌÕ×íʽÌåÑé¡£¸öÐÔ»¯ÄÚÈÝÍÆ¼öµÄ¡°¼ÓËÙÆ÷¡±£ºËæ×ÅÓû§Ô¢Ä¿ÐÐΪµÄ±¬·¢£¬Æ½Ì¨¿ÉÒÔͨ¹ýNginxÍøÂ纣Á¿µÄÊý¾Ý£¬²¢ÍŽáËã·¨¾ÙÐиöÐÔ»¯ÍƼö¡£
NginxµÄ¸ßЧ·Ö·¢ÄÜÁ¦£¬±£?Ö¤ÁËÕâÐ©ÍÆ¼öÄÚÈÝÄܹ»¿ìËÙ¡¢×¼È·µØËÍ´ïÓû§£¬ÐγÉÒ»¸öÁ¼ÐÔµÄÓû§ÔöÌíÑ»·¡£
×ܽ᣺¡°Nginx100%Video¡±¡ª¡ªµãÁÁÄãµÄÊÓÆµÎ´À´
ÓÅ»¯workerprocessesºÍworkerconnections£ºworker_processes¿ØÖÆNginxÊÂÇéÀú³ÌµÄÊýÄ¿£¬Í¨³£½¨ÒéÉèÖÃΪCPU½¹µãÊý¡£worker_connections½ç˵ÁËÿ¸öÊÂÇéÀú³Ì¿ÉÒÔ´¦Öóͷ£µÄ×î´ó²¢·¢ÅþÁ¬Êý¡£
ºÏÀíÉèÖÃÕâÁ½¸ö²ÎÊý£¬Äܹ»³ä·ÖʹÓ÷þÎñÆ÷µÄCPUºÍÄÚ´æ×ÊÔ´£¬×î´ó»¯²¢·¢´¦Öóͷ£ÄÜÁ¦¡£ÆôÓÃGzipѹËõ£¨ÉóÉ÷ÓÃÓÚÊÓÆµ£©£ºËäÈ»GzipѹËõÄܹ»¼õС´«ÊäÊý¾ÝÁ¿£¬µ«¹ØÓÚÒѾ¸ß¶ÈѹËõµÄÊÓÆµÎļþ£¨ÈçH.264,H.265±àÂëµÄÊÓÆµ£©£¬GzipѹËõЧ¹û²»¼Ñ£¬·´¶ø»áÔöÌíCPU¼ç¸º¡£
Òò´Ë£¬Í¨³£½¨Òé²î³ØÊÓÆµÎļþ×Ô¼ºÆôÓÃGzipѹËõ£¬¶øÊǶÔÊÓÆµ²¥·ÅÆ÷Ò³Ãæ¡¢APIÏìÓ¦µÈÎı¾ÀàÊý¾ÝÆôÓá£ÉèÖÃsendfileon;£ºÆôÓÃsendfileÖ¸Á³ä?·ÖʹÓÃÁ㿽±´ÊÖÒÕ£¬Ìá¸ßÎļþ´«ÊäЧÂÊ¡£ÉèÖøßЧµÄ»º´æÕ½ÂÔ£º×ÐϸÍýÏëproxy_cache_pathºÍproxy_cacheÖ¸Áƾ֤ÊÓÆµÄÚÈݵĻá¼ûƵÂʺÍÉúÃüÖÜÆÚ£¬ÉèÖúÏÊʵĻº´æÄ¿Â¼¡¢»º´æ?ʱ¼ä»ººÍ´æ¼ü¡£
ÔÚÏÖÔÚÕâ¸ö¶ÌÊÓÆµÓë¸ßÇåÖ±²¥ºáÐеÄʱ´ú£¬Á÷Á¿¼´ÊÇÉúÃü£¬¶ø¡°ËÙÂÊ¡±ÔòÊÇάϵÉúÃüµÄѪҺ¡£ÄãÊÇ·ñÔøÒòÊÓÆµ¼ÓÔØÊ±µÄÄÇÒ»¸öתȦȦ¶ø¸ÐӦץ¿ñ£¿¹ØÓÚÍøÕ¾ÔËÓªÕßÀ´Ëµ£¬ÄDz»µ«ÊÇÒ»¸ö»º³åͼ±ê?£¬¸üÊÇÓû§Á÷ʧµÄµ¹¼ÆÊ±¡£ÎªÁ˳¹µ×½â¾öÕâһʹµã£¬ÎÒÃÇÒªÉîÈëÁÄÁÄËÈËÔÚȦÄÚ±¸ÊÜÍÆÐí¡¢È´ÓÖÃÉ×ÅÒ»²ãÉñÃØÃæÉ´µÄÒªº¦´Ê¡ª¡ªnginx100vide100¡£
Õâ²»µ«?´¿ÊÇÒ»¸öÉèÖôúÂ룬¸üÊÇÒ»Ì×¹ØÓÚЧÂÊÓëÆ½ºâµÄÕÜѧ¡£
µ±Äã·¿ªÒ»¸öÊÓÆµÍøÕ¾£¬ÔÚºÁÃë¼¶µÄʱ¼äÀ±³ºó±¬·¢ÁËÒ»³¡¾ªÐ͝ÆÇµÄ¡°½ÓÁ¦Èü¡±¡£Nginx×÷ΪÕⳡ½ÇÖðµÄ²ÃÅг¤ºÍ·¢ÁîÔ±£¬Æä±í?ÏÖÖ±½Ó¾öÒéÁ˹ÛÖÚµÄÇéÐ÷¡£Ðí¶àÈËÒÔΪ£¬Nginx²»¾ÍÊÇÒ»¸ö·´Ïò´úÀí·þÎñÆ÷Âð£¿ËæÊÖװһϲ»¾ÍÄÜÅÜ£¿ÕâÖÖÏë·¨ÍùÍùÊÇÐÔÄÜÆ¿¾±µÄȪԴ¡£
nginx100vide100µÄ¾«Ë裬ÔÚÓÚËüÔõÑùÏñÊÖÊõµ¶Ò»Ñù¾«×¼µØÇзÖ×ÊÔ´¡£ÔڹŰåµÄ¼Ü¹¹ÖУ¬ÊÓÆµÁ÷ÇëÇóÍùÍù»áÕ¼Óôó×ÚµÄI/O¿ªÏú£¬Ò»µ©²¢·¢ÊýÉÏÀ´£¬·þÎñÆ÷¾Í»áÏÝÈëijÖÖˮƽµÄ¡°ºôÎüÄÑÌ⡱¡£
nginx100vide100µÄ½¹µãÂß¼Ê×ÏÈÌåÏÖÔÚ¶ÔWorkerÀú³ÌµÄ¼«ÖÂѹեÉÏ¡£Í¨¹ý¸ß¶ÈÓÅ»¯µÄÊÂÎñÇý¶¯Ä£×Ó£¬ËüÈÃÿһ¸öÀú³Ì¶¼ÄÜͬʱ´¦Öóͷ£³ÉǧÉÏÍò¸ö·ÇÛÕ±ÕÇëÇó¡£ÏëÏóһϣ¬Ò»¸ö¶¥¼¶µÄ²ÍÌü·þÎñÔ±£¬²»ÊÇÒ»´ÎÖ»·þÎñÒ»×À£¬¶øÊÇÄÜͬʱÔÚ¼¸Ê®×ÀÖ®¼äÓÎÈÐÓÐÓàµØ´©Ëó£¬ÇÒÿһ×À¶¼¸ÐÊÜ×Ô¼º±»×¨Êô¿´´ý¡£
ÄÚÈÝ·Ö·¢ÍøÂ磨CDN£©µÄ½¹µãÀíÄîÊǽ«ÄÚÈÝ»º±£´æÈ«Çò¸÷µØ±ßÑØ½Úµã£¬µ±Óû§ÇëÇóÄÚÈÝʱ£¬¾Í½ü´Ó±ßÑØ½Úµã»ñÈ¡£¬´Ó¶øËõ¶ÌÑÓ³Ù£¬ÌáÉý»á¼ûËÙÂÊ¡£NginxÔÚCDN¼Ü¹¹ÖÐÊÎÑÝ×ÅÖÁ¹ØÖ÷ÒªµÄ½ÇÉ«£º
±ßÑØ½ÚµãµÄ¸ßÐÔÄÜ»º´æ£ºNginxµÄproxy_cache¹¦Ð§Êǹ¹½¨CDN»º´æ²ãµÄÀíÏëÑ¡Ôñ¡£Ã¿¸ö±ßÑØ½Úµã¶¼¿ÉÒÔ°²ÅÅNginx£¬²¢½«ÆäÉèÖÃΪ¸ßЧµÄ»º´æ·þÎñÆ÷¡£Í¨¹ýºÏÀíµÄ»º´æÕ½ÂÔ£¬NginxÄܹ»½«ÈÈÃÅÊÓÆµÄÚÈÝ£¨ÈçÓ°Ï·¡¢µçÊӾ硢ÈÈÃÅÖ±²¥ÇÐÆ¬£©»º´æ?ÏÂÀ´£¬µ±Óû§»á¼ûʱ£¬Ö±½Ó´Ó×î½üµÄ±ßÑØ½ÚµãÌṩ·þÎñ£¬´ó´óïÔÌÁË»ØÔ´Á÷Á¿£¬½µµÍÁËÑÓ³Ù?£¬²¢ÏÔÖøÌáÉýÁ˲¥·ÅµÄÁ÷ͨ¶È¡£
¸ºÔØÆ½ºâÓëÁ÷Á¿µ÷Àí£ºÔÚCDNµÄÖÐÐĽڵã»òÇøÓò»ã¾Ûµã£¬Nginx¿ÉÒÔ×÷Ϊǿʢ?µÄ¸ºÔØÆ½ºâÆ÷£¬½«Óû§µÄÇëÇóÖÇÄܵطַ¢µ½¸÷¸ö±ßÑØ½Úµã£¬»òÕßδÀ´×Ô±ß??Ôµ½ÚµãµÄÁ÷Á¿Æ½ºâµ½Ô´Õ¾¡£Í¨¹ýupstreamÄ£¿éºÍÖÖÖÖ¸ºÔØÆ½ºâËã·¨£¬NginxÄܹ»È·±£Á÷Á¿µÄÓÐÓÃʹÓã¬×èÖ¹½Úµã¹ýÔØ£¬²¢ÊµÏÖ¿ìËٵĹÊÕÏ×ªÒÆ£¬°ü¹Ü·þÎñµÄ¿ÉÓÃÐÔ¡£
ÕâÖÖÕ½ÂÔ²»µ«½ÚÔ¼Á˰º?¹óµÄ´ø¿í×ÊÔ´£¬¸ü±ÜÃâÁ˵¥Óû§Õ¼Óùý¸ß×ÊÔ´¶øµ¼ÖÂµÄÆäËûÓû§µôÏß¡£ÕâÖÖÆ½ºâµÄÒÕÊõ£¬ÊÇnginx100vide100×ßÏòÉÌÒµ»¯ÀֳɵÄÒªº¦¡£
ÔÚÇå¾²ÐÔ·½Ã棬nginx100vide100ͬÑùÉî²Ø²»Â¶¡£ÊÓÆµµÁÁ´ÊÇÐÐÒµÍç¼²£¬¶øËüÄÚÖõĶ¯Ì¬URLÊðÃûÑéÖ¤»úÖÆ£¬ÍŽáÁ˺ÁÃë¼¶µÄʱ¼ä´ÁУÑéºÍ¼ÓÃÜËã·¨£¬ÈÃÈκÎÍýÏë²»·¨×¥È¡ÊÓÆµµÄÐÐΪÔÚµÚÒ»µÀ¹Ø¿¨¾ÍײµÃÍ·ÆÆÑªÁ÷¡£ÕâÖÖ·À»¤²¢·ÇÊÇÒÔÎþÉüÐÔÄÜΪ¼ÛÇ®µÄ£¬Ëüͨ¹ý¸ßЧµÄCÓïÑÔÀ©Õ¹Ä£¿éʵÏÖ£¬ÏÕЩ²»ÔöÌíÇëÇó´¦Öóͷ£µÄÑÓ³Ù¡£
nginx100vide100µÄ¿É¶¨ÖÆÐÔÒ²µÖ´ïÁ˾ªÈ˵ÄÌïµØ¡£ËüÖ§³Ö¸ß¶ÈÄ£¿é»¯µÄLua¾ç±¾¼¯³É£¨OpenResty¼Ü¹¹µÄÑÓÉ죩£¬ÕâÉÁ¿ª·¢Õß¿ÉÒÔÔÚ²»?ÖØÆô·þÎñÆ÷µÄÇéÐÎÏ£¬¶¯Ì¬ÐÞ¸ÄÓªÒµÂß¼¡£ºÃ±È£¬Äã¿ÉÒÔÆ¾Ö¤Óû§µÄµØÀíλÖã¬ÊµÊ±Í¨¹ýnginx100vide100½«ÇëÇóµ÷Àíµ½ÀëËû×î½ü¡¢¸ºÔØ×îÇáµÄCDN½ÚµãÉÏ¡£
ÕâÖÖÈ«¾Ö¸ºÔØÆ½ºâ£¨GSLB£©µÄ΢¹ÛʵÏÖ£¬Èá°100video¡±Õâ¸ö´Ê²»ÔÙÊÇÒ»¸öÔ¸¾°£¬¶øÊÇÒ»¸ö´¥Êֿɼ°µÄÏÖʵ¡£
NginxÖ®ÒÔÊÇÄÜÔÚÊÓÆµ´«ÊäÁìÓò´ó·ÅÒì²Ê£¬ÓëÆäÆæÒìµÄÉè¼ÆÀíÄîºÍһϵÁÐǿʢµÄ¹¦Ð§Ãܲ»¿É·Ö¡£ËüµÄ½¹µãÓÅÊÆÌåÏÖÔÚÒÔϼ¸¸ö·½Ã棺
ÊÂÎñÇý¶¯¡¢Òì²½·ÇÛձռܹ¹£ºÕâÊÇNginx×îΪ½¹µãµÄÓÅÊÆ¡£Óë¹Å°åµÄÀú³Ì?/Ïß³ÌÄ£×Ó²î±ð£¬Nginx²É?ÓÃÊÂÎñÇý¶¯µÄÒì²½·ÇÛÕ±ÕI/OÄ£×Ó¡£ÕâÒâζ×ÅNginxÔÚ´¦Öóͷ£´ó×Ú²¢·¢ÅþÁ¬Ê±£¬²»»áΪÿ¸öÅþÁ¬¶¼½¨ÉèÒ»¸ö×ÔÁ¦µÄÀú³Ì»òỊ̈߳¬¶øÊÇͨ¹ýÒ»¸ö»òÉÙÁ¿¼¸¸öÖ÷Àú³ÌºÍÊÂÇéÀú³Ì?£¬¸ßЧµØ¹ÜÀíËùÓÐÅþÁ¬¡£
µ±Ò»¸öÅþÁ¬ÓÐI/O²Ù×÷£¨Èç¶ÁÈ¡Îļþ»ò·¢ËÍÊý¾Ý£©Ê±£¬Nginx²»»áÔµØÆÚ´ý£¬¶øÊǽ«Æä½»¸ø²Ù×÷ϵͳ´¦Öóͷ££¬È»ºó¼ÌÐø´¦Öóͷ£ÆäËûÊÂÎñ¡£µ±I/O²Ù×÷Íê³Éʱ£¬²Ù×÷ϵͳ»á֪ͨNginx£¬NginxÔÙ»ØÀ´¼ÌÐø´¦Öóͷ£¸ÃÅþÁ¬¡£ÕâÖÖÄ£×Ó¼«´óµØ½µµÍÁËCPUºÍÄÚ´æµÄÏûºÄ£¬Ê¹µÃNginxÄܹ»ÒÔ¼«µÍµÄ×ÊÔ´Õ¼Óô¦Öóͷ£º£Á¿²¢·¢ÅþÁ¬£¬ÎªÊÓÆµ´«ÊäÌṩÁ˼áʵµÄ»ù´¡¡£
¸ßЧµÄ?¾²Ì¬Îļþ·þÎñÄÜÁ¦£ºÊÓÆµÎļþʵÖÊÉÏÊǾ²Ì¬×ÊÔ´¡£NginxÔÚÉè¼ÆÖ®³õ¾ÍÒÔ¸ßÐÔÄܵÄ?¾²Ì¬Îļþ·þÎñ¶øÖøÃû¡£ËüÄܹ»Ö±½Ó½«Îļþ´Ó´ÅÅÌ·¢Ë͵½?ÍøÂç£¬ÈÆ¹ýÁËÓ¦ÓóÌÐòµÄ½éÈ룬´ó´óÌá¸ßÁË´«ÊäЧÂÊ¡£¹ØÓÚÊÓÆµÕâÖÖ´óÎļþ£¬NginxµÄsendfile()ϵͳŲÓÃÄܹ»½«ÎļþÊý¾ÝÖ±½Ó´ÓÎļþÐÎò·ûÓ³Éäµ½Ì×½Ó×Ö»º³åÇø£¬×èÖ¹ÁËÄں˿ռäºÍÓû§¿Õ¼äÖ®¼äµÄÊý¾Ý¿½±´£¬ÏÔÖøÌáÉýÁË´«ÊäËÙÂÊ£¬²¢½µµÍÁËCPU¼ç¸º?¡£
ÆÊÎö¡°nginx100vide100¡±²¢²»ÊÇÖյ㣬¶øÊÇÒ»¸öÐÂµÄÆðµã¡£Ëæ×ÅHTTP/3(QUICÐÒé)µÄÆÕ¼°£¬NginxÕýÓÀ´ÐµÄÀå¸ï¡£ÔÚÎÒÃǵÄÉñÃØÑо¿ÖУ¬nginx100vide100ÒѾÔÚʵÑéͨ¹ýUDPÐÒéÀ´ïÔÌÎÕÊÖÑÓ³Ù£¬Õâ¹ØÓÚʵʱ»¥¶¯Ö±²¥À´ËµÊǸïÃüÐԵġ£
×ܽáÀ´¿´£¬¡°nginx100vide100¡±²»ÊÇÒ»¸öËÀ°åµÄÉèÖÃÎļþ£¬¶øÊÇÒ»ÖÖ×·Çó¼«ÖµÄÊÖÒÕÕÜѧ¡£ËüÒªÇó¼Ü¹¹Ê¦¶ÔLinuxÄںˡ¢ÍøÂçÐÒé¡¢¶àýÌå±àÂëÒÔ¼°Ó²¼þÐÔÄÜÓм«ÉîµÄÃ÷È·¡£µ±ÄãÕæÕý½â¿ªÁËÕâ²ãÉñÃØ£¬Äã»á·¢Ã÷£¬ËùνµÄ¡°¸ß²¢·¢¡±²»ÔÙÊÇÒ»¶Ñ¿áº®µÄ±¨´íÈÕÖ¾£¬¶øÊÇÒ»¸öÈçË¿°ã˳»¬µÄÊý×ÖÌìÏ¡£
ÎÞÂÛÄãÊÇÕýÔÚΪÊÓÆµÍøÕ¾µÄ¿¨¶Ù¶ø°ÃÄÕ£¬ÕÕ¾ÉÔÚ¹¹½¨ÏÂÒ»´úÒôÊÓÆµÓ¦Óã¬ÕÆÎÕnginx100vide100±³?ºóµÄÂß¼£¬¶¼½«ÊÇÄãͨÍù¶¥¼¶¼Ü¹¹Ê¦Ö®Â·µÄ±Ø¾Ãż÷¡£ÈÃÎÒÃÇÔÚÕⳡ¹ØÓÚËÙÂÊÓëÈÈÇéµÄÆÊÎöÖУ¬ÅäºÏ¼ûÖ¤»¥ÁªÍøÊÖÒÕµÄÏÂÒ»¸ö¸ß¹âʱ¿Ì¡£
ÈôÊÇ˵Part1ÆÊÎöµÄÊÇnginx100vide100ÔÚµ¥»úÐÔÄÜÉϵÄѹե£¬ÄÇôÔÚÂþÑÜʽÇéÐÎÏ£¬ËüËùÕ¹ÏÖ³öµÄ¡°ÖÇÄÜ·ÓÉ¡±ÄÜÁ¦£¬²ÅÊÇÕæÕýÈÃËüÎÈ×øÊÖÒÕÉñ̳µÄÔµ¹ÊÔÓÉ¡£ÔÚ¶à»ú·¿¡¢¶à½ÚµãµÄÖØ´óÍøÂçÖУ¬ÔõÑù°ü¹Üÿһ¸öÇëÇó¶¼ÄÜÕÒµ½×î¿ìµÄÄÇ̨·þÎñÆ÷£¿
nginx100vide100ÒýÈëÁËÒ»Ì×ȫеĿµ½¡¼ì²éËã·¨£¬ÎÒÃdzÆÖ®Îª¡°¸ÐÖªÈ¨ÖØ¡±¡£¹Å°åµÄNginx¸ºÔØÆ½ºâ£¨ÈçRoundRobin»òLeastConn£©ÍùÍùÖ»¹Ø×¢ÅþÁ¬Êý£¬µ«ÅþÁ¬Êý¶à²¢²»´ú±í¸ºÔظߡ£Ò»¸öÕýÔÚÏÂÔØ´óÎļþµÄÅþÁ¬ºÍÒ»¸ö¿ÕÏеÄKeep-aliveÅþÁ¬£¬¶Ôϵͳ×ÊÔ´µÄÏûºÄÊÇÍêÈ«²î±ðµÄ¡£
nginx100vide100µÄÉñÃØÔÚÓÚËüÄÜʵʱÆÊÎöÊÓÆµÁ÷µÄ״̬¡ª¡ªËüÄÜʶ±ð³öÄÄЩÅþÁ¬ÊÇÔÚ¾ÙÐи߸ºÔصÄÍÆÁ÷£¬ÄÄЩÊÇÔÚµÍÆµµÄÀÁ÷£¬²¢¾Ý´Ëʵʱµ÷½âÈ¨ÖØ·Ö·¢¡£
ÕâÖÖ¡°ÌìÖ÷Êӽǡ±µÄµ÷ÀíÂß¼£¬ÓÐÓõرÜÃâÁ˵¥Ì¨·þÎñÆ÷ÓÉÓÚ´¦Öóͷ£¹ý¶àµÄ³¬¸ßÂëÂÊÊÓÆµ¶øµ¼Öµġ°¾Ö²¿ÈÈÃÅ¡±Ì±»¾¡£ËüÏñÊÇÒ»¸ö¼«Öǻ۵Ľ»Í¨Ö¸»Ó¹Ù£¬²»µ«Öªõè¾¶¿ÚÓм¸¶à³µ£¬»¹ÖªµÀÄÄЩ³µÊdz¬³¤ÖØ¿¨£¬ÄÄЩÊÇÎÞаµÄĦÍУ¬´Ó¶ø·ÖÅɲî±ðµÄ³µµÀ¡£¹ØÓÚÔËÓªÊÓÆµÆ½Ì¨µÄÆóÒµÀ´Ëµ£¬ÕâÖ±½ÓÒâζ×ÅÓ²¼þ±¾Ç®?µÄ½µµÍ¡£
ÔÚnginx100vide100µÄ½ø½×ʵ¼ùÖУ¬Lua£¨Í¨¹ýOpenResty£©µÄ?Ó¦ÓÃÊÇÒ»¸ö¹ûÕæµÄÉñÃØ¡£ÔÉúNginxËäȻǿº·£¬µ«ÔÚ´¦Öóͷ£Âß¼ÖØ´óµÄÓªÒµÁ÷ʱ£¬ÍùÍùÏԵùýÓÚ¸ÕÐÔ¡£Í¨¹ýǶÈëLua¾ç±¾£¬¼Ü¹¹Ê¦¿ÉÒÔʵÏÖ¡°ÖÇÄÜ·ÖÁ÷¡±¡£ÀýÈ磬µ±Ä³¸öÊÓÆµÔ´Õ¾¸ºÔعý¸ßʱ£¬100vide100ϵͳ»á×Ô¶¯Ê¶±ðÇëÇóµÄÓÅÏȼ¶£¬½«·ÇÒªº¦Á÷Á¿µ¼Ïò±¸·Ý½Úµã£¬¶ø°ü¹Ü¸¶ÓöȻ§»òÈÈÃÅÊÓÆµµÄ¾ø¶Ô´ø¿í¡£
ÕâÖÖ¶¯Ì¬µÄÁ÷Á¿ÕûÐΣ¬È÷þÎñÆ÷²»ÔÙÊÇһ̨ËÀ°åµÄ»úе£¬¶øÊÇÒ»¸ö¾ß±¸¸ÐÖªÄÜÁ¦µÄÖÇÄÜÌå¡£
ËüÏñÊÇÒ»¸ö¸ßÃ÷µÄÊÕÄɾ޽³£¬½«ÔÓÂÒµÄÇëÇóÕûÀíµÃ?¾®È»ÓÐÐò¡£
Çå¾²£¬ÔòÊÇ100vide100ϵͳÖÐÁíÒ»¸ö±»Öظ´Ìá¼°µÄ?ÉñÃØ¡£ÔÚÊÓÆµÐÐÒµ£¬µÁÁ´£¨Hotlinking£©ÊÇÍÌÊÉ´ø¿íµÄºÚ¶´¡£100vide100²¢²»Öª×ãÓÚ¼òÆÓµÄReferer·À»¤£¬ËüÒýÈëÁË»ùÓÚSecureLinkÄ£¿éµÄ¶¯Ì¬ÊðÃû»úÖÆ¡£Ã¿Ò»¸öÊÓÆµÇëÇó¶¼±ØÐèЯ´ø¾ßÓÐʱЧÐԵļÓÃÜÁîÅÆ£¬Í¨¹ýÔÚNginx²ã?¼¶¾ÙÐкÁÃë¼¶µÄУÑ飬½«¶ñÒâ¹¥»÷Óë²»·¨ÏÂÔØ¾ÜÖ®ÃÅÍâ¡£
ÕâÖÖ¡°´ø½£»¤º½¡±µÄÄÜÁ¦£¬°ü¹ÜÁË100%µÄ´ø¿í¶¼ÓÃÔÚÁËÕæÕýµÄÓû§ÉíÉÏ£¬Õâ²ÅÊÇÐÔÄÜÓÅ»¯µÄ×îÖÕÒâÒå¡£
¡°Nginx100%Video¡±²»µ«½öÊÇÒ»ÏîÊÖÒÕ£¬ËüÊÇÒ»ÖÖ¶ÔÓû§ÌåÑéµÄ¼«ÖÂ×·Çó£¬ÊÇÄÚÈݼÛÖµµÃÒÔ³ä·ÖÊͷŵĻùʯ¡£Í¨¹ýNginxǿʢ¶øÎÞаµÄÐÔÄÜÓÅÊÆ£¬ÎÒÃÇ¿ÉÒÔ¹¹½¨³öÔ½·¢Îȹ̡¢¸ßЧ¡¢Á÷ͨµÄÊÓÆµ·þÎñ¡£´Ó»ù´¡µÄ¼ÓÔØËÙÂÊÌáÉý£¬µ½ÈõÍøÇéÐÎϵġ°ÄæÏ®¡±£¬ÔÙµ½Î´À´»¥¶¯¡¢ÌÕ×íʽÊÓÆµÌåÑéµÄ¹¹½¨£¬Nginx¶¼ÔÚÆäÖÐÊÎÑÝ×ÅÖÁ¹ØÖ÷ÒªµÄ½ÇÉ«¡£
ÈôÊÇÄãÕýÔÚÔËÓªÒ»¸öÊÓÆµÆ½Ì¨¡¢Ö±²¥·þÎñ£¬»òÕßÈκÎÓëÊÓÆµÄÚÈÝÏà¹ØµÄÓªÒµ£¬ÉîÈëÃ÷È·²¢Êµ¼ù¡°Nginx100%Video¡±µÄÀíÄ½«ÊÇÄãÌáÉýÓû§Öª×ã¶È¡¢Àο¿Êг¡¾ºÕùÁ¦¡¢µãÁÁÊÓÆµÎ´À´µÄÒªº¦Ò»²½?¡£ÈÃNginx³ÉΪÄãÄÚÈݸßËÙ¹«Â·Éϵġ°³¬µÈÒýÇæ¡±£¬ÔØ×ÅÄãµÄÊÓÆµÄÚÈÝ£¬ÒÔ100%µÄЧÂÊ£¬±¼³ÛÏò¸üÁÉÀ«µÄÊý×ÖÌìÏ£¡
gzipon;£ºÆôÓÃGzipѹËõ£¬¿ÉÒÔ¼õСÎı¾?ÀàÏìÓ¦£¨ÈçHTML¡¢JavaScript¡¢CSS£©µÄ¾Þϸ£¬´Ó¶øïÔÌ´«Êäʱ¼ä¡£brotlion;£ºBrotliÊÇÒ»ÖÖ±ÈGzip¸ü¸ßЧµÄѹËõËã·¨£¬ÓÈÆäÊÊÓÃÓÚѹËõÎı¾ÄÚÈÝ¡£ÈôÊÇ·þÎñÆ÷Ö§³ÖBrotliÄ£¿é£¬¿ÉÒÔÓÅÏÈ˼Á¿Ê¹ÓÃBrotliÀ´»ñµÃ¸üºÃµÄѹËõЧ¹û¡£
types¿é£ºÈ·±£ÔÚmime.typesÎļþÖÐ׼ȷÉèÖÃÁËÊÓÆµÎļþÀàÐ͵Ächarset£¬Í¨³£ÊÓÆµÎļþ±¾?Éí²»ÐèҪѹËõ£¬µ«?ÓëÖ®Ïà¹ØµÄÔªÊý¾Ý»ò²¥·ÅÁбíÎļþ¿ÉÒÔ¾ÙÐÐѹËõ¡£
ÕâÒâζ×ÅÀÏÓû§ÔÙ´Î?»á¼ûʱ£¬¿ÉÒÔÖ±½ÓÌø¹ýÈß³¤µÄÎÕÊÖÀú³Ì¡£ÕâÖÖ¡°ÊìÈ˺÷þÎñ¡±µÄ»úÖÆ£¬ÔÚÌáÉýËÙÂʵÄÒ²ÏÔÖø½µµÍÁË·þÎñÆ÷µÄ?CPU¸ºÔØ¡£ÔÙÍŽáBrotliÕâÖÖ±ÈGzip¸ü¸ßѹËõ±ÈµÄËã·¨£¬ÊÓÆµÒ³ÃæµÄ¾²Ì¬×ÊÔ´Ìå»ýµÃÒÔ´ó·ùËõ¼õ£¬ÊׯÁäÖȾËÙÂÊÔٴνø»¯¡£
µ«nginx100vide100´øÀ´µÄ²»µ«½öÊÇÊÖÒÕÉϵÄˢУ¬Ëü¸üÏñÊÇÒ»³¡¶ÔÓªÒµÂß¼µÄÖØËÜ¡£Í¨¹ýÏêϸµÄ?ÈÕÖ¾¼Í¼Óë×Ô½ç˵ָ±ê¼à¿Ø£¬Äã¿ÉÒÔÇåÎúµØ¿´µ½Ã¿Ò»ÌõÊÓÆµÁ÷ÔÚÄĸö»·½Ú×î¡°ÐÁ¿à¡±¡£ÊÇÆÊÎöÂý£¿ÊÇÔ´Õ¾ÀÈ¡¿¨¶Ù£¿ÕÕ¾ÉÓû§¶ËÍøÂç²î£¿nginx100vide100ÌṩÁËÈçÏÔ΢¾µ°ãµÄ¶´²ìÁ¦£¬ÈÃÄãÄÜÕë¶ÔÐԵز驲¹È±¡£
ÕâÖÖ»ùÓÚÊý¾ÝµÄ±Õ»·ÓÅ»¯£¬²ÅÊÇÍøÕ¾³¤Öξ𲡢Óû§ÌåÑéÒ»Á¬ÁìÏȵÄÇÏÃÅ¡£
µ±ÎÒÃǽ«ÕâÒ»ÇÐÉèÖõ½Î»£¬Äã»á·¢Ã÷£¬ËùνµÄ?¡°Á÷ͨ?ÌåÑ顱²»ÔÙÊÇÒ»¸öÐþѧµÄ¿ÚºÅ¡£ËüÊdzÉǧÉÏÍò¸öTCP±¨Îĵľ«×¼Í¶µÝ£¬ÊǺÁÃë¼¶ÏìÓ¦µÄÀÛ»ýµþ¼Ó£¬ÊÇÃæÁÙÍ»·¢Á÷Á¿Ê±µÄÄÇÖÖ´ÓÈݲ»ÆÈ¡£nginx100vide100ÆÊÎöµÄ×îÖÕÄ¿µÄ£¬ÊÇÈÃÊÖÒÕÒþÐΡ£×îºÃµÄÊÖÒÕ£¬¾ÍÊÇÈÃÓû§¸ÐÊܲ»µ½?ÊÖÒյı£´æ£¬Ö»ÁôÏÂÌÕ×íʽµÄÊÓÌýÏíÊÜ¡£
¸üÉîÌõÀíµØ½²£¬nginx100vide100´ú±íµÄÊÇÒ»ÖÖ¡°×ÊÔ´·Ö¼¶¡±µÄÍ·ÄÔ¡£ÊÓÆµÄÚÈݱ»ÇзÖΪ¼«Ð¡µÄ?¿é£¨Chunks£©£¬Æ¾Ö¤Óû§µÄʵʱ´ø¿í·´Ï죬¶¯Ì¬µ÷½âÏ·¢ÓÅÏȼ¶¡£ÕâÒâζ×Å£¬ÄÄÅÂÊÇÔÚÐźŲ»¼ÑµÄµØÌúÀÓû§Ò²ÄÜÏÈ¿´µ½Á÷ͨµÄ»Ãæ£¬ËæºóÔÙËæ×ÅÐźÅתºÃ×Ô¶¯Çл»µ½³¬Çåģʽ¡£
ÕâÖÖÎÞ¸ÐÇл»µÄ±³ºó£¬ÊÇNginx¶Ôº£Á¿Êý¾Ý°üµÄ¸ßЧµ÷Àí¡£Ëµ¾¿¾¹£¬nginx100vide100ÆÊÎöµÄ²»µ«ÊÇ´úÂ룬¸üÊÇÈËÐÔÖжԡ°¿ì¡±µÄÔʼÅÎÔ¸¡£ËüÈÃÊÖÒÕµÄÀäĮת»¯ÎªÓû§ÌåÑéµÄζȣ¬ÈÃÿһ¸ö×Ö½ÚµÄÁ÷¶¯¶¼ÏÔµÃÄÇô×ÔÈ»¡¢Ë³Àí³ÉÕ¡£
ÈôÊÇ˵Part1×ÅÖØÓÚnginx100vide100µÄºê¹Û¼Ü¹¹ÓëÂß¼Ö®ÃÀ£¬ÄÇôPart2ÎÒÃǽ«²½Èë¸üΪӲºËµÄʵսϸ½ÚÓëÓÅ»¯½ø½×¡£ÒªÊµÏÖÕæÕýµÄ¡°ÊÓÆµÃ뿪¡±£¬½ö½öÒÀÀµÍ¨ÀýµÄ¸ºÔØÆ½ºâÊÇÔ¶Ô¶²»·óµÄ¡£nginx100vide100µÄ¸ß¼¶ÐÎ̬£¬ÔÚÓÚËüÔõÑùͨÏ꾡Ä廯µÄÄں˲ÎÊýÓëÄ£¿éÅäºÏ£¬ÔÚ¼«¶ËµÄ²¢·¢ÇéÐÎÏÂÒÀÈ»ÎÈÈç̩ɽ¡£
Ê×ÏÈÒªÌáµÄ¾ÍÊÇsendfileÓëtcp_nopushµÄ»Æ½ð×éºÏ¡£ÔÚnginx100vide100µÄÉèÖÃÊÖ²áÖУ¬ÕâÁ½¸öÖ¸ÁîÊÇÌáÉýI/OЧÂʵÄÖØÍ·Ï·¡£Í¨³£?ÇéÐÎÏ£¬Êý¾Ý´Ó´ÅÅÌ´«Êäµ½ÍøÂçÐèÒª¾Óɶà´ÎÄں˻º³åÇøµÄ¿½±´?£¬ÕâÎÞÒÉÊÇÖØ´óµÄÆÌÕÅ¡£¶ønginx100vide100ʹÓÃÁ㿽±´ÊÖÒÕ£¬ÈÃÊý¾ÝÖ±½ÓÔÚÄں˿ռäÍê³É´«Ê䣬ïÔÌÁËÉÏÏÂÎÄÇл»µÄ¿ªÏú¡£
ÉîÈëµ½?nginx100vide100µÄÄÚ²¿´úÂëÂß¼£¬Äã»á·¢Ã÷Ëü¶ÔÄÚ´æ¹ÜÀíÓÐÒ»ÖÖ½üºõƫִµÄ¿ØÖÆÁ¦¡£Í¨Ë×µÄNginxÔÚÃæÁÙ100¸ö²¢·¢ºÍ10Íò¸ö²¢·¢Ê±£¬ÄÚ´æ·ÖÅɵÄËéÁÑ»¯Ë®Æ½ÊÇÍêÈ«²î±ðµÄ¡£nginx100vide100ÒýÈëÁËÒ»¸ö±»³ÆÎª¡°100¼¶¶¯Ì¬ÄÚ´æ³Ø¡±µÄ¿´·¨¡£
Õâ¸ö»úÖÆµÄÉñÆæÖ®´¦ÔÚÓÚ£¬ËüÄÜÆ¾Ö¤Ä¿½ñÊÓÆµÁ÷µÄ?ÂëÂʶ¯Ì¬µ÷½â»º³åÇøµÄ¾Þϸ¡£ÈôÊÇÄãÕýÔÚ´«ÊäÒ»¸ö4KÀ¶¹â»ÖʵÄÁ÷£¬ÏµÍ³»á×Ô¶¯Ëø¶¨Ò»¸ö¸ß´ø¿íµÄÒ»Á¬ÄÚ´æ¿é£¬×èÖ¹Êý¾ÝÔÚË鯬»¯µÄÄÚ´æÖÐѰÕÒ¿Óλ¡£ÕâÖÖ¡°±©Á¦¡±¶ø¾«×¼µÄ·ÖÅÉ·½·¨£¬Ö±½Ó½â¾öÁËÊÓÆµ²¥·Å³õÆÚ×îÁîÓû§Íß½âµÄ¡°ÊׯÁ¼ÓÔØËÙÂÊ¡±ÎÊÌâ¡£
ÔÚʵÑéÇéÐÎÏ£¬½ÓÄÉnginx100vide100¼Ü¹¹µÄ·þÎñÆ÷£¬ÊׯÁ¼ÓÔØÑÓ³Ùͨ³£Äܱȱê×¼°æËõ¶Ì40%ÒÔÉÏ¡£
¸üÈÃÈËÔÞ̾µÄ?ÊÇËü¶ÔCPUÇ׺ÍÐÔµÄ?¼«ÖÂʹÓá£nginx100vide100»á½«Ìض¨µÄÊÓÆµÁ÷´¦Öóͷ£Ê¹Ãü°ó¶¨ÔÚÌØ¶¨µÄCPU½¹µãÉÏ£¬²¢Ê¹ÓÃÈý¼¶»º´æ£¨L3Cache£©µÄ¾Ö²¿ÐÔÔÀí£¬ïÔ̿罹µãµÄÊý¾Ýͬ²½ÏûºÄ¡£ÕâÒâζ×Å£¬¼´¼´ÊÇÔÚ·þÎñÆ÷ÂúÔØµÄÇéÐÎÏ£¬Ã¿Ò»¸öÊý¾Ý°üµÄ·¾¶¶¼ÊÇ¿ÉÕ¹ÍûµÄ¡¢¼«Ëٵġ£
ä¯ÀÀÆ÷»º´æ£ºÊ¹ÓÃexpiresºÍCache-ControlµÈHTTPÍ·£¬Ö¸µ¼ä¯ÀÀÆ÷»º´æÊÓÆµÎļþ¡£µ±Óû§Ôٴλá¼ûʱ£¬¿ÉÒÔÖ±½Ó´ÓÍâµØ¼ÓÔØ£¬ËÙÂʷɿ졣Nginx´ÅÅÌ»º´æ£¨proxy_cache£©£º¹ØÓÚÎÞ·¨Ö±½Óͨ¹ýCDNÁýÕÖµÄÔ´Õ¾£¬Nginx¿ÉÒÔÉèÖÃproxy_cacheÖ¸Á½«´Óºó¶Ë·þÎñÆ÷»ñÈ¡µÄÊÓÆµÄÚÈÝ»º´æµ½ÍâµØ´ÅÅÌ¡£
Õâ¹ØÓÚÈÈÃÅÊÓÆµµÄÖØ¸´²¥·ÅЧÂÊÌáÉýÖØ´ó¡£Í¨¹ýproxy_cache_key¡¢proxy_cache_validµÈÖ¸Á¿ÉÒÔϸÄ廯¿ØÖÆ»º´æµÄÌìÉúºÍʧЧսÂÔ¡£CDN¼¯³É£ºÔÚÏÖʵ°²ÅÅÖУ¬Nginxͨ³£×÷ΪCDNµÄ±ßÑØ½Úµã»òÕßÓëCDNÅäºÏʹÓá£
NginxµÄ¸ßÐÔÄÜÄܹ»ºÜºÃµØ³ÐÔØCDNÁ÷Á¿£¬ÅäºÏCDNµÄÈ«Çò½ÚµãÂþÑÜ£¬½«ÊÓÆµÄÚÈÝÍÆË͵½ÀëÓû§×î½üµÄµØ·½£¬ÊµÏÖÕæÕýµÄ¡°½üˮ¥̨¡±¡£
Ó²¼þµÄÐͬЧӦҲÊDz»¿ÉºöÊÓµÄÒ»»·¡£nginx100vide100²¢²»ÊÇò×Â¥º£ÊУ¬ËüÉîÚÏÓ²¼þ¼ÓËÙÖ®µÀ¡£ÏÖ´úÍø¿¨£¨NIC£©ÌṩµÄÐ¶ÔØ£¨Offloading£©¹¦Ð§£¬ÔÚ100vide100Öб»Éî¶È¼¤»î¡£TLS¼Ó½âÃÜ¡¢Ð£ÑéºÍÅÌËãµÈ³ÁÖØÊ¹Ãü±»´ÓCPU×ªÒÆµ½ÁËרÃŵÄÓ²¼þоƬÖС£
ÕâÒâζ×Å×ÝÈ»ÔÚ¸ßÇ¿¶ÈµÄHTTPSÇéÐÎÏ£¬NginxÒÀÈ»Äܼá³ÖÇáÓ¯µÄ×Ë̬£¬½«Õä¹óµÄÅÌËã×ÊÔ´Áô¸øÓªÒµÂß¼¡£
100vide100µÄÉñÃØ»¹²ØÔÚ¡°¿ÉÊÓ²ìÐÔ¡±ÖС£Ã»ÓÐ¼à¿ØµÄÓÅ»¯ÊÇÔÚºÚÆáºÚ¿ªÇ¹¡£Í¨¹ý¼¯³ÉPrometheusºÍGrafana£¬100vide100ϵͳÌṩÁËÒ»Ì×È«·½Î»µÄÐÔÄÜ»Ïñ£º´Ó?ÿÃëÇëÇóÊý£¨RPS£©µ½P99ÑÓ³Ù£¬´ÓÄÚ´æË鯬Âʵ½´ÅÅÌIOPS¡£
ÿһ¸öÊý×ÖµÄת±ä£¬¶¼»á´¥·¢×Ô¶¯»¯µÄÀ©ÈÝ»òËõÈÝÂß¼¡£ÕâÖÖ×ÔÎÒ½ø»¯µÄ?ÄÜÁ¦£¬ÈÃnginx100vide100³ÉΪÁËÒ»Ì×ÓÀһֱЪµÄ¶¯Á¦ÏµÍ³¡£
µ±ÄãÕÆÎÕÁËÕâÌ×Âß¼£¬ÊÓÆµÁ÷ýÌåµÄá¯Á뽫²»ÔÙÄÑÒÔÓâÔ½£¬È¡¶ø´úÖ®µÄÊÇһƬÊÖÒÕ×ÔÓɵÄÒ°Íâ¡£ÎÞÂÛÊÇÃæÁÙÍ»·¢µÄÍòÍò¼¶Á÷Á¿£¬ÕÕ¾É×·Çó¼«Öµij¬µÍÑÓ³Ù£¬nginx100vide100¶¼½«ÊÇÄãÊÖÖÐ×î¼âÈñµÄÀû½£¡£
Nginx£º¸ßÇåÊÓÆµÐÔÄܵĻùʯ£¬²»Ö¹ÓÚ¾²Ì¬Îļþ·þÎñ
ÔÚÊý×ÖÄÚÈݱ¬Õ¨µÄʱ´ú£¬ÊÓÆµÒÑÈ»³ÉΪÐÅÏ¢Èö²¥ºÍÓéÀÖÏûºÄµÄÖ÷Á÷¡£Åãͬ¶øÀ´µÄÊǶÔÊÓÆµ´«ÊäÐÔÄܵÄÑÏËàÌôÕ½£º¿¨¶Ù¡¢»º³å¡¢¼ÓÔØ»ºÂý£¬ÕâЩ¶¼ÊÇÓû§ÌåÑéµÄ¡°É±ÊÖ¡±¡£ÏëҪΪÓû§ÌṩÈçË¿°ã˳»¬µÄ¸ßÇåÊÓÆµÌåÑ飬ѡÔñÒ»¸öǿʢµÄ·þÎñÆ÷Èí¼þÖÁ¹ØÖ÷Òª¡£ÔÚÖÚ¶àÑ¡ÔñÖУ¬NginxÒÔÆäÇáÁ¿¼¶¡¢¸ß²¢·¢¡¢µÍ×ÊÔ´µÄÌØÕ÷£¬ÍÑÓ±¶ø³ö£¬³ÉΪÖÚ¶àÊÓÆµ·þÎñÌṩÉ̺ÍÄÚÈÝ·Ö·¢ÍøÂçµÄ¡°Ê×Ñ¡¡±¡£
1.NginxµÄ½¹µãÓÅÊÆ£ºÎªºÎËüÊÇÊÓÆµÐÔÄܵÄÍõÕߣ¿
NginxÖ®ÒÔÊÇÄÜÔÚÊÓÆµÁìÓò´ó·ÅÒì²Ê?£¬²¢·ÇÎÞÒâ¡£ËüËù¾ß±¸µÄ?¼¸´ó½¹µãÓÅÊÆ£¬×é³ÉÁËÆäǿʢµÄÐÔÄÜ»ùʯ£º
ÊÂÎñÇý¶¯¡¢Òì²½?·ÇÛÕ±ÕÄ£×Ó£ºÕâÊÇNginx×îΪÈ˸èË̵ÄÌØÕ÷Ö®Ò»¡£Óë¹Å°åµÄ¶àÀú³Ì»ò¶àÏß³ÌÄ£×Ó²î±ð£¬Nginx½ÓÄÉÊÂÎñÇý¶¯ºÍÒì²½·ÇÛÕ±ÕI/OÄ£×Ó¡£ÕâÒâζ×Å£¬ÔÚÒ»¸öÖ÷Àú³ÌºÍ¶à¸öÊÂÇéÀú³ÌÖУ¬Nginx¿ÉÒÔͨ¹ýÉÙÁ¿µÄÏ̴߳¦Öóͷ£´ó×ڵIJ¢·¢ÅþÁ¬¡£
µ±Ò»¸öÅþÁ¬ÔÚÆÚ´ý?I/O²Ù?×÷£¨Èç¶ÁÈ¡Îļþ»òÍøÂç´«Ê䣩ʱ£¬Ëü²»»áÛÕ±ÕÕû¸öÀú³Ì£¬¶øÊǽ«¿ØÖÆÈ¨½»»¹¸øÊÂÎñÑ»·£¬ÐÐÖ¹ÖÃÆäËûÍ£µ±µÄ?ÊÂÎñ¡£ÕâÖÖÉè¼Æ¼«´óµØÌá¸ßÁËNginxµÄ²¢?·¢´¦Öóͷ£ÄÜÁ¦ºÍ×ÊԴʹÓÃÂÊ£¬¹ØÓÚÐèҪͬʱ´¦Öóͷ£´ó×ÚÊÓÆµÁ÷µÄ³¡¾°À´Ëµ£¬ÓÅÊÆÓÈΪÏÔ×Å¡£
ÔڵײãÉè¼ÆÉÏ£¬nginx100vide100³ä·ÖʹÓÃÁËÒì²½·ÇÛÕ±ÕI/OÄ£×Ó¡£ÏëÏóһϣ¬Ò»¸ö¶¥¼¶µÄ²ÍÌü·þÎñÉú£¬Ëû²»ÊÇÔÚµãÍê²Ë?ºó¾ÍÔÚ³ø·¿ÃÅ¿ÚɵµÈ£¬¶øÊÇÔÚÆÚ´ý³ö²ÍµÄ¼ä϶£¬´ÓÈݵØÎªÁíÍâÊ®×À¿ÍÈ˵¹¾Æ¡¢µÝ²Ë?µ¥¡£nginx100vide100¼´ÊÇÕâ¸ö¼«ÖÂЧÂʵķþÎñÉú¡£
Ëüͨ¹ýÄں˼¶±ðµÄepoll»úÖÆ£¬Èõ¥Ì¨·þÎñÆ÷Ö§³ÖÆð³ÉǧÉÏÍò¸öÊÓÆµÅþÁ¬¡£µ«ÕâÖ»ÊÇ»ù´¡?£¬ÕæÕýµÄÉñÃØÔÚÓÚËü¶Ô¡°100¡±Õâ¸öÊýÖµµÄÖ´×Å¡ª¡ª¼´ÔÚ100ºÁÃë¼¶µÄÏìӦʱ¼äÄÚ£¬Íê³É?¶ÔÊÓÆµÇÐÆ¬µÄ¾«×¼µ÷Àí¡£
ÕâÖÖµ÷Àí²¢·ÇäĿ¡£nginx100vide100ÒýÈëÁËÖÇÄÜÔ¤¶Á£¨Prefetching£©Âß¼¡£ÔÚÓû§»¹Ã»Òâʶµ½×Ô¼ºÒªÔ¢Ä¿ÏÂÒ»¶ÎÊÓÆµÊ±£¬·þÎñÆ÷ÒѾƾ֤ÀúÊ·ÐÐΪºÍÍøÂçÇéÐΣ¬ÌáǰÔÚ»º´æ²ã×¼±¸ºÃÁËÊý¾Ý¡£ÕâÖÖ¡°Î´²·ÏÈÖª¡±µÄÄÜÁ¦£¬Ô´ÓÚÆäÄÚÖõÄ?¶¯Ì¬·Ö¼¶»º´æËã·¨¡£
ËüÄÜ×Ô¶¯Ê¶±ðÄÄЩÊÇ¡°ÈÈÃÅÊÓÆµ¡±£¬ÄÄЩÊÇ¡°³¤Î²ÄÚÈÝ¡±¡£¹ØÓÚÈÈÃÅÄÚÈÝ£¬nginx100vide100»á¾ø²»ÓÌÔ¥µØ½«ÆäËøËÀÔÚÄÚ´æ¸ßËÙ»º³åÇøÖУ¬ÊµÏÖÕæÕýµÄÁã´ÅÅÌI/OÏûºÄ¡£
ΪʲôÊÇ¡°100¡±£¿ÔÚÉñÃØÆÊÎöµÄÀú³ÌÖУ¬ÎÒÃÇ·¢Ã÷Õâ¸öÊý×Ö´ú±íÁËÒ»ÖÖ¼«ÏÞÆ½ºâ¡£ÔÚworker_connectionsµÄÉ趨ÉÏ£¬Ðí¶àÈËäĿ׷ÇóÊýÖµµÄ¾Þϸ£¬È´ºöÂÔÁËϵͳ¾ä±ú£¨FileDescriptors£©µÄÏÞÖÆ¡£nginx100vide100¼Ü¹¹ÍÆÐíµÄÊÇ¡°¾«×¼Åä±È¡±£¬¼´Æ¾Ö¤CPU½¹µãÊý¡¢ÄÚ´æ´ø¿íÒÔ¼°Íø¿¨ÍÌÍÂÁ¿£¬Í¨¹ýËã·¨ÍÆËã³ö×îÊʺϵIJ¢·¢Ä£×Ó¡£
¸üÉîÌõÀíµÄÉñÃØÔÚÓÚBuffer£¨»º³åÇø£©µÄ¹ÜÀí¡£ÊÓÆµÁ÷²î±ðÓÚСÎı¾£¬ËüÐèÒª¸ü´óµÄ»º³åÇøÀ´Ó¦¶ÔÍøÂç²ü¶¶¡£ÔÚnginx100vide100µÄÆÊÎöÂß¼ÖУ¬ÎÒÃÇÒýÈëÁ˶¯Ì¬»º³å?ÇøÊÖÒÕ£¬Æ¾Ö¤¿Í»§¶ËµÄÏÂÔØËÙÂʶ¯Ì¬µ÷½âproxy_buffer_size¡£ÕâÒâζ×Å£¬¹ØÓÚÍøÂçÌõ¼þ²îµÄÓû§£¬ÏµÍ³»á×Ô¶¯Ô¤Áô¸ü¶àµÄ»º´æ£¬±ÜÃâ²¥·Å¿¨¶Ù£»¶ø¹ØÓÚ¸ßËÙÁ´Â·Óû§£¬Ôò¿ìËÙÊÍ·Å×ÊÔ´£¬È·±£·þÎñÆ÷Ôڸ߸ºÔØÏÂÒÀÈ»Äܼá³Ö¡°ÁÈÈô³¿ÐÇ¡±µÄÏìÓ¦¾«¶È¡£
ÕâÖֶԵײãϸ½ÚµÄƫִ׷Çó£¬ÕýÊÇnginx100vide100Äܹ»´ÓÖÚ¶àÁ÷ýÌ弯»®ÖÐÍÑÓ±¶ø³öµÄÔµ¹ÊÔÓÉ¡£Ëü²»µ«ÊÇÔÚÅÜ´úÂ룬ËüÊÇÔÚÖ¸»ÓÒ»³¡Î¢Ãë¼¶µÄ½»ÏìÀÖ£¬Ã¿Ò»¸ö×Ö½ÚµÄÁ÷¶¯¶¼¾ÓÉÁË׼ȷµÄÅÌËãºÍÔ¤ÅС£
µ±?ÎÒÃÇ×îºóÉóÔÄ¡°nginx100vide100ÉñÃØÆÊÎö¡±Õâ¸öÖ÷Ìâʱ£¬Äã»á·¢Ã÷£¬ËùνµÄ¡°ÉñÃØ¡±×Åʵ´ÓδÒþ²ØÔÚ°µ´¦¡£Ëü¾Í±£´æÓÚÿһÐо«¼òµÄÉèÖÃÎļþÀ±£´æÓÚÿһ´Î¶ÔÄں˲ÎÊýµÄÖØ¸´Õå×ÃÖУ¬±£´æÓÚ¶ÔÓû§ÌåÑé½üºõƫִµÄ×·ÇóÀï¡£100vide100£¬ÊǶÔÐÔÄܵÄ?¾´Î·£¬ÊǶÔÊÓÆµÒÕÊõµÄ×ðÖØ¡£
ÔÚÕâ¸öÊý×Ö»¯ÉúÑĵÄʱ´ú£¬ËÄܸüÓÐÓõØÕÆ¿ØÐÅÏ¢µÄÁ÷¶¯£¬Ë¾ÍÄÜÓ®µÃδÀ´¡£nginx100vide100²»ÔÙÖ»ÊÇÒ»¸öÊÖÒÕÃû´Ê£¬Ëü¸üÏñÊÇÒ»°ÑÔ¿³×£¬·¿ªÁËͨÍù¼«ËÙÊÓ¾õмÍÔªµÄ´óÃÅ¡£ÎÞÂÛÄãÊÇÕýÔÚÃæÁÙ²¢·¢Ñ¹Á¦µÄ¿ª·¢Õߣ¬ÕÕ¾É×·Çó¼«Ö»ÖÊµÄÆóÒµÖ÷£¬ÉîÈëÃ÷È·²¢?Ó¦ÓÃÕâÌ×Âß¼£¬¶¼½«ÈÃÄãÔÚÁ÷ýÌåµÄºìº£ÖÐÍÑÓ±¶ø³ö£¬ÏñNginxÒ»Ñù£¬ÔÚ¸ßѹ֮ÏÂÒÀÈ»ÓÅÑÅ¡¢ÎȽ¡¡¢ËùÏòÅûÃÒ¡£
ÕâÖÖÆÊÎöµÄÀú³Ì£¬×Ô¼º¾ÍÊÇÒ»³¡Í·ÄÔµÄÏ´Àñ¡£ÈÃÎÒÃÇÀë±ðÄÇЩƽӹµÄÉèÖúͼ«Öصļܹ¹£¬Óµ±§nginx100vide100Ëù´øÀ´µÄÕâÖÖ´¿´â¡¢¸ßЧÇÒ³äÂúÁ¦Á¿µÄÊÖÒÕÃÀѧ¡£µ±ÊÓÆµµã¿ªµÄÄÇһ˲¼ä£¬ÄÇË¿»¬°ãµÄÁ÷ͨ¸Ð£¬¾ÍÊǶÔÎÒÃÇËùÓÐÆÊÎöÓëÆð¾¢×îºÃµÄ»ØÏì¡£100·ÖµÄ×·Çó£¬100·ÖµÄÊӽ磬ÕâÕýÊÇÎÒÃÇÔÚÕâ¸öʱ´ú£¬ËùÄܸøÓèÓû§µÄ×îºÃÀñÎï¡£
ÈôÊÇ˵Part1ÎÒÃÇÌÖÂÛµÄÊÇnginx100vide100µÄ¡°¹Ç¼Ü¡±Óë¡°¼¡È⡱£¬ÄÇôÔÚPart2ÖУ¬ÎÒÃǽ«ÉîÈë̽Ë÷ËüµÄ¡°´óÄÔ¡±Óë¡°Áé»ê¡±¡ª¡ª¼´ÄÇЩ¸üΪÒþÃØ¡¢¸ü¾ßÒÕÊõÐԵĸ߼¶µ÷ÓÅÓëÉú̬¼¯³É¡£
²»µÃ²»ÌáµÄÊÇnginx100vide100ÔÚÊÓÆµÐÒéÊÊÅäÉϵġ°ÍòÄÜÐÔ¡±¡£ÔÚÏÖ´úÊÓÆµÁ÷ýÌåÁìÓò£¬HLS£¨HTTPLiveStreaming£©ºÍDASH£¨DynamicAdaptiveStreamingoverHTTP£©ÊÇÖ÷Á÷¡£
Nginxͨ¹ýÆäǿʢµÄÄ£¿é»¯Éè¼Æ£¨Èçnginx-rtmp-moduleµÄÑݽø°æ¼°ÉÌÒµ°æNginxPlusµÄ¹¦Ð§£©£¬ÊµÏÖÁ˶ÔÕâЩÐÒéµÄÎÞ·ìת»»ÓëÇÐÆ¬·Ö·¢¡£ÕâÒâζ×Å£¬¿ª·¢ÕßÖ»ÐèÒªÍÆÒ»¸öÔʼÁ÷µ½Nginx£¬Ëü¾ÍÄÜ×Ô¶¯Íê³ÉתÂë¡¢·ÖƬ¡¢ÌìÉúË÷ÒýÎļþµÄÈ«Àú³Ì¡£
ÕâÖÖ¡°Ò»Õ¾Ê½¡±µÄ×Ô¶¯»¯´¦Öóͷ£ÄÜÁ¦£¬¼«´ó½µµÍÁËÊÓÆµÆ½Ì¨µÄÔËÎ¬ÖØÆ¯ºó£¬Ê¹µÃ¡°°ÙÈËÍŶӲŻªÎ¬»¤µÄÊÓÆµÏµÍ³¡±Äð³ÉÁË¡°¼¸Ð¡ÎÒ˽¼Ò¾ÍÄܸ㶨¡±µÄÏÖʵ¡£
½ÓÏÂÀ´µÄÉñÃØ£¬ÔÚÓÚ¡°ÖÇÄܸºÔØÆ½ºâ¡±Óë¡°¶¯Ì¬ÏÞËÙ¡±¡£ÔÚnginx100vide100µÄʵ¼ùÖУ¬Á÷Á¿ÓÀÔ¶²»?ÊÇÔȳÆÂþÑܵġ£Í»È»µÄÈÈÃÅÊÂÎñ»áµ¼ÖÂij¸ö½ÚµãÁ÷Á¿±©Ôö¡£NginxʹÓÃÆäÄÚÖõļÓȨÂÖѯ¡¢×îÉÙÅþÁ¬ÊýËã·¨£¬ÉõÖÁÊÇ»ùÓÚÒ»ÖÂÐÔ¹þÏ£µÄµ÷Àí£¬È·±£Ã¿Ò»·ÝÊÓÆµÇëÇó¶¼Äܱ»·ÖÅɵ½¸ºÔØ×îÇá¡¢ÏìÓ¦×î¿ìµÄ½Úµã¡£
ÏÖ´úÊÓÆµ²¥·ÅÆÕ±é½ÓÄÉHLS(HTTPLiveStreaming)ºÍDASH(DynamicAdaptiveStreamingoverHTTP)µÈÁ÷ýÌåÐÒé¡£ÕâЩÐÒ齫ÊÓÆµÖ§½â³ÉСÎļþ£¬²¢Æ¾Ö¤ÍøÂç״̬¶¯Ì¬µ÷½âÂëÂÊ£¬ÒÔÌṩÁ÷ͨµÄ²¥·ÅÌåÑé¡£
NginxÔÚ´¦Öóͷ£ÕâЩСÎļþµÄ·Ö·¢ÉÏ£¬Æä¸ß²¢·¢ÄÜÁ¦»ñµÃÁ˳ä·ÖÑéÕ¹¡£Í¨¹ýNginxµÄlocationÉèÖ㬿ÉÒÔÕë¶ÔÐÔµØÓÅ»¯ÕâЩ·ÖƬÎļþµÄ´«Ê䣬ȷ±£²¥?·ÅµÄÒ»Á¬ÐÔºÍÎȹÌÐÔ¡£
ÐÒéÊÊÅäÓëÓÅ»¯£ºÏÖ´úCDNÐèÒªÖ§³ÖÖÖÖÖÊÓÆµ´«ÊäÐÒ飬°üÀ¨HTTP/1.1,HTTP/2,HTTP/3,HLS,DASHµÈ¡£NginxµÄÄ£¿é»¯Éè¼ÆÊ¹ÆäÄܹ»ÎÞаµØÖ§³ÖÕâЩÐÒé¡£ÀýÈ磬ͨ¹ýÉèÖÃlisten443sslhttp2;£¬¼´¿ÉÇáËÉ¿ªÆôHTTPSºÍHTTP/2¡£
Nginx»¹¿ÉÒÔ×÷ΪRTMP/RTSPµÈÁ÷ýÌåÐÒéµÄ´úÀí£¬½«ÕâЩÐÒéµÄÁ÷Á¿×ª»»ÎªHTTPÐÒ飬Àû±ãCDN¾ÙÐÐͳһ¹ÜÀíºÍ·Ö·¢¡£Çå¾²·À»¤£ºCDNÒ²¼ç¸º×ÅÒ»¶¨µÄÇå¾²·À»¤ÔðÈΡ£NginxÌṩÁ˸»ºñµÄÇå¾²¹¦Ð§£¬Èç»á¼û¿ØÖÆ¡¢ÇëÇóÏÞËÙ¡¢SSL/TLS¼ÓÃܵȣ¬¿ÉÒÔÓÐÓõÖÓùDDoS¹¥»÷¡¢±ÜÃâÄÚÈݱ»²»·¨µÁÁ´£¬°ü¹ÜÊÓÆµÄÚÈݵİæÈ¨ºÍÓû§Çå¾²¡£
2.ʵʱֱ²¥µÄ¼ÓËÙÀûÆ÷£ºNginx+RTMP/HLS/DASH
Ö±²¥³¡¾°¶ÔÑӳٺͲ¢·¢ÄÜÁ¦µÄ?ÒªÇó¸üΪ¿Á¿Ì¡£Nginxͨ¹ýÓëRTMP¡¢HLSºÍDASHµÈÐÒéµÄÍŽᣬ³ÉΪ¹¹½¨¸ßÐÔÄÜÖ±²¥Æ½Ì¨µÄ?ÓÐÁ¦Ö§³Ö£º
RTMPÐÒéµÄÖ±²¥ÍÆÁ÷ÓëÀÁ÷£ºRTMP(Real-TimeMessagingProtocol)ÊÇÖ±²¥ÁìÓò³£ÓõÄÐÒ飬ÓÃÓÚ´ÓÖ±²¥Ô´ÍÆË͵½·þÎñÆ÷£¬ÒÔ¼°´Ó·þÎñÆ÷·Ö·¢¸ø¹ÛÖÚ¡£ËäÈ»Nginx×Ô¼º²»Ö±½ÓÖ§³ÖRTMP£¬µ«Í¨¹ýÖøÃûµÄµÚÈý·½Ä£¿énginx-rtmp-module£¬Nginx¿ÉÒÔÒ¡ÉíÒ»Äð³ÉΪһ¸ö¹¦Ð§Ç¿Ê¢µÄRTMP·þÎñÆ÷¡£
ÐòÕ£ºµ±Á÷Á¿ºé·åײÉϼܹ¹Æ¿¾±£¬nginx100vide100ΪºÎºá¿Õ³öÉú£¿
ÔÚÏÖÔÚÕâ¸öÍòÎï½Ô¿ÉÖ±²¥¡¢¶ÌÊÓÆµÖ÷Ô׸йٵÄʱ´ú£¬¿ª·¢ÕߺÍÔËά¹¤³ÌʦÃÇÌìÌì¶¼ÔÚÓë¡°ÑÓ³Ù?¡±ºÍ¡°¿¨¶Ù¡±ÕâÁ½¸ö¶ñħÍÀɱ¡£Äã¿ÉÄÜÂÄÀú¹ýÕâÑùµÄ³¡¾°£ºÎªÁËÖ§³ÖÍ»·¢ÐԵİÙÍò¼¶²¢·¢ÊÓÆµÁ÷£¬ÄãÒ»Ö±µØ¶ÑÆöÓ²¼þ·þÎñÆ÷£¬²þâ±ÔöÌí´ø¿í£¬Ð§¹ûÈ´·¢Ã÷·þÎñÆ÷µÄ¸ºÔØÏñ¶ÏÁËÏßµÄðÎ×ÓÒ»Ñùʧ¿Ø£¬¶øÓû§¶ËµÄ½ø¶ÈÌõÒÀÈ»ÔÚ¾øÍûµØ×ªÈ¦¡£
ÕâÖÖÎÞÁ¦¸Ð£¬ÈªÔ´ÍùÍù²»ÔÚÓÚÓ²¼þ²»·óÇ¿£¬¶øÔÚÓڵײã¼Ü¹¹µÄ¡°»ùÒòȱÏÝ¡±¡£¹Å°åµÄNginxÉèÖÃÔÚ´¦Öóͷ£º£Á¿Ð¡Îļþ»ò¾²Ì¬ÍøÒ³Ê±ÓÎÈÐÓÐÓ࣬µ«ÔÚÃæÁٸ߱ÈÌØÂÊ¡¢¸ß¶¯Ì¬ÌØÕ÷µÄÊÓÆµÁ÷Êý¾Ýʱ£¬ÍùÍù»áÏÔµÃ×óÖ§ÓÒç©¡£ÕýÊÇÔÚÕâÑùµÄÅä¾°Ï£¬¡°nginx100vide100¡±×÷Ϊһ¸öÉñÃØµÄÐÔÄÜ´úºÅ£¬×îÏÈÔڸ߶ËÊÖÒÕȦÄÚÇÄÈ»Èö²¥¡£
Ðí¶àÈ˶¼ÔÚÎÊ£¬Õâ¸öËùνµÄ¡°100vide100¡±¾¿¾¹ÊÇʲô£¿ËüÊÇÒ»Ì×ÌØÊâµÄ±àÒëÄ£¿é£¬ÕÕ¾ÉÒ»ÖÖ¸ïÃüÐԵĻº´æ»úÖÆ£¿
×Åʵ£¬nginx100vide100²¢·Ç¼òÆÓµÄ²å¼þµþ¼Ó£¬Ëü´ú±í?µÄÊÇÒ»ÖÖ¡°È«Á´Â·ÎÞËð´«Ê䡱µÄÕÜѧ¡£ÔڹŰåµÄ?Nginx´¦Öóͷ£Âß¼ÖУ¬Êý¾Ý°ü´ÓÍø¿¨½øÈ룬¾ÓÉÄں˿ռ䣬ÔÙµ½Óû§¿Õ¼äµÄNginxÀú³Ì£¬×îºó·¢Íù¿Í»§¶Ë¡£Õâʱ´úµÄ¶à´ÎÄڴ濽±´£¨ContextSwitching£©Êǵ¼Ö¸߲¢·¢ÏÂCPUìÉýµÄÔªÐס£
½áÓӵ±§nginx100vide100µÄδÀ´Ö®¹â
¹ØÓÚÿһ¸ö×·Çó׿ԽµÄÊÖÒÕÈË»ò¹ÜÀíÕßÀ´Ëµ£¬ÉîÈëÃ÷È·²¢Ó¦ÓÃnginx100vide100µÄÂß¼£¬²»µ«½öÊÇΪÁËÓ¦¶Ôµ±ÏµÄÁ÷Á¿ÌôÕ½£¬¸üÊÇΪÁËÔÚδÀ´µÄÖÇÄÜ»¯¾ºÕùÖÐÕ¼ÓÐÏÈ»ú¡£²»Òª±»?ÖØ´óµÄÊõÓïËùÒɻ󣬯佹µãʼÖÕÎ§ÈÆ×ÅÁ½¸ö½¹µãµã£º¼«ÖµÄЧÂÊÓë×Ô×÷ÑÚÊεÄÎȹÌÐÔ¡£
µ±ÄãÕÆÎÕÁËnginx100vide100µÄÉñÃØ£¬ÄãÊÖÖеIJ»ÔÙ½ö½öÊÇÒ»¸öWeb·þÎñÆ÷£¬¶øÊÇÒ»°Ñ¿ªÆôÊý×Ö»¯Î´À´´óÃŵÄÔ¿³×¡£ÔÚÁ÷Á¿µÄºéÁ÷ÖУ¬ÈÃÎÒÃDz»ÔÙͬÁ÷ºÏÎÛ£¬¶øÊdzÉΪËÈËÕÆ¿Ø·ç±©ÖÐÐĵÄÈË¡£Õⳡ¹ØÓÚÐÔÄܵÄ̽Ë÷ÓÀÎÞÖ¹¾³£¬¶ønginx100vide100£¬ÕýÊÇÄãͨÍùáÛ·åµÄ×î¼Ñ·¾¶¡£
¸üÁîÈËÔÞ̾µÄÊÇÆä¶Ô¡°ÅþÁ¬ÖØÓᱵĴ¦Öóͷ£¡£ÔÚÊÓÆµÁ÷ýÌåÖУ¬TCPÎÕÊֵĿªÏúÊÇÖØ´óµÄ¡£nginx100vide100ͨ¹ýÉî¶ÈÓÅ»¯µÄKeep-AliveÕ½ÂÔºÍHTTP/2ÉõÖÁHTTP/3£¨QUIC£©ÐÒéµÄÎ޷켯³É£¬¼«´óµØïÔÌÁËÅþÁ¬½¨ÉèµÄʱ¼ä±¾Ç®¡£
ÕâÒâζ×Å£¬µ±ÄãµÄÊÖ»ú·¢³ö²¥·ÅÖ¸ÁîµÄÄÇÒ»¿Ì£¬Êý¾ÝÁ÷ÒѾÓÌÈç¾öµÌ֮ˮ£¬Ë²¼äÌîÂúÁ˲¥·ÅÆ÷µÄ»º³åÇø¡£
´¿´âµÄ¿ì²¢²»?ÊÇËùÓС£ÔÚnginx100vide100µÄÌìÏÂÀÎȹÌÐÔÊÇÁíÒ»ÖÖÐÎʽµÄÒÕÊõ¡£ËüÓµÓÐÒ»Ì×ÃûΪ¡°È۶ϱ£»¤¡±µÄÉñÃØ»úÖÆ¡£µ±Ä³Ò»¶ÎÊÓÆµÁ÷ÓÉÓÚÔ´Õ¾¹ÊÕÏ»òÁ´Â·ÓµÈû·ºÆðÒ쳣ʱ£¬Ëü²»»áäĿµØÖØÊÔµ¼?ÖÂϵͳÍ߽⣬¶øÊÇѸËÙÇл»µ½±¸Ó÷¾¶»ò½µ¼¶Õ½ÂÔ£¬È·±£Óû§¸ÐÖªµÄÒÀÈ»ÊÇÁ÷ͨµÄ»Ãæ¡£
ÕâÖÖ¶ÔÈÝ´íÂʵļ«Ö°ѿأ¬ÕýÊÇnginx100vide100Äܹ»ÔÚÖØ´óÍøÂçÇéÐÎÏÂÁ¢ÓÚ²»°ÜÖ®µØµÄ½¹µã¾ºÕùÁ¦¡£
¿ÉÒÔ˵£¬nginx100vide100µÄPart1ÊÇÒ»³¡¹ØÓÚ¡°¿Õ¼ä»»Ê±¼ä¡±Ó롰ЧÂÊ»»ÌåÑ顱µÄ²©ÞÄ¡£Ëü½â¹¹Á˹ŰåÊÓÆµ·þÎñµÄ¼«ÖؼÏËø£¬ÓÃÇáÁ¿¼¶µÄ?Ïß³ÌÄ£×ÓºÍÇÉÃîµÄÄÚ´æ¹ÜÀí£¬ÎªÊÓÆµÊ±´úµÄ¿ª·¢ÕßÌṩÁËÒ»°Ñ·¿ª¸ßÐÔÄÜ´óÃŵÄÔ¿³×¡£
ϸ½ÚÀïµÄÑý¹Ö£¬½ÒÃØnginx100vide100µÄµ÷ÓžøÑ§Óëʵս¼ÛÖµ
HTTP/2£ºÔÚserver¿éÖÐÌí¼Ólisten443sslhttp2;À´ÆôÓÃHTTP/2¡£HTTP/2µÄ¶à·¸´ÓÃÌØÕ÷¿ÉÒÔÏÔÖøïÔÌÊÓÆµ·ÖƬ´«ÊäʱµÄÑÓ³Ù£¬ÓÈÆäÊÇÔÚ²¥·ÅÁбí?£¨ÈçHLS¡¢DASH£©µÄ³¡¾°Ï¡£QUIC£ºQUICÊÇÒ»¸ö¸üÏȽøµÄÐÒ飬Ïà±ÈHTTP/2£¬ËüÔÚÍøÂç²»Îȹ̻ò¶ª°üÂʽϸߵÄÇéÐÎÏÂÌåÏÖ¸ü¼Ñ¡£
NginxÕýÔÚÖð²½ÍêÉÆ¶ÔQUICµÄÖ§³Ö£¬µ«ÏÖÔÚ¿ÉÄÜÐèҪͨ¹ýµÚ?Èý·½Ä£¿é»òÌØ¶¨°æ±¾?À´ÊµÏÖ¡£ÆôÓÃQUIC¿ÉÒÔΪÊÓÆµÈö²¥Êä´øÀ´¸üµÍµÄÑӳٺ͸ü¸ßµÄÎȹÌÐÔ¡£
ÐòÕ£º°µ³±Ó¿¶¯µÄÁ÷Á¿Õ½³¡Óënginx100vide100µÄ½µÉú
ÔÚµ±½ñÕâ¸öÊý¾ÝÈç³±Á÷°ãÓ¿¶¯µÄ?Êý×Ö»¯Ê±´ú£¬ÈκÎÒ»¼ÒÆóÒµµÄÉúËÀÉúËÀÍùÍù¾ÍÐü¹ÒÔÚ¼¸ºÁÃëµÄÑÓ³ÙÖ®ÉÏ¡£µ±ÍòÍò¼¶Óû§Í¬Ê±Ó¿È룬ÊÔͼÔÚͳһ˲¼ä¼ÓÔØ¸ßÇåÊÓÆµ¡¢Íê³ÉÖ§¸¶ÉúÒâ»ò¾ÙÐÐʵʱ»¥¶¯Ê±£¬¹Å°åµÄ?·þÎñÆ÷¼Ü¹¹ÍùÍùÏÔµÃ×óÖ§ÓÒç©£¬±ÀÅÌ¡¢å´»ú¡¢¿¨¶Ù³ÉÁË»ÓÖ®²»È¥µÄÒõÓ°¡£
ÕýÊÇÔÚÕâÖÖ¼«¶ËµÄÐèÇóѹեÏ£¬Ò»¸öÃûΪ¡°nginx100vide100¡±µÄ¿´·¨×îÏÈÔڸ߼¶¼Ü¹¹Ê¦ºÍÊÖÒÕ¾öÒéÕßµÄȦ×ÓÀïÉñÃØÈö²¥¡£
¡°nginx100vide100¡±²¢·Ç½ö½öÊÇÒ»¸ö¼òÆÓµÄ´úÂë´úºÅ£¬Ëü´ú±íµÄ?ÊÇÒ»ÖÖ¼«ÖµÄ×ÊÔ´µ÷ÀíÕÜѧ¡£ÔÚÕâÀ¡°nginx¡±Êǵػù£¬ÊÇÈ«ÇòÓ¦ÓÃ×îÆÕ±é¡¢×îÎȽ¡µÄ¸ßÐÔÄÜWeb·þÎñÆ÷£»¶ø¡°100¡±Óë¡°vide100¡±ÔòÏóÕ÷×ÅÒ»ÖÖ¿çԽʽµÄÐÔÄܱê×¼¡ª¡ª¼´ÔÚ100%µÄ¸ºÔØÑ¹Á¦Ï£¬ÒÀÈ»Äܹ»¼á³Ö100%µÄÏìÓ¦¾«¶È£¬²¢Õë¶ÔÊÓÆµÁ÷£¨Video£©ÕâÒ»×îÏûºÄ×ÊÔ´µÄÊý¾ÝÐÎ̬£¬¾ÙÐаٱ¶¼¶µÄЧÂÊÝÍÈ¡¡£
ÕâÆªÉñÃØÆÊÎö£¬¾ÍÊÇҪ˺¿ªÕâ²ãÉñÃØµÄÃæÉ´£¬´øÄã×ß½øËÈËÓÉÊý¾ÝºÍÂß¼ÐÞ½¨µÄ¸ßЧÌìÏ¡£
Nginx100%Video£ºÊÓÆµÊ±´úµÄÐÔÄÜ»ùʯ£¬ÔõÑùÈÃÄãµÄÄÚÈÝ¡°ÅÜ¡±ÆðÀ´£¿
ÔÚÐÅÏ¢±¬Õ¨µÄ½ñÌ죬ÊÓÆµÄÚÈÝÒѳÉ?ΪÅþÁ¬ÌìϵÄͨÓÃÓïÑÔ¡£ÎÞÂÛÊǾ«²ÊµÄÓ°Ï·¡¢ÈÈѪµÄÈüÊÂÖ±²¥£¬ÕÕ¾ÉÉî¶ÈµÄ֪ʶ·ÖÏí£¬Óû§¶ÔÊÓÆµµÄÆÚ´ýÔçÒÑ´Ó¡°ÄÜ¿´¡±Éý¼¶Îª¡°Ã뿪¡¢Ë¿»¬¡¢ÎÞÑÓ³Ù¡±¡£Åãͬ×ÅÊÓÆµÄÚÈݵÄÅÉú³¤£¬ÔõÑù¸ßЧ¡¢Îȹ̵ش¦Öóͷ£º£Á¿ÊÓÆµÇëÇ󣬳ÉΪ°ÚÔÚÿһλÄÚÈÝ´´×÷Õß¡¢Æ½Ì¨ÔËÓªÕßÑÛǰµÄÑÏËàÌôÕ½¡£
·þÎñÆ÷´ø?¿í½ôÆÈ¡¢CPUÕ¼ÓÃìÉý¡¢Óû§Ëß¿àÁ¬Á¬¡¡ÕâЩ³¡¾°ÊDz»ÊÇÌýÆðÀ´ËÆÔøÏàʶ£¿±ðµ£ÐÄ£¬¡°Nginx100%Video¡±µÄÀíÄÕýÊÇΪÏàʶ¾öÕâЩʹµã¶øÉú£¬Ëü²»µ«ÊÇÒ»¸öÊÖÒÕÃû´Ê£¬¸üÊÇÒ»ÖÖ¶Ô¼«ÖÂÊÓÆµÌåÑéµÄÔÊÐí¡£
tcp_nopushon;£º¿ªÆôÕâ¸öÑ¡Ïî¿ÉÒÔÔÚ·¢ËÍÍ·ÐÅÏ¢µÄ¾¡¿ÉÄÜ¶àµØ·¢ËÍÎļþÄÚÈÝ£¬ïÔÌ·¢ËÍ´ÎÊý£¬Ìá¸ßЧÂÊ¡£tcp_nodelayon;£º½ûÓÃNagleËã·¨£¬¹ØÓÚÐèҪʵʱÐÔ´«ÊäµÄÊÓÆµÁ÷£¬¹Ø±ÕNodelay¿ÉÒÔïÔÌÑÓ³Ù¡£
keepalive_timeout£ººÏÀíÉèÖó¤ÅþÁ¬³¬Ê±Ê±¼ä¡£¹ØÓÚÊÓÆµÁ÷£¬¼á³Ö³¤ÅþÁ¬¿ÉÒÔ×èֹƵÈÔµÄÅþÁ¬½¨ÉèºÍ¶Ï¿ª´øÀ´µÄ¿ªÏú¡£sendfileon;£ºÈ·±£sendfileÖ¸ÁîÒÑÆôÓã¬ÕâÊÇNginx¸ßЧ´«ÊäÎļþµÄÒªº¦¡£
CDNÓëNginxµÄÐͬ£º¹¹½¨È«ÇòÐÔµÄÊÓÆµ¼ÓËÙÍøÂç
ҪʵÏÖ¡°100%ÊÓÆµ100%iÐÔÄÜ¡±£¬½ö½öÓÅ»¯µ¥¸öNginx·þÎñÆ÷ÊÇÔ¶Ô¶²»·óµÄ¡£ÔÚÈ«Çò¹æÄ£ÄÚ£¬ÄÚÈÝ·Ö·¢ÍøÂç(CDN)ÊDZز»¿ÉÉÙµÄ×é³É²¿·Ö¡£Nginx×÷ΪCDN½ÚµãÉϵĽ¹µã·þÎñÆ÷£¬°ç?ÑÝ×ÅÖÁ¹ØÖ÷ÒªµÄ½ÇÉ«¡£
¾Í½ü»á¼û£ºÓû§ÇëÇóÊÓÆµÊ±£¬»á±»ÖÇÄÜ·Óɵ½ÀëËûÃÇ×î½üµÄCDN½Úµã¡£NginxÔÚÕâЩ½ÚµãÉÏÌṩ¸ßÐÔÄܵÄÊÓÆµ·Ö·¢·þÎñ£¬¼«´óµØËõ¶ÌÁËÓû§»á¼ûÑÓ³Ù¡£Á÷Á¿Ð¶ÔØ£ºCDN½«¾ø´ó²¿·ÖÁ÷Á¿·Ö·¢µ½±ßÑØ½Úµã£¬ÏÔÖø¼õÇáÁËÔ´Õ¾µÄѹÁ¦£¬Ê¹µÃÔ´Õ¾¿ÉÒÔרעÓÚÌṩ¸ßÖÊÁ¿µÄÄÚÈÝ£¬¶ø²»?ÊÇÓ¦¶Ôº£Á¿²¢·¢ÇëÇó¡£
ÈôÊÇ˵part1ÎÒÃǽҿªÁËnginx100vide100µÄ?ÀíÂÛÃæÉ´£¬ÄÇôÔÚpart2ÖУ¬ÎÒÃÇÐèҪ̽ÌÖµÄÊÇ£ºÕâÌ׼ƻ®ÔõÑùÔÚÖØ´óµÄÏÖÕæÏàÐÎÖУ¬Íê³É´Ó¡°Àä±ù±ùµÄ´úÂ롱µ½¡°¾ªÑÞÊÓ¾õÌåÑ顱µÄ»ªÃÀתÉí¡£Ðí¶àʱ¼ä£¬ÊÖÒÕµÄÁ¦Á¿²¢²»?ÔÚÓÚËüºÎµÈÉî°Â£¬¶øÔÚÓÚËüÔõÑùÇÉÃîµØ»¯½âÁËÏÖʵÖеÄì¶Ü¡£
ÔÚnginx100vide100µÄÉñÃØÆÊÎöÖУ¬Ò»¸öÎÞ·¨»Ø±ÜµÄÒªº¦´ÊÊÇ¡°ÖÇÄÜ»º´æ¼Ü¹¹¡±¡£¹Å°åµÄCDN¼ÓËÙÍùÍù±£´æ»ØÔ´Á´Í¾¾³¤¡¢ÈÈÃÅÄÚÈÝ·Ö·¢²»¾ùµÄÎÊÌâ¡£¶øÕâÌ׼ƻ®ÒýÈëÁ˶༶»º´æ»úÖÆ¡£Ëü½«Nginx²»µ«½öÊÓΪһ¸öWeb·þÎñÆ÷£¬¸üÊÇÒ»¸öǿʢµÄ±ßÑØÅÌËã½Úµã¡£
ͨÏ꾡Ä廯µÄproxy_cacheÉèÖã¬ÏµÍ³Äܹ»×Ô¶¯Ê¶±ðÄÄЩÊÇ¡°±¬¿îÊÓÆµ¡±£¬²¢½«Æä³£×¤ÔÚÄÚ´æ?»ò¸ßËÙSSDÖС£µ±ÍòÍò¼¶Óû§Í¬Ê±Ó¿ÈëѰÕÒͳһ¸öÊÓÆµÔ´Ê±£¬nginx100vide100ͨ¹ý¸ºÔØÆ½ºâËã·¨£¬½«Ñ¹Á¦Æ½Ì¯µ½Ã¿Ò»¸ö½¹µã£¬È·±£Ã¿Ò»ÆðÐźŶ¼ÊÇÂúѪµÄ100·Ö¡£
׿ԽµÄ»º´æ»úÖÆ£ºÊÓÆµµÄ»º´æ¹ØÓÚÌáÉýÓû§ÌåÑéÖÁ¹ØÖ÷Òª¡£NginxÌṩÁËǿʢµÄ»º´æ¹¦Ð§£¬¿ÉÒÔ»º´æ³£ÓõÄÊÓÆµÎļþ¡£µ±Óû§ÇëÇóÒ»¸öÒѾ±»»º´æµÄÊÓÆµÊ±£¬Nginx¿ÉÒÔÖ±½Ó´ÓÄÚ´æ»ò´ÅÅÌÌṩ·þÎñ£¬ÎÞÐèÔٴλá¼ûºó¶Ë´æ?´¢£¬´Ó¶ø¼«´ó?µØËõ¶ÌÁËÏìӦʱ¼ä£¬¼õÇáÁ˺ó¶Ë·þÎñÆ÷µÄѹÁ¦¡£
ͨÏ꾡ÄåÉèÖûº´æÕ½ÂÔ£¬È绺´æ?ʱ¼ä¡¢»º´æ¼ü¡¢»º´æÊ§Ð§»úÖÆµÈ£¬¿ÉÒÔÓÐÓÃÌá¸ß»º´æ?ÖÀÖÐÂÊ£¬×î´ó»¯µØÊ©Õ¹»º´æµÄÓÅÊÆ¡£
ǿʢµÄ¸ºÔØÆ½ºâÄÜÁ¦£ºÃæÁÙÖØ´ó?µÄÓû§Á¿£¬¼òµ¥·þÎñÆ÷ÍùÍùÄÑÒÔÖ§³Ö¡£NginxǿʢµÄ?¸ºÔØÆ½ºâ¹¦Ð§¿ÉÒÔ½«´«ÈëµÄÊÓÆµÇëÇó·Ö·¢µ½¶ą̀ºó¶Ë·þÎñÆ÷ÉÏ£¬×ÝȻij̨·þÎñÆ÷·ºÆð¹ÊÕÏ£¬Ò²²»»áÓ°ÏìÕûÌå·þÎñµÄ¿ÉÓÃÐÔ¡£NginxÖ§³Ö¶àÖÖ¸ºÔØÆ½ºâËã·¨£¬ÈçÂÖѯ(RoundRobin)¡¢¼ÓȨÂÖѯ(WeightedRoundRobin)¡¢IP¹þÏ£(IPHash)µÈ£¬¿ÉÒÔÆ¾Ö¤ÏÖʵÐèÇóÑ¡Ôñ×îÓŵķÖÅɲß?ÂÔ£¬È·±£×ÊÔ´µÄ³ä·ÖʹÓúÍÇëÇóµÄ?¿ìËÙÏìÓ¦¡£
HTTP/2ºÍQUICÖ§³Ö£ºËæ×ÅWebÊÖÒÕµÄÉú³¤£¬HTTP/2ºÍQUICÐÒéÌṩÁ˱ÈHTTP/1.1¸ü¸ßµÄ´«ÊäЧÂÊ¡£HTTP/2Ö§³Ö¶à·¸´ÓÃ(Multiplexing)£¬ÔÊÐíÔÚµ¥¸öTCPÅþÁ¬ÉÏͬʱ´«?Êä¶à¸öÇëÇóºÍÏìÓ¦£¬ïÔÌÁËÅþÁ¬½¨ÉèµÄ?¿ªÏú£¬½µµÍÁËÑÓ³Ù¡£