ÔÚÕâ¸öÐÅÏ¢±¬Õ¨µÄʱÆÚ£¬ÊÓÆµÄÚÈÝÒѾ³ÉΪÈËÃÇ»ñÊØÐÅÏ¢¡¢ÓéÀÖÏûDzµÄÖ÷Á÷·½Ê½¡£´Ó¸ßÇåµçÓ°¡¢ÔÚÏßÖ±²¥µ½¶ÌÊÓÆµ·ÖÏí£¬ÊÓÆµ´«ÊäµÄЧÄܺͲ»±äÐÔÖ±½ÓÓ°Ïì×ÅÓû§ÂÄÀú¡£¶øNginx£¬×÷Ϊһ¿î¸ß»úÄܵÄHTTPºÍ·´Ïò´úÀí·þÎñÆ÷£¬ÔÚÊÓÆµÁ÷ýÌåÁìÓòÔçÒѶÀÕ¼÷¡Í·£¬³ÉΪÎÞÊýÊÓÆµÆ½Ì¨ÀµÒÔÉú¼ÆµÄ»ùʯ¡£
½ñÌ죬ÎÒÃǾÍÀ´Éî¿ÌNginxµÄÖ÷Ì⣬̽ѰËüÈôºÎʵÏÖÊÓÆµ´«ÊäµÄ100%»úÄÜ¿ªÊÍ¡£
NginxÖ®ËùÒÔÄÜÔÚÊÓÆµ´«ÊäÁìÓò´ó·ÅÒì²Ê£¬ÓëÆäÌìÉúµÄ¡°¸ß»úÄÜDNA¡±Ãܲ»³É·Ö¡£Ó봫ͳµÄApache·þÎñÆ÷Ïà±È£¬NginxѡȡÁËÊÂÎñÇý¶¯¡¢Òì²½·Ç×èÈûµÄÍøÂçÄ£ÐÍ¡£ÕâÒâζ×ÅNginxÔÚ´¦ÖôóÁ¿²¢·¢ÏνÓʱ£¬²»»áΪÿ¸öÏνӴ´½¨¶ÀÁ¢µÄ¹ý³Ì»òỊ̈߳¬¶øÊÇͨ¹ýÒ»¸öÖ÷¹ý³ÌºÍ¶à¸ö¹¤×÷¹ý³Ì£¬ÀûÓÃÉÙÁ¿Ï̸߳ßЧµØ´¦ÖÃÀ´×Ô¿Í»§¶ËµÄÒªÇó¡£
ÉèÏëһϣ¬µ±Êý°ÙÍòÓû§Í¬Ê±ÅÔ¹ÛÖ±²¥»òµã²¥?ÊÓÆµÊ±£¬´«Í³·þÎñÆ÷¿ÉÄÜ»áÓÉÓÚ×ÊÔ´ºÄ¾¡¶ø±ÀÀ£¡£¶øNginxÈ´ÄÜ´ÓÈÝÓ¦¶Ô£¬Ëüͨ¹ý¾«²ÊµÄÉè¼Æ£¬½«CPUºÍÄÚ´æµÄʹÓÃÂʽµµ½?×îµÍ£¬´Ó¶øÈ·±£?ÁËÔڸ߲¢·¢³¡¾°ÏÂÈԾɿÉÄܲ»±ä¡¢¸ßЧµØ´«ÊäÊÓÆµÁ÷¡£ÕâÖÖ¡°Ò»ÈË·ÖÊζà½Ç¡±µÄ¹¤×÷ģʽ£¬ÕýÊÇNginx¿ÉÄÜʵÏÖ100%»úÄܵĹؼüµØµã¡£
2.NginxµÄÊÓÆµ´«ÊäÀûÆ÷£ºHTTPºÍ̸ÓëÁ÷ýÌåºÍ̸µÄÃÀÂúÈÚºÏ
NginxÔÚÊÓÆµ´«Êä·½Ãæ£¬²¢?·Ç½ö½öÊÇÒ»¸öµ¥Ò»µÄÎļþ·þÎñÆ÷¡£ËüÉîÚÏÁ÷ýÌå´«?ÊäµÄ°ÂÃØ£¬²¢ÌṩÁ˶àÖÖºÍ̸֧³Ö£¬Ê¹Æä¿ÉÄÜÃÀÂúÊÊÓ¦·ÖÆç³¡¾°ÏµÄÊÓÆµÐèÒª¡£
HTTP/1.1ºÍHTTP/2µÄÓÅÊÆ£º¼´±ãÊÇ´«Í³µÄHTTPºÍ̸£¬NginxÒ²ÄÜͨ¹ýÆä¸ßЧµÄʵÏÖ£¬ÎªÊÓÆµ´«Êä´ø?À´ÏÔÖøÌáÉý¡£HTTP/1.1µÄ³ÖÐøÏνӣ¨Keep-Alive£©Ö°ÄÜ£¬Äܹ»Ï÷¼õTCPÏνӵijÉÁ¢ºÍ¹Ø¹Ø¿ªÏú£¬¶ÔÓÚÆµÈÔÒªÇóÊÓÆµÆ¬¶ÎµÄÓû§¶øÑÔ£¬¿ÉÄÜÓÐЧ½µµÍÑÓ³¤¡£
¶øHTTP/2µÄ¶à·¸´Óá¢Í·²¿Ñ¹ËõµÈ¸öÐÔ£¬Ôò½øÒ»²½ÌáÉýÁË´«ÊäЧÄÜ£¬Ê¹µÃÊÓÆµ¼ÓÔØ¿ìÂʸü¿ì£¬¿¨¶Ù¸Ð´ó´ó¼õÈõ¡£HLS(HTTPLiveStreaming)ºÍDASH(DynamicAdaptiveStreamingoverHTTP)£ºÕâÁ½ÖÖ»ùÓÚHTTPµÄ×ÔÊÊÓ¦ÂëÁ÷¼¼Êõ£¬Êǵ±Ç°ÊÓÆµÁ÷ýÌåÁìÓòµÄÖ÷Á÷¡£
NginxÔÚÕâ·½Ãæ²û·¢ÓÈΪ½Ü³ö¡£Ëü¿ÉÄÜÇáËɵؽ«Ô´ÊÓÆµÇÐÆ¬³É¶à¸öÓ×Îļþ£¬²¢ÌìÉúM3U8£¨HLS£©»òMPD£¨DASH£©Ë÷ÒýÎļþ¡£µ±Óû§²¥·ÅÊÓÆµÊ±£¬Nginx»áƾ¾ÝÓû§µÄÍøÂç´ø¿í¶¯Ì¬µØÎªÆäÍÆËÍ·ÖÆçÖÊÁ¿µÄÊÓÆµÆ¬¶Î£¬´Ó¶øÊµÏÖÎÞ·ì²¥·Å£¬ÓÐЧԤ·ÀÁË»º³å¡£
RTMP(Real-TimeMessagingProtocol)£º¶ÔÓÚÖ±²¥³¡¾°£¬RTMPºÍ̸ÒòÆäµÍÑÓ³¤µÄ¸öÐÔ¶ø±¸ÊÜÇàíù¡£Nginxͨ¹ýnginx-rtmp-module²å¼þ£¬¿ÉÄÜÇáËɴ¸ß»úÄܵÄRTMP·þÎñÆ÷£¬ÊµÏÖÊÓÆµÁ÷µÄÊµÊ±ÍÆÁ÷ºÍ·Ö·¢¡£
ÕâʹµÃNginx³ÉΪֱ²¥Æ½Ì¨´î½¨µÄÊ×Ñ¡¹æ»®?Ö®Ò»£¬¿ÉÄܳÐÔØº£Á¿¹Û¶àµÄ?ʵʱÅÔ¹ÛÐèÒª¡£
»º´æÊÇÌáÉýNginxÊÓÆµ´«Êä»úÄܵÄÁíÒ»´ó·¨±¦¡£Í¨¹ýºÏÀíµÄ»º´æÕ½Êõ£¬Nginx¿ÉÄܽ«ÈȵãÊÓÆµÄÚÈÝ´æ´¢ÔÚÀëÓû§¸ü½üµÄ·þÎñÆ÷ÉÏ£¬ÉõÖÁÖ±½Ó±£ÁôÔÚÄÚ´æÖУ¬´Ó¶ø´ó´óËõ¶Ì½Ó¼ûõè¾¶£¬Ï÷¼õÍøÂçÑÓ³¤¡£
¿Í»§¶Ë»º´æ£ºNginxÄܹ»Í¨¹ýExpiresºÍCache-ControlµÈHTTPÍ·²¿£¬Åúʾä¯ÀÀÆ÷»º´æÊÓÆµÎļþ¡£ÕâÑù£¬Óû§ÔٴνӼûͳһÊÓÆµÊ±£¬Äܹ»Ö±½Ó´Ó?±¾µØ¼ÓÔØ£¬ÎÞÐèÔٴδӷþÎñÆ÷ÒªÇ󣬼«´ó?µØÌáÉýÁ˼ÓÔØ¿ìÂÊ¡£´úÀí»º´æ£ºNginx»¹Äܹ»×÷Ϊ·´Ïò´úÀí£¬¶Ôºó¶ËÊÓÆµ·þÎñÆ÷µÄÄÚÈݽøÐлº´æ¡£
µ±Óû§ÒªÇóÊÓÆµÊ±£¬NginxÊ×ÏȲé³×Ô¼ºµÄ»º´æÖÐÊÇ·ñ´æÔÚ¸ÃÊÓÆµ¡£ÈôÊÇ´æÔÚ£¬ÔòÖ±½Ó·µ»Ø£¬Ô¤·ÀÁ˶Ժó¶Ë·þÎñÆ÷µÄѹÁ¦¡£Õâ¶ÔÓÚ½Ó¼ûÁ¿¾Þ´óµÄÊÓÆµÍøÕ¾¶øÑÔ£¬ÊǼõÇá·þÎñÆ÷Ö°ÊØ¡¢ÌáÉýÕûÌå»úÄܵÄÀûÆ÷¡£CDN(ContentDeliveryNetwork)µÄÐͬ£ºNginxÔÚCDN¼Ü¹¹ÖбíÑÝ×ÅÖÁ¹Ø³ÁÒªµÄ?½ÇÉ«¡£
¸÷¸öCDN½Úµã¶¼Äܹ»²¿ÊðNginx·þÎñÆ÷£¬½«ÈȵãÊÓÆµÄÚÈÝ»º´æµ½È«Çò¸÷µØµÄ±ßÔµ½Úµã¡£µ±Óû§ÒªÇóÊÓÆµÊ±£¬Nginx»áÖÇÄܵؽ«ÒªÇóµ¼Ïò¾àÀëÓû§×î½üµÄ½Úµã£¬ÊµÏÖÃë¼¶ÏìÓ¦£¬³¹µ×Í»ÆÆµØÓòÏÞ¶È£¬ÈÃÈ«ÇòÓû§¶¼ÄÜÏíÊܵ½Á÷³©µÄÊÓÆµÂÄÀú¡£
Worker¹ý³ÌÊýÁ¿£ºworker_processes²ÎÊýÖ±½Ó¾ö¶¨ÁËNginxµÄ²¢·¢´¦ÖÃÄÜÁ¦¡£Í¨³£Çé¿öÏ£¬½«ÆäÉèÖÃΪCPUÖ÷ÌâÊýÊDZÈÁ¦ÃÎÏëµÄ¡£ÏνÓÊýÏÞ¶È£ºworker_connections²ÎÊýÓÃÓÚÉèÖÃÿ¸ö¹¤×÷¹ý³Ì¿ÉÄÜ´¦ÖõÄ?×î´óÏνÓÊý¡£
±ØÒªÆ¾¾Ý·þÎñÆ÷µÄÄÚ´æºÍÏÖʵ²¢·¢ÐèÒª½øÐкÏÀíÅäÖ᣷¢ËÍ»º³åÇø£ºsendfileon;ºÍtcp_nopushon;µÈÖ¸Áî¿ÉÄÜÓÅ»¯NginxµÄÎļþ·¢ËÍЧÄÜ£¬Ï÷¼õCPU¿ªÏú¡£Keep-AliveÉèÖãºkeepalive_timeout²ÎÊýÓÃÓÚÉèÖó¤Ïνӵij¬²»¶Ï¼ä£¬ºÏÀíµÄÉèÖÃÄܹ»Ï÷¼õTCPÏνӵijÉÁ¢´ÎÊý¡£
HTTP/2ºÍSSL/TLSÓÅ»¯£ºÆôÓÃHTTP/2ºÍ̸£¬²¢¶ÔSSL/TLS½øÐÐÓÅ»¯£¬ÈçʹÓøü¿ìµÄ¼ÓÃÜËã·¨¡¢µ÷ÕûÎÕÊÖ¹ý³ÌµÈ£¬Äܹ»½øÒ»²½ÌáÉýHTTPSÊÓÆµ´«ÊäµÄ»úÄÜ¡£
ÔÚPart1ÖУ¬ÎÒÃÇÉî¿ÌÏàʶÁËNginx×÷ΪÊÓÆµ´«Êä»ùʯËù¾ß±¸?µÄ¸ß»úÄÜDNA¡¢×³´óµÄºÍ̸֧³ÖÒÔ¼°»º´æ»úÔì¡£ÒªÕæÕýʵÏÖNginxÊÓÆµ»úÄܵÄ100%¿ªÊÍ£¬»¹±ØÒªÔÚʵ¼ÊÖв»?¶ÏË÷ÇóºÍÓÅ»¯£¬½«ÀíÂÛת»¯Îª×¿Ô½µÄÓû§ÂÄÀú¡£±¾²¿ÃŽ«¾Û½¹ÓÚNginxÔÚÊÓÆµ´«ÊäÁìÓòµÄ½ø½×ÀûÓú͸üÉîµµ´ÎµÄ»úÄܵ÷ÓÅÕ½Êõ¡£
ÊÓÆµÆ½Ì¨µÄ³É¹¦£¬Àë²»¿ªÆä²»±äÖ§³Öº£Á¿Óû§²¢·¢½Ó¼ûµÄÄÜÁ¦¡£NginxÔÚÕâ·½ÃæÌṩÁË׳´óµÄ¸ºÔØÆ½ºâÖ°ÄÜ£¬¿ÉÄܽ«Óû§µÄÒªÇóÖÇÄܵطַ¢µ½¶ą̀ºó¶ËÊÓÆµ·þÎñÆ÷£¬ÓÐЧԤ·Àµ¥µã¹ýÔØ£¬²¢ÌáÉýÕûÌåϵͳµÄ¿ÉÓÃÐÔ¡£
¶àÖÖ¸ºÔØÆ½ºâÕ½Êõ£ºNginxÖ§³Ö¶àÖÖ¸ºÔØÆ½ºâËã·¨£¬Ô̺¬ÂÖѯ£¨round-robin£©¡¢È¨³ÁÂÖѯ£¨weightedround-robin£©¡¢IP¹þÏ££¨iphash£©ÒÔ¼°¸üÖÇÄܵĻùÓÚleastconn£¨ÖÁÉÙÏνӣ©ºÍleasttime£¨ÖÁÉÙÏìÓ¦¹¦·ò£©µÄËã·¨¡£
¶ÔÓÚÊÓÆµ´«?Êä¶øÑÔ£¬»ùÓÚleastconnµÄÕ½Êõͨ³£¿ÉÄܸüºÃµØ·ÖÅäÏνӣ¬È·±£Ã¿Ì¨ºó¶Ë·þÎñÆ÷µÄ¸ºÔØÏà¶Ôƽºâ¡£½¡È«²é³»úÔ죺Nginx¿ÉÄܶԺó¶Ë·þÎñÆ÷½øÐн¡È«²é³£¬×Ô¶¯ÌÞ³ý¹ÊÕÏ·þÎñÆ÷£¬²¢½«Á÷Á¿³Áе¼Ïò½¡È«µÄ·þÎñÆ÷£¬È·±£ÊÓÆµ·þÎñµÄ³ÖÐø¿ÉÓÃÐÔ¡£µ±ÊÓÆµ·þÎñÆ÷³öÏÖÏìÓ¦»ºÂý»òÎÞÏìӦʱ£¬Nginx»á½«ÆäÏóÕ÷Ϊ²»½¡È«£¬Ö±µ½Æä¸´ÔÕý³£?¡£
Ö÷±¸£¨Active/Passive£©ÓëÖ÷Ö÷£¨Active/Active£©¼Ü¹¹£º½áºÏNginxµÄ·´Ïò´úÀíÄÜÁ¦£¬Äܹ»ÇáËɹ¹½¨¸ß¿ÉÓõÄÊÓÆµ·þÎñ¼Ü¹¹¡£Í¨¹ýKeepalivedµÈ¹¤¾ß£¬Äܹ»ÊµÏÖNginxµÄ¹ÊÕÏ×ªÒÆ£¬µ±Ö÷Nginx·þÎñÆ÷³öÏÖ¹ÊÕÏʱ£¬±¸?ÓÃNginx·þÎñÆ÷¿ÉÄÜÎÞ·ìÊÕÊÜ£¬±£ÕÏÊÓÆµ·þÎñµÄÂ½ÐøÐÔ¡£
2.ÖÇÄÜ·ÓÉÓëÄÚÈÝ·Ö·¢£ºCDNÍøÂçµÄNginxÒýÇæ
CDNÊÇÊÓÆµÄÚÈݵÃÒÔÔÚÈ«ÇòÁìÓò¼±¾ç·Ö·¢µÄ¹Ø¼ü¡£¶øNginxÔÚCDN¼Ü¹¹ÖбíÑÝ×Å¡°±ßÔµÍÆË㡱ºÍ¡°ÄÚÈÝ»º´æ¡±µÄÖ÷Ìâ½ÇÉ«¡£
±ßÔµ½ÚµãµÄ¸ßЧ·Ö·¢£ºÔÚCDNµÄÿ¸ö±ßÔµ½Úµã£¬¶¼²¿ÊðÓÐNginx·þÎñÆ÷£¬ÕƹܽӹÜÀ´×ÔÓû§µÄ²¥·ÅÒªÇó¡£Nginx¿ÉÄܼ±¾çµØ´Ó±¾µØ»º´æÖмìË÷ÊÓÆµÆ¬¶Î£¬²¢ÒÔ×î¿ìµÄ¿ìÂÊÍÆË͵½Óû§É豸¡£ÕâÖÖ¡°¾Í½ü½Ó¼û¡±µÄģʽ£¬¼«´óµØ½µµÍÁËÑÓ³¤£¬ÌáÉýÁËÓû§ÂÄÀú¡£
¶¯Ì¬ÄÚÈݼӿ죺³ýÁ˾²Ì¬µÄÊÓÆµÎļþ£¬NginxÒ²ÄÜͨ¹ý·´Ïò´úÀí£¬½«¶¯Ì¬ÌìÉúµÄÄÚÈÝ£¨ÈçÓû§ÌìÉúµÄ²¥?·ÅÁÐ±í¡¢ÍÆ¼öÊÓÆµµÈ£©¼Ó¿ì·Ö·¢¡£Í¨¹ý»º´æ¶¯Ì¬ÄÚÈÝ£¬Äܹ»ÏÔÖøÏ÷¼õºó¶ËÀûÓ÷þÎñÆ÷µÄѹÁ¦¡£Óë»ØÔ´Õ½ÊõµÄÐͬ£ºµ±±ßÔµ½ÚµãµÄ»º´æÖÐûÓÐЧ»§ËùÐèµÄÊÓÆµÆ¬¶Îʱ£¬Nginx»áÖÇÄܵØÏòÔ´Õ¾ÌáÒé»ØÔ´ÒªÇ󣬲¢½«»ñÈ¡µ½µÄÄÚÈÝ»º´æµ½?±¾µØ£¬ÒÔ±ãºóÐøÓû§µÄ½Ó¼û¡£
NginxµÄ»ØÔ´Õ½Êõ±ØÒª¾«ÐÄÅäÖã¬ÒÔÆ½ºâ»º´æÉäÖÐÂʺÍԴվѹÁ¦¡£
Ö±²¥ÊÇÊÓÆµÄÚÈÝ×ÑéʵʱÐԵij¡¾°¡£Nginxͨ¹ýRTMPÄ£¿éÒÔ¼°¶ÔWebSocketµÄÖ§³Ö£¬ÔÚÖ±²¥ÁìÓòչʾ³ö׳´óµÄÄÜÁ¦¡£
RTMPÍÆÁ÷ÓëÀÁ÷£ºNginx-RTMP-ModuleÔÊÐíNginx±íÑÝRTMP·þÎñÆ÷µÄ½ÇÉ«£¬½Ó¹ÜÀ´×ÔÖ±²¥Ô´µÄRTMPÍÆÁ÷£¬²¢½«Æä·Ö·¢¸ø´óÁ¿ÅÔ¹ÛÕß¡£Í¨¹ý¶ÔRTMPºÍ̸µÄÉî¶Å×Å»¯£¬Nginx¿ÉÄÜʵÏÖ¼«µÍµÄ?ÑÓ³¤£¬ÈÃÖ÷²¥Óë¹Û¶àµÄ»¥¶¯Ô½·¢¼´Ê±¡£
WebSocketÖ§³Ö£º¶ÔÓÚһЩ±ØÒª¸ü½Ã½ÝͨѶµÄÖ±²¥³¡¾°£¬NginxÒ²ÌṩÁ˶ÔWebSocketµÄÓÅÁ¼Ö§³Ö¡£ÕâʹµÃ¿ª·¢ÕßÄܹ»¹¹½¨¸ü¾ß½»»¥ÐÔµÄ?Ö±²¥ÀûÓã¬ÀýÈçʵʱµ¯Ä»¡¢ÀñÎïÔùË͵ȡ£Á÷Á¿ÕûÐÎÓëÏÞ¶È£ºÔÚÖ±²¥³¡¾°Ï£¬ÎªÁ˱£ÕÏ·þÎñµÄ²»±äÐÔ£¬Nginx»¹Äܹ»½øÐÐÁ÷Á¿ÕûÐκÍÏÞ¶È¡£
ÀýÈ磬Ï޶ȵ¥¸öIPµÄÏνÓÊý£¬»òÕßÏÞ¶ÈÉÏÐÐ/ÏÂÐдø¿í£¬´Ó¶øÔ¤·À¶ñÒâ¹¥»÷»òÓû§ÀÄÓõ¼Ö·þÎñÆ÷̱»¾¡£
³ýÁËPart1ÖÐÌáµ½µÄ»ù´¡?ÅäÖ㬻¹ÓÐһЩ½ø½×µÄNginxÅäÖü¼ÇÉ£¬¿ÉÄܽøÒ»²½ÍÚ¾òÊÓÆµ´«?ÊäµÄ»úÄÜDZÁ¦¡£
open_file_cache£ºÕâ¸öÖ¸ÁîÓÃÓÚ»º´æÎļþµÄÃèÊö·ûºÍÔªÊý¾Ý£¬Ô¤·ÀÔÚÿ´ÎÒªÇóʱ¶¼È¥´ÅÅ̲éÕÒÎļþÐÅÏ¢£¬ÏÔÖøÌá¸ßÓ×Îļþ£¨ÈçHLS/DASHµÄË÷ÒýÎļþºÍÊÓÆµÆ¬¶Î£©µÄ½Ó¼û¿ìÂÊ¡£sendfileºÍtcp_corkÓÅ»¯£ºsendfileon;¹²Í¬tcp_corkon;£¨ÔÚijЩϵͳÉÏ£©Äܹ»ÊµÏÖÁ㿽±´µÄÎļþ´«Ê䣬ֱ½Ó½«Êý¾Ý´ÓÄں˻º³åÇø·¢Ë͵½ÍøÂç½Ó¿Ú£¬Ï÷¼õCPU¿½±´´ÎÊý£¬ÌáÉý´«ÊäЧÄÜ¡£
directioÖ¸ÁÔÚijЩLinux°æ±¾Ï£¬directioÖ¸ÁîÄܹ»Èƹý²Ù×÷ϵͳµÄÒ³Ãæ»º´æ£¬Ö±½Ó½«Êý¾Ý¶Áдµ½´ÅÅÌ£¬¶ÔÓÚ´óÎļþ´«Ê䣬ÓÐʱÄÜ´øÀ´»úÄÜÌáÉý¡£µ«±ØÒªÉóÉ÷ʹÓã¬ÓÉÓÚËü»áÔö³¤CPUµÄI/O¿ªÏú¡£HTTP/2ºÍHTTP/3µÄ³ÖÐøË÷Çó£ºËæ×ÅHTTP/3£¨»ùÓÚQUICºÍ̸£©µÄ²»?¶Ï³ÉÊ죬Nginx¶ÔÆäµÄÖ§³ÖÒ²ÔÚÖð²½ÃÀÂú¡£
QUICºÍ̸ÔÚ½â¾öTCPµÄ¶ÓÍ·×èÈûÎÊÌâÉÏÓµÓÐÌìÈ»ÓÅÊÆ£¬¶ÔÓÚ¶ª°üÂʽϸߵÄÍøÂç»·¾³£¬¿ÉÄÜÏÔÖø¸ÄÉÆÊÓÆµÁ÷µÄÁ÷³©¶È¡£³ÖÐø¹Ø×¢NginxµÄ×îа汾ºÍÓйØÄ£¿é£¬ÊÇά³ÖÊÓÆµ´«Êä»úÄܵ±ÏȵĹؼü¡£Lua¾ç±¾ÓëµÚÈý·½Ä£¿é£º¶ÔÓÚ¸ü¸´ÔÓµÄÒµÎñÂß¼»ò¸ü¾«ÃܵĻúÄܵ÷ÓÅ£¬Äܹ»Ë¼¿¼Ê¹ÓÃLua¾ç±¾£¨Í¨¹ýngx_http_lua_module£©ÔÚNginxÄÚ²¿Ö´ÐÐ×Ô½ç˵Âß¼£¬»òÕß¼¯³ÉÆäËûµÚÈý·½Ä£¿é£¨Èçngx_http_vhost_traffic_status_moduleÓÃÓÚʵʱ¼à¿ØÁ÷Á¿£©¡£
Nginxƾ½èÆä׿ԽµÄ»úÄÜ¡¢½Ã½ÝµÄÅäÖÃÒÔ¼°×³´óµÄÉú̬ϵͳ£¬ÒѾ³ÉΪÊÓÆµ´«ÊäÁìÓòµÄÍõÕß¡£´Ó»ù´¡µÄHTTP´«?Êäµ½¸´ÔÓµÄÁ÷ýÌåºÍ̸£¬´Óµ¥»úÓÅ»¯µ½´ó¹æÄ£CDN²¿Êð£¬Nginx¶¼ÄÜÌṩ׿ÓгÉЧµÄ½â¾ö¹æ»®¡£Í¨¹ýÉî¿ÌÀí½âNginxµÄ¹¤×÷µÀÀí£¬²¢½áºÏ±¾ÎĽéÉܵĸ÷ÀàÓÅ»¯Õ½Êõ£¬ÄãÆëÈ«ÓÐÄÜÁ¦½«NginxµÄÊÓÆµ´«Êä»úÄܲûÑïµ½¼«Ö£¬ÎªÓû§´òÔìÁ÷³©¡¢²»±ä¡¢¼«ÖµÄ?ÊÓÌýÂÄÀú¡£
¼Çס£¬¼¼ÊõµÄ½øÈ¡ÓÀÎÞÖյ㣬³ÖÐøµÄ½ø½¨ºÍʵ¼Ê£¬ÄÜÁ¦ÈÃÄãÔÚÊÓÆµ´«ÊäµÄ··ÉÏ£¬Ê¼ÖÕµ±ÏÈÒ»²½¡£