ÔÚÕâ¸öÐÅÏ¢±¬Õ¨µÄʱ´ú?£¬ÊÓÆµÄÚÈÝÒѾ³ÉΪÈËÃÇ»ñÊØÐÅÏ¢¡¢ÓéÀÖÏû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ÅþÁ¬µÄ½¨ÉèºÍ¹Ø±Õ¿ªÏú£¬¹ØÓÚÆµÈÔÇëÇóÊÓÆµÆ¬¶ÏµÄÓû§¶øÑÔ£¬Äܹ»ÓÐÓýµµÍÑÓ³Ù¡£
¶ø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Ê×Ïȼì²é?×Ô¼ºµÄ»º´æÖÐÊÇ·ñ±£´æ¸ÃÊÓÆµ¡£ÈôÊDZ£´æ£¬ÔòÖ±½Ó·µ»Ø£¬×èÖ¹Á˶Ժó¶Ë·þÎñÆ÷µÄѹÁ¦¡£Õâ¹ØÓÚ»á¼ûÁ¿ÖØ´óµÄÊÓÆµÍøÕ¾¶øÑÔ£¬ÊǼõÇá·þÎñÆ÷¼ç¸º¡¢ÌáÉýÕûÌåÐÔÄܵÄÀûÆ÷¡£CDN(ContentDeliveryNetwork)µÄÐͬ£ºNginxÔÚCDN¼Ü¹¹ÖÐÊÎÑÝ×ÅÖÁ¹ØÖ÷ÒªµÄ½ÇÉ«¡£
¸÷¸öCDN½Úµã¶¼¿ÉÒÔ°²ÅÅNginx·þÎñÆ÷£¬½«ÈÈÃÅÊÓÆµÄÚÈÝ»º´æµ½È«Çò¸÷µØµÄ±ßÑØ½Úµã¡£µ±Óû§ÇëÇóÊÓÆµÊ±£¬Nginx»áÖÇÄܵؽ«ÇëÇóµ¼Ïò¾àÀëÓû§×î½üµÄ½Úµã£¬ÊµÏÖÃë¼¶ÏìÓ¦£¬³¹µ×Í»ÆÆµØÇøÏÞÖÆ£¬ÈÃÈ«ÇòÓû§¶¼ÄÜÏíÊܵ½Á÷ͨµÄÊÓÆµÌåÑé¡£
WorkerÀú³ÌÊýÄ¿£ºworker_processes²ÎÊýÖ±½Ó¾öÒéÁËNginxµÄ²¢·¢´¦Öóͷ£ÄÜÁ¦¡£Í¨³£ÇéÐÎÏ£¬½«ÆäÉèÖÃΪCPU½¹µãÊýÊǽÏÁ¿ÀíÏëµÄ¡£ÅþÁ¬ÊýÏÞÖÆ£ºworker_connections²ÎÊýÓÃÓÚÉèÖÃÿ¸öÊÂÇéÀú³ÌÄܹ»´¦Öóͷ£µÄ×î´óÅþÁ¬Êý¡£
ÐèҪƾ֤·þÎñÆ÷µÄÄÚ´æºÍÏÖʵ²¢·¢ÐèÇó¾ÙÐкÏÀíÉèÖ᣷¢ËÍ»º³å?Çø£ºsendfileon;ºÍtcp_nopushon;µÈÖ¸ÁîÄܹ»ÓÅ»¯NginxµÄÎļþ·¢ËÍЧÂÊ£¬ïÔÌCPU¿ªÏú¡£Keep-AliveÉèÖãºkeepalive_timeout²ÎÊýÓÃÓÚÉèÖó¤ÅþÁ¬µÄ³¬Ê±Ê±¼ä£¬ºÏÀíµÄÉèÖÿÉÒÔïÔÌTCPÅþÁ¬µÄ½¨Éè´ÎÊý¡£
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µÄÊÓÆµ´«ÊäÐÔÄÜʩչµ½¼«Ö£¬ÎªÓû§´òÔìÁ÷ͨ¡¢Îȹ̡¢¼«ÖµÄÊÓÌýÌåÑé¡£
¼Ç×Å£¬ÊÖÒÕµÄǰ½øÓÀÎÞÖ¹¾³£¬Ò»Á¬µÄѧϰºÍʵ¼ù£¬²Å»ªÈÃÄãÔÚÊÓÆµ´«ÊäµÄõè¾¶ÉÏ£¬ÓÀÔ¶ÁìÏÈÒ»²½¡£