2ºÅÕ¾¡¤(ÖйúÓÎ)ÓÐÏÞ¹«Ë¾¹ÙÍø-×¢²áµÇ¼ƽ̨



Nginx100%ÐÔÄÜ·ÉÔ¾£º½âËøÊÓÆµÁ÷µÄ¼«ÖÂÌåÑé_07
À´Ô´£ºÖ¤È¯Ê±±¨Íø×÷ÕߣºÎâСÀò2026-03-05 09:15:59
wwwzqhsauikdwjbfkjabfwqr

1.Ó¦¶Ôº£Á¿²¢·¢£º¸ºÔؾùºâÓë¸ß¿ÉÓÃÐԼܹ¹

ÊÓÆµÆ½Ì¨µÄ³É¹¦£¬Àë²»¿ªÆäÎȶ¨Ö§³Åº£Á¿Óû§²¢·¢·ÃÎʵÄÄÜÁ¦¡£NginxÔÚÕâ·½ÃæÌṩÁËÇ¿´óµÄ¸ºÔؾùºâ¹¦ÄÜ£¬Äܹ»½«Óû§µÄÇëÇóÖÇÄܵطַ¢µ½¶ą̀ºó¶ËÊÓÆµ·þÎñÆ÷£¬ÓÐЧ±ÜÃâµ¥?µã¹ýÔØ£¬²¢ÌáÉýÕûÌåϵͳµÄ¿ÉÓÃÐÔ¡£

¶àÖÖ¸ºÔؾùºâ²ßÂÔ£ºNginxÖ§³Ö¶àÖÖ¸ºÔؾùºâËã·¨£¬°üÀ¨ÂÖѯ£¨round-robin£©¡¢È¨ÖØÂÖѯ£¨weightedround-robin£©¡¢IP¹þÏ££¨iphash£©ÒÔ¼°¸üÖÇÄܵĻùÓÚleastconn£¨×îÉÙÁ¬½Ó£©ºÍleasttime£¨×îÉÙÏìӦʱ¼ä£©µÄËã·¨¡£

¶ÔÓÚÊÓÆµ´«Êä¶øÑÔ£¬»ùÓÚleastconnµÄ²ßÂÔͨ³£Äܹ»¸üºÃµØ·ÖÅäÁ¬½Ó£¬È·±£Ã¿Ì¨ºó¶Ë·þÎñÆ÷µÄ¸ºÔØÏà¶Ô¾ùºâ¡£½¡¿µ¼ì²é»úÖÆ£ºNginxÄܹ»¶Ôºó¶Ë·þÎñÆ÷½øÐн¡¿µ¼ì²é£¬×Ô¶¯ÌÞ³ý¹ÊÕÏ·þÎñÆ÷£¬²¢½«Á÷Á¿ÖØÐµ¼Ïò½¡¿µµÄ·þÎñÆ÷£¬È·±£ÊÓÆµ·þÎñµÄ³ÖÐø¿ÉÓÃÐÔ¡£µ±ÊÓÆµ·þÎñÆ÷³öÏÖÏìÓ¦»ºÂý»òÎÞÏìӦʱ£¬Nginx»á½«Æä±ê¼ÇΪ²»½¡¿µ£¬Ö±µ½Æä»Ö¸´Õý³£¡£

Ö÷±¸£¨Active/Passive£©ÓëÖ÷Ö÷£¨Active/Active£©¼Ü¹¹£º½áºÏNginxµÄ·´Ïò´úÀíÄÜÁ¦£¬¿ÉÒÔÇáËɹ¹½¨¸ß¿ÉÓõÄÊÓÆµ·þÎñ¼Ü¹¹¡£Í¨¹ýKeepalivedµÈ¹¤¾ß£¬¿ÉÒÔʵÏÖNginxµÄ¹ÊÕÏ×ªÒÆ£¬µ±Ö÷Nginx·þÎñÆ÷³öÏÖ¹ÊÕÏʱ£¬±¸ÓÃNginx·þÎñÆ÷Äܹ»ÎÞ·ì½Ó¹Ü£¬±£Ö¤ÊÓÆµ·þÎñµÄÁ¬ÐøÐÔ¡£

ËüÔÊÐíNginxÏñÒ»¸öרÃŵÄÁ÷ýÌå·þÎñÆ÷Ò»Ñù¹¤×÷£¬¸ßЧµØ·¢ËÍÊÓÆµÊý¾Ý£¬×î´ó?Ï޶ȵؼõÉÙÑÓ³Ù?¡£ngx_http_mp4_moduleÒ²ÄÜ´¦ÀíMP4¸ñʽ£¬Ö§³ÖHTTP·¶Î§ÇëÇó(RangeRequests)£¬ÔÊÐí¿Í»§¶Ë°´ÐèÇëÇóÊÓÆµµÄÌØ¶¨²¿·Ö£¬Õâ¶ÔÓÚʵÏÖÊÓÆµµÄ¿ìËÙÍÏ×§ºÍµã²¥ÌåÑéÖÁ¹ØÖØÒª¡£

¸üÖµµÃÒ»ÌáµÄÊÇ£¬NginxÔÚ´¦ÀíHTTP/2ЭÒé·½Ãæ±íÏÖ³öÉ«¡£HTTP/2ÒýÈëÁ˶à·¸´Óá¢Í·²¿Ñ¹Ëõ¡¢·þÎñÆ÷ÍÆË͵ÈÌØÐÔ£¬Ïà±ÈÓÚHTTP/1.1£¬Äܹ»ÏÔÖøÌáÉý´«ÊäЧÂÊ£¬¼õÉÙÒ³Ãæ¼ÓÔØÊ±¼ä¡£¶ÔÓÚÊÓÆµÁ÷¶øÑÔ£¬HTTP/2µÄ¶à·¸´ÓÃÒâζ×Å¿ÉÒÔÔÚͬһ¸öTCPÁ¬½ÓÉÏͬʱ´«Êä¶à¸öÊÓÆµ·ÖƬ»ò²»Í¬µÄÁ÷ýÌå×ÊÔ´£¬±ÜÃâÁËHTTP/1.1ÖÐÆµ·±½¨Á¢ºÍ¹Ø±ÕÁ¬½ÓµÄ¿ªÏú£¬´ó´ó½µµÍÁËÍøÂçÑÓ³Ù¡£

Í·²¿Ñ¹ËõÔò¼õÉÙÁË´«ÊäµÄÊý¾ÝÁ¿£¬½øÒ»²½ÌáÉýÁË´«ÊäËÙ¶È¡£Nginx¶ÔHTTP/2µÄÁ¼ºÃÖ§³Ö£¬Îª¹¹½¨¸ßÐÔÄܵÄÊÓÆµÁ÷·þÎñÌṩÁËÌìÈ»µÄÓÅÊÆ¡£

NginxÔÚ»º´æ?²ß?ÂÔÉϵÄÁé»îÐÔҲΪÊÓÆµÐÔÄܵÄÌáÉý×¢ÈëÁËÇ¿´óµÄ¶¯Á¦¡£Í¨¹ýÅäÖÃproxy_cacheµÈÖ¸ÁNginx¿ÉÒÔ½«¾­³£·ÃÎʵÄ?ÊÓÆµÄÚÈÝ»º´æµ½ÄÚ´æ»ò´ÅÅÌÖС£µ±Óû§ÔÙ´Î?ÇëÇóÏàͬµÄÊÓÆµÊ±£¬Nginx¿ÉÒÔÖ±½Ó´Ó»º´æÖÐÌṩ·þÎñ£¬¶øÎÞÐèÔٴδÓÔ´·þÎñÆ÷»ò´æ´¢ÏµÍ³ÖжÁÈ¡£¬Õ⼫´óµØ½µµÍÁ˺ó¶Ë·þÎñÆ÷µÄѹÁ¦£¬Ëõ¶ÌÁËÏìӦʱ¼ä£¬ÓÈÆäÊÇÔÚÃæ¶ÔÍ»·¢Á÷Á¿Ê±£¬»º´æÄܹ»ÓÐЧµØÎüÊÕ³å»÷£¬±£Ö¤·þÎñµÄ¿ÉÓÃÐÔ¡£

1.NginxµÄ¸ßÐÔÄÜDNA£ºÇáÁ¿¡¢¸ßЧ¡¢²¢·¢

NginxÖ®ËùÒÔÄÜÔÚÊÓÆµ´«ÊäÁìÓò´ó·ÅÒì²Ê£¬ÓëÆäÌìÉúµÄ¡°¸ßÐÔÄÜDNA¡±Ãܲ»¿É·Ö¡£Ó봫ͳµÄApache·þÎñÆ÷Ïà±È£¬Nginx²ÉÓÃÁËʼþÇý¶¯¡¢Òì²½·Ç×èÈûµÄÍøÂçÄ£ÐÍ¡£ÕâÒâζ×ÅNginxÔÚ´¦Àí´óÁ¿²¢·¢Á¬½Óʱ£¬²»»áΪÿ¸öÁ¬½Ó´´½¨¶ÀÁ¢µÄ½ø³Ì»òỊ̈߳¬¶øÊÇͨ¹ýÒ»¸öÖ÷½ø³ÌºÍ¶à¸ö¹¤×÷½ø³Ì£¬ÀûÓÃÉÙÁ¿Ï̸߳ßЧµØ´¦?ÀíÀ´×Ô¿Í»§¶ËµÄÇëÇó¡£

ÏëÏóһϣ¬µ±Êý°ÙÍòÓû§Í¬Ê±¹Û¿´Ö±²¥»òµã²¥ÊÓÆµÊ±£¬´«Í³·þÎñÆ÷¿ÉÄÜ»áÒòΪ×ÊÔ´ºÄ¾¡¶ø±ÀÀ£¡£¶øNginxÈ´ÄÜ´ÓÈÝÓ¦¶Ô£¬Ëüͨ¹ý¾«ÇɵÄÉè¼Æ£¬½«CPUºÍÄÚ´æµÄʹÓÃÂʽµµ½×îµÍ£¬´Ó¶øÈ·±£ÁËÔڸ߲¢·¢³¡¾°ÏÂÒÀ¾ÉÄܹ»Îȶ¨¡¢¸ßЧµØ´«ÊäÊÓÆµÁ÷¡£ÕâÖÖ¡°Ò»ÈË·ÖÊζà½Ç¡±µÄ¹¤×÷ģʽ£¬ÕýÊÇNginxÄܹ»ÊµÏÖ100%ÐÔÄܵĹؼüËùÔÚ¡£

2.NginxµÄÊÓÆµ´«ÊäÀûÆ÷£ºHTTPЭÒéÓëÁ÷ýÌåЭÒéµÄÍêÃÀÈÚºÏ

NginxÔÚÊÓÆµ´«Êä·½Ãæ£¬²¢·Ç½ö½öÊÇÒ»¸ö¼òµ¥µÄÎļþ·þÎñÆ÷¡£ËüÉîÚÏÁ÷ýÌå´«ÊäµÄ°ÂÃØ£¬²¢ÌṩÁ˶àÖÖЭÒéÖ§³Ö£¬Ê¹ÆäÄܹ»ÍêÃÀÊÊÓ¦²»Í¬³¡¾°ÏµÄÊÓÆµÐèÇó¡£

ÕâÖÖÄ£ÐÍ´øÀ´µÄÖ±½ÓºÃ´¦ÊǼ«µÍµÄ×ÊÔ´ÏûºÄ¡£´«Í³µÄ·þÎñÆ÷ÔÚ´¦Àí´óÁ¿²¢?·¢Á¬½Óʱ£¬»áÒòΪ´´½¨ºÍÏú»Ù´óÁ¿½ø³Ì?/Ï̶߳øºÄ·Ñ´óÁ¿µÄCPUºÍÄÚ´æ×ÊÔ´£¬µ¼ÖÂÐÔÄÜÆ¿¾±¡£¶øNginxµÄʼþÇý¶¯Ä£ÐÍ£¬Í¨¹ýÒ»¸ö»òÉÙÊý¼¸¸ö¹¤×÷½ø³Ì£¬ÀûÓÃepoll(Linux)»òkqueue(BSD)µÈ¸ßЧµÄI/O¶à·¸´ÓûúÖÆ£¬Äܹ»¸ßЧµØ¼àÌýËùÓлÁ¬½ÓµÄ״̬¡£

µ±Ò»¸öÁ¬½ÓÓÐÊý¾Ý¿É¶Á»ò¿Éдʱ£¬Nginx²Å»á´¥·¢ÏàÓ¦µÄʼþ£¬²¢µ÷ÓÃʼþ´¦Àíº¯ÊýÀ´Íê³É²Ù×÷¡£ÕâÖÖ¡°°´Ðè´¦Àí¡±µÄģʽ£¬¼«´óµØ¼õÉÙÁËCPUµÄ¿ÕÏеȴýʱ¼ä£¬ÊÍ·ÅÁ˱¦¹óµÄϵͳ×ÊÔ´£¬Îª´¦Àíº£Á¿ÊÓÆµÁ÷ÇëÇóÌṩÁ˳ä×ãµÄÓàµØ¡£

NginxµÄÄ£¿é»¯Éè¼ÆÒ²ÊÇÆäÐÔÄÜÇ¿´óµÄÒ»´óÔ­Òò¡£NginxÓµÓÐһϵÁй¦ÄܷḻµÄÄ£¿é£¬°üÀ¨ngx_http_flv_module¡¢ngx_http_mp4_moduleµÈ£¬ÕâЩÄ£¿éרÃÅÕë¶ÔÁ÷ýÌå´«Êä½øÐÐÁËÓÅ»¯¡£ÀýÈ磬ngx_http_flv_moduleÄܹ»Ö±½Ó´¦ÀíFLV¸ñʽµÄÊÓÆµÁ÷£¬¶øÎÞÐè¶îÍâµÄתÂë»ò´¦?Àí£¬Õâ¶ÔÓÚÁ÷ýÌå·þÎñÆ÷À´ËµÖÁ¹ØÖØÒª¡£

ͨ¹ýHTTP/2µÄ¶à·¸´Ó㬿ÉÒÔÓÐЧµØÔÚÒ»¸öÁ¬½ÓÉÏ·¢ËͶà¸öÊÓÆµ·ÖƬ£¬´ó´ó½µµÍÁËTCPÁ¬½ÓµÄ½¨Á¢ºÍÎÕÊֳɱ¾£¬Ê¹µÃÊÓÆµ¼ÓÔØËٶȸü¿ì£¬²¥·Å¸ü¼ÓÁ÷³©¡£

¸ßЧµÄ»º´æ²ßÂÔÊǽµµÍºó¶ËѹÁ¦¡¢ÌáÉýÓû§ÌåÑéµÄÁíÒ»ÀûÆ÷¡£³ýÁË»ù±¾µÄproxy_cacheÅäÖã¬ÎÒÃÇ»¹¿ÉÒÔ¿¼ÂǽáºÏfastcgi_cache(Èç¹ûºó¶ËÊÇFastCGI)»òmemcached_cacheµÈ¡£¸üÖØÒªµÄÊÇ£¬ÐèÒª¶Ô»º´æµÄÓЄ¿ÆÚ(max_ageºÍexpires)½øÐо«Ï¸¿ØÖÆ£¬¼ÈÒª±£Ö¤Êý¾ÝµÄʱЧÐÔ£¬ÓÖÒª³ä·ÖÀûÓûº´æÀ´¼õÉÙ»ØÔ´¡£

¶ÔÓÚÊÓÆµÄÚÈÝ£¬ÓÉÓÚÆä´ó?СºÍ·ÃÎÊÆµÂʵIJîÒ죬¿ÉÒÔ¸ù¾Ý²»Í¬µÄURL·¾¶»òÎļþÀàÐÍÉèÖò»Í¬µÄ»º´æ²ßÂÔ¡£ÀýÈ磬¶ÔÓÚÈÈÃÅÊÓÆµ£¬¿ÉÒÔÉèÖýϳ¤µÄ»º´æ?ʱ¼ä£»¶ø¶ÔÓÚ¸üÐÂÆµ·±µÄÖ±²¥Æ¬¶Î£¬ÔòÐèÒª¸ü¶ÌµÄ»º´æÖÜÆÚ¡£

ÄÚÈÝ·Ö·¢ÍøÂç(CDN)µÄ¼¯³ÉͬÑùÊÇʵÏÖ¸ßÐÔÄÜÊÓÆµÁ÷´«Êä²»¿É»òȱµÄÒ»»·¡£Nginx¿ÉÒÔ×÷ΪCDNµÄ±ßÔµ½Úµã£¬»òÕßÓëרҵµÄCDN·þÎñÉ̽øÐÐÉî¶È¼¯³É¡£½«ÊÓÆµÄÚÈݲ¿Êðµ½È«Çò¸÷µØ?µÄCDN½Úµã£¬Äܹ»ÏÔÖøËõ¶ÌÓû§·ÃÎÊÊÓÆµµÄÎïÀí¾àÀ룬´Ó¶ø½µµÍÑÓ³Ù£¬ÌáÉý¼ÓÔØËÙ¶È¡£

QUICЭÒéÔÚ½â¾öTCPµÄ¶ÓÍ·×èÈûÎÊÌâÉϾßÓÐÌìÈ»ÓÅÊÆ£¬¶ÔÓÚ¶ª°üÂʽϸߵÄÍøÂç»·¾³£¬Äܹ»ÏÔÖø¸ÄÉÆÊÓÆµÁ÷µÄÁ÷³©¶È¡£³ÖÐø¹Ø×¢NginxµÄ×îаæ?±¾ºÍÏà¹ØÄ£¿é£¬ÊDZ£³ÖÊÓÆµ´«ÊäÐÔÄÜÁìÏȵĹؼü¡£Lua½Å±¾ÓëµÚÈý·½Ä£¿é£º¶ÔÓÚ¸ü¸´ÔÓµÄÒµÎñÂß¼­»ò¸ü¾«Ï¸µÄÐÔÄܵ÷ÓÅ£¬¿ÉÒÔ¿¼ÂÇʹÓÃLua½Å±¾£¨Í¨¹ýngx_http_lua_module£©ÔÚNginxÄÚ²¿Ö´ÐÐ×Ô¶¨ÒåÂß¼­£¬»òÕß¼¯³ÉÆäËûµÚÈý·½Ä£¿é£¨Èçngx_http_vhost_traffic_status_moduleÓÃÓÚʵʱ¼à¿ØÁ÷Á¿£©¡£

Nginxƾ½èÆä׿ԽµÄÐÔÄÜ¡¢Áé»îµÄÅäÖÃÒÔ¼°Ç¿´óµÄÉú̬ϵͳ£¬ÒѾ­³ÉΪÊÓÆµ´«ÊäÁìÓòµÄÍõÕß¡£´Ó»ù´¡µÄHTTP´«Êäµ½¸´ÔÓµÄÁ÷ýÌåЭÒ飬´Óµ¥»úÓÅ»¯µ½´ó¹æÄ£CDN²¿Êð£¬Nginx¶¼ÄÜÌṩÐÐÖ®ÓÐЧµÄ½â¾ö·½°¸¡£Í¨¹ýÉîÈëÀí½âNginxµÄ?¹¤×÷Ô­Àí£¬²¢½áºÏ±¾ÎĽéÉܵĸ÷ÖÖÓÅ»¯²ß?ÂÔ£¬ÄãÍêÈ«ÓÐÄÜÁ¦½«NginxµÄÊÓÆµ´«ÊäÐÔÄÜ·¢»Óµ½¼«Ö£¬ÎªÓû§´òÔìÁ÷³©¡¢Îȶ¨¡¢¼«ÖµÄÊÓÌýÌåÑé¡£

¼Çס£¬¼¼ÊõµÄ½ø²½ÓÀÎÞÖ¹¾³£¬³ÖÐøµÄ?ѧϰºÍʵ¼ù£¬²ÅÄÜÈÃÄãÔÚÊÓÆµ´«ÊäµÄµÀ·ÉÏ£¬ÓÀÔ¶ÁìÏÈÒ»²½¡£

NginxÐÔÄÜ·ÉÔ¾£º´Ó¼¼Êõµ½Êµ¼ùµÄ¼«ÖÂÓÅ»¯Ö®Â·

ÔÚÀí½âÁËNginx×÷ΪÊÓÆµÁ÷ÐÔÄÜ»ùʯµÄÇ¿´óÖ®´¦ºó£¬ÈçºÎ½«ÕâЩDZÁ¦³ä·ÖÍÚ¾ò£¬ÊµÏÖ¡°Nginx100%ÊÓÆµ100%ÐÔÄÜ¡±µÄ·ÉÔ¾£¬±ãÊÇÎÒÃǽÓÏÂÀ´ÒªÌ½Ë÷µÄÖØµã¡£Õâ²»?½ö½öÊÇÅäÖÃµÄ¶ÑÆö£¬¸üÊǶÔNginxÇ¿´ó¹¦ÄܵÄÉîÈëÀí½âºÍÇÉÃîÔËÓá£

Ê×µ±Æä³åµÄÓÅ»¯·½Ïò±ãÊǾ«Ï¸»¯µÄÁ¬½Ó¹ÜÀíÓë²¢·¢µ÷ÓÅ¡£ËäÈ»NginxµÄʼþÇý¶¯Ä£Ðͱ¾Éí¾Í·Ç³£¸ßЧ£¬µ«ÈÔÐè¸ù¾Ýʵ¼ÊÒµÎñ³¡¾°½øÐо«Ï¸ÅäÖá£ÒªºÏÀíÉèÖÃworker_processesµÄÊýÁ¿£¬Í¨³£Çé¿öÏ£¬½¨ÒéÉèÖÃΪCPUºËÐÄÊý»ò2±¶£¬ÒÔ³ä·ÖÀûÓöàºË´¦ÀíÆ÷µÄÄÜÁ¦¡£

worker_connectionsµÄÖµÒ²ÐèÒª×Ðϸµ÷Õû£¬Õâ¸ö²ÎÊý¾ö¶¨ÁËÿ¸ö¹¤×÷½ø³ÌÄܹ»Í¬Ê±´¦ÀíµÄ×î´óÁ¬½ÓÊý¡£¶ÔÓÚÊÓÆµÁ÷·þÎñ¶øÑÔ£¬Á¬½ÓÊýÍùÍù·Ç³£ÅÓ´ó£¬ÐèÒª½«ÆäÉèÖõÃ×ã¹»¸ß£¬ÒÔ±ÜÃâ³öÏÖ¡°toomanyopenfiles¡±µÈ´íÎó¡£

HTTP/2µÄÉî¶È¼¯³ÉºÍÓÅ»¯ÊÇʵÏÖÊÓÆµÐÔÄÜ·ÉÔ¾µÄ¹Ø¼üÒ»²½¡£È·±£NginxÒѱàÒë²¢ÆôÓÃÁËngx_http_v2_module¡£ÅäÖÃlistenÖ¸Áîʱ£¬¼ÓÉÏhttp2²ÎÊý¼´¿ÉÆôÓÃHTTP/2¡£¶ÔÓÚÊÓÆµÁ÷£¬ÎÒÃÇ»¹ÐèÒª¹Ø×¢keepalive_timeoutµÄÉèÖ㬺ÏÀíÑÓ³¤³¤Á¬½ÓµÄ±£³Öʱ¼ä£¬¿ÉÒÔ¼õÉÙÒòƵ·±½¨Á¢Á¬½Ó´øÀ´µÄ¿ªÏú£¬ÌáÉýÕûÌåµÄ´«ÊäЧÂÊ¡£

3.»º´æµÄÒÕÊõ£ºÈÃÊÓÆµ´«Êä¡°·É¡±ÆðÀ´

»º´æÊÇÌáÉýNginxÊÓÆµ´«ÊäÐÔÄܵÄÁíÒ»´ó·¨±¦¡£Í¨¹ýºÏÀíµÄ»º´æ²ßÂÔ£¬NginxÄܹ»½«ÈȵãÊÓÆµÄÚÈÝ´æ´¢ÔÚÀëÓû§¸ü½üµÄ·þÎñÆ÷ÉÏ£¬ÉõÖÁÖ±½Ó±£´æ?ÔÚÄÚ´æÖУ¬´Ó¶ø´ó´óËõ¶Ì·ÃÎÊ·¾¶£¬¼õÉÙÍøÂçÑÓ³Ù¡£

¿Í»§¶Ë»º´æ£ºNginx¿ÉÒÔͨ¹ýExpiresºÍCache-ControlµÈHTTPÍ·²¿£¬Ö¸Ê¾ä¯ÀÀÆ÷»º´æÊÓÆµÎļþ¡£ÕâÑù£¬Óû§ÔٴηÃÎÊͬһÊÓÆµÊ±£¬¿ÉÒÔÖ±½Ó´Ó±¾µØ¼ÓÔØ£¬ÎÞÐèÔٴδӷþÎñÆ÷ÇëÇ󣬼«´óµØÌáÉýÁ˼ÓÔØËÙ¶È¡£´úÀí»º´æ£ºNginx»¹¿ÉÒÔ×÷Ϊ·´Ïò´úÀí£¬¶Ôºó¶ËÊÓÆµ·þÎñÆ÷µÄÄÚÈݽøÐлº´æ¡£

µ±Óû§ÇëÇóÊÓÆµÊ±£¬NginxÊ×Ïȼì²é×Ô¼ºµÄ»º´æÖÐÊÇ·ñ´æÔÚ¸ÃÊÓÆµ¡£Èç¹û´æÔÚ£¬ÔòÖ±½Ó·µ»Ø£¬±ÜÃâÁ˶Ժó¶Ë·þÎñÆ÷µÄѹÁ¦¡£Õâ¶ÔÓÚ·ÃÎÊÁ¿¾Þ´óµÄÊÓÆµÍøÕ¾¶øÑÔ£¬ÊǼõÇá·þÎñÆ÷¸ºµ£¡¢ÌáÉýÕûÌåÐÔÄܵÄÀûÆ÷¡£CDN(ContentDeliveryNetwork)µÄЭͬ£ºNginxÔÚCDN¼Ü¹¹ÖаçÑÝ×ÅÖÁ¹ØÖØÒªµÄ½ÇÉ«¡£

¸÷¸öCDN½Úµã¶¼¿ÉÒÔ²¿ÊðNginx·þÎñÆ÷£¬½«ÈÈÃÅÊÓÆµÄÚÈÝ»º´æµ½È«Çò¸÷µØµÄ±ßÔµ½Úµã¡£µ±Óû§ÇëÇóÊÓÆµÊ±£¬Nginx»áÖÇÄܵؽ«ÇëÇóµ¼Ïò¾àÀëÓû§×î½üµÄ½Úµã£¬ÊµÏÖÃë¼¶ÏìÓ¦£¬³¹µ×´òÆÆµØÓòÏÞÖÆ£¬ÈÃÈ«ÇòÓû§¶¼ÄÜÏíÊܵ½Á÷³©µÄÊÓÆµÌåÑé¡£

°²È«ÐԵĿ¼Á¿Í¬Ñù»áÓ°ÏìÐÔÄÜ¡£ÀýÈ磬SSL/TLS¼ÓÃܵÄÅäÖûáÒýÈëÒ»¶¨µÄCPU¿ªÏú¡£ÔÚ±£Ö¤°²È«µÄǰÌáÏ£¬Ñ¡Ôñ¸ßЧµÄ?¼ÓÃÜÌ×¼þ£¬²¢ºÏÀíÅäÖÃSSLÖ¤Ê飬¿ÉÒÔ×î´ó³Ì¶ÈµØ¼õÉÙÐÔÄÜÓ°Ïì¡£¶ÔÓÚ·ÀÖ¹µÁ?Á´ºÍDDoS¹¥»÷£¬NginxÒ²ÌṩÁ˷ḻµÄÅäÖÃÑ¡ÏÈçlimit_req_zone¡¢referer¼ì²éµÈ¡£

ËäÈ»ÕâЩ°²È«´ëÊ©»áÏûºÄÒ»¶¨µÄ?×ÊÔ´£¬µ«ÓëDZÔÚµÄÐÔÄÜËðʧ»ò·þÎñÖжÏÏà±È£¬Í¨³£ÊÇÖµµÃµÄ¡£

³ÖÐøµÄ¼à¿ØºÍÐÔÄÜ·ÖÎöÊÇʵÏÖÐÔÄÜ·ÉÔ¾µÄ±£ÕÏ¡£Í¨¹ýNginxµÄstub_statusÄ£¿é»òµÚÈý·½¼à¿Ø¹¤¾ß£¨ÈçPrometheus+Grafana£©£¬ÎÒÃÇ¿ÉÒÔʵʱ¼à¿ØNginxµÄ¸÷ÏîÐÔÄÜÖ¸±ê£¬ÈçÁ¬½ÓÊý¡¢ÇëÇóÊý¡¢»º´æÃüÖÐÂÊ¡¢´íÎóÂʵÈ¡£

¶ÔÕâЩÊý¾Ý½øÐÐÉîÈë·ÖÎö£¬ÕÒ³öÐÔÄÜÆ¿¾±£¬²¢¾Ý´Ë²»¶Ïµ÷ÕûNginxµÄÅäÖ㬲ÅÄÜÕæÕýʵÏÖ¡°Nginx100%ÊÓÆµ100%ÐÔÄÜ¡±µÄÄ¿±ê¡£

×ܶøÑÔÖ®£¬NginxÔÚÊÓÆµÁ÷ÐÔÄÜÉϵÄ?·ÉÔ¾£¬²¢·ÇÒ»õí¶ø¾Í¡£ËüÐèÒªÎÒÃÇÉîÈëÀí½âNginxµÄ¸÷ÏîÌØÐÔ£¬²¢½«ÆäÇÉÃîµØÓ¦ÓÃÓÚÊÓÆµ´«ÊäµÄÿһ¸ö»·½Ú¡£´ÓÁ¬½Ó¹ÜÀí¡¢HTTP/2ÓÅ»¯¡¢¾«Ï¸»¯»º´æ?£¬µ½CDN¼¯³É¡¢Á÷ýÌåЭÒéÖ§³Ö¡¢¸ºÔؾùºâµ÷ÓÅ£¬ÒÔ¼°°²È«ÐԺͳÖÐø¼à¿Ø£¬Ã¿Ò»¸ö»·½Ú¶¼Ô̲Ø×ÅÓÅ»¯µÄ¿Õ¼ä¡£

4.ÐÔÄܵ÷ÓÅÃØ¼®£ºNginxÅäÖõľ«µñϸ×Á

Worker½ø³ÌÊýÁ¿£ºworker_processes²ÎÊýÖ±½Ó¾ö¶¨ÁËNginxµÄ²¢·¢´¦ÀíÄÜÁ¦¡£Í¨³£Çé¿öÏ£¬½«ÆäÉèÖÃΪCPUºËÐÄÊýÊDZȽÏÀíÏëµÄ¡£Á¬½ÓÊýÏÞÖÆ£ºworker_connections²ÎÊýÓÃÓÚÉèÖÃÿ¸ö¹¤×÷½ø³ÌÄܹ»´¦ÀíµÄ×î´óÁ¬½ÓÊý¡£

ÐèÒª¸ù¾Ý·þÎñÆ÷µÄÄÚ´æºÍʵ¼Ê²¢·¢ÐèÇó½øÐкÏÀíÅäÖ᣷¢ËÍ»º³åÇø£ºsendfileon;ºÍtcp_nopushon;µÈÖ¸ÁîÄܹ»ÓÅ»¯NginxµÄÎļþ·¢ËÍЧÂÊ£¬¼õÉÙCPU¿ªÏú¡£Keep-AliveÉèÖãºkeepalive_timeout²ÎÊýÓÃÓÚÉèÖó¤Á¬½ÓµÄ³¬Ê±Ê±¼ä£¬ºÏÀíµÄÉèÖÿÉÒÔ¼õÉÙTCPÁ¬½ÓµÄ½¨Á¢´ÎÊý¡£

HTTP/2ºÍSSL/TLSÓÅ»¯£ºÆôÓÃHTTP/2ЭÒ飬²¢¶ÔSSL/TLS½øÐÐÓÅ»¯£¬ÈçʹÓøü¿ìµÄ¼ÓÃÜËã·¨¡¢µ÷ÕûÎÕÊÖ¹ý³ÌµÈ£¬¿ÉÒÔ½øÒ»²½ÌáÉýHTTPSÊÓÆµ´«ÊäµÄÐÔÄÜ¡£

3.ÊÓÆµÖ±²¥µÄʵʱ±£ÕÏ£ºµÍÑÓ³ÙÓëÎȶ¨ÐÔ

Ö±²¥ÊÇÊÓÆµÄÚÈÝ×ÑéʵʱÐԵij¡¾°¡£Nginxͨ¹ýRTMPÄ£¿éÒÔ¼°¶ÔWebSocketµÄÖ§³Ö£¬ÔÚÖ±²¥ÁìÓòÕ¹ÏÖ³öÇ¿´óµÄÄÜÁ¦¡£

RTMPÍÆÁ÷ÓëÀ­Á÷£ºNginx-RTMP-ModuleÔÊÐíNginx°çÑÝRTMP·þÎñÆ÷µÄ½ÇÉ«£¬½ÓÊÕÀ´×ÔÖ±²¥Ô´µÄRTMPÍÆÁ÷£¬²¢½«Æä·Ö·¢¸ø´óÁ¿¹Û¿´Õß¡£Í¨¹ý¶ÔRTMPЭÒéµÄÉî¶ÈÓÅ»¯£¬NginxÄܹ»ÊµÏÖ¼«µÍµÄÑÓ³Ù£¬ÈÃÖ÷²¥Óë¹ÛÖڵĻ¥¶¯¸ü¼Ó¼´Ê±¡£

WebSocketÖ§³Ö£º¶ÔÓÚһЩÐèÒª¸üÁé»îͨÐŵÄÖ±²¥³¡¾°£¬NginxÒ²ÌṩÁ˶ÔWebSocketµÄÁ¼ºÃÖ§³Ö¡£ÕâʹµÃ¿ª·¢Õß¿ÉÒÔ¹¹½¨¸ü¾ß½»»¥ÐÔµÄÖ±²¥Ó¦Óã¬ÀýÈçʵʱµ¯Ä»¡¢ÀñÎïÔùË͵È¡£Á÷Á¿ÕûÐÎÓëÏÞÖÆ£ºÔÚÖ±²¥³¡¾°Ï£¬ÎªÁ˱£Ö¤·þÎñµÄÎȶ¨ÐÔ£¬Nginx»¹¿ÉÒÔ½øÐÐÁ÷Á¿ÕûÐκÍÏÞÖÆ¡£

ÀýÈ磬ÏÞÖÆµ¥¸öIPµÄÁ¬½ÓÊý£¬»òÕßÏÞÖÆÉÏÐÐ/ÏÂÐдø¿í£¬´Ó¶ø·ÀÖ¹¶ñÒâ¹¥»÷»òÓû§ÀÄÓõ¼Ö·þÎñÆ÷̱»¾¡£

NginxÐÔÄÜ»ùʯ£º¾«Õ¿¼Ü¹¹Öý¾ÍÊÓÆµÁ÷µÄ?¼áʵºó¶Ü

ÔÚÊý×ÖÄÚÈݱ¬Õ¨µÄʱ´ú£¬ÊÓÆµÁ÷ýÌåÔçÒѳÉΪÐÅÏ¢´«µÝºÍÓéÀÖÏíÊܵÄÖ÷Á÷¡£´Ó¸ßÇåµçÓ°µ½ÊµÊ±Ö±²¥£¬Óû§¶ÔÁ÷³©¡¢µÍÑӳٵĹۿ´ÌåÑéÓÐ׎üºõÑÏ¿ÁµÄÒªÇó¡£¶øÔÚÕâ±³ºó£¬Ç¿´óµÄ·þÎñÆ÷¼¼ÊõÊÇÖ§³Å?ÕâÒ»ÇеĻùʯ¡£Nginx£¬Õâ¸öÒÔ¸ßÐÔÄÜ¡¢¸ß²¢?·¢Öø³ÆµÄWeb·þÎñÆ÷£¬Æ¾½èÆä¶ÀÌØµÄÉè¼ÆÀíÄîºÍ¾«Õ¿µÄ¼Ü¹¹£¬³ÉΪÁËÎÞÊýÊÓÆµÁ÷ýÌå·þÎñµÄÊ×Ñ¡ÀûÆ÷£¬ÎªÊµÏÖ¡°Nginx100%ÊÓÆµ100%ÐÔÄÜ¡±ÕâһĿ±êÌṩÁ˼áʵµÄ»ù´¡¡£

ÎÒÃDZØÐëÉîÈëÀí½âNginxµÄºËÐÄÓÅÊÆ£¬ËüÈçºÎ³¬Ô½´«Í³·þÎñÆ÷£¬³ÉΪÊÓÆµÁ÷´«?ÊäµÄٮٮÕß¡£NginxµÄ³É¹¦£¬ºÜ´ó³Ì¶ÈÉϹ鹦ÓÚÆä¡°Ê¼þÇý¶¯¡¢Òì²½·Ç×èÈû¡±µÄI/OÄ£ÐÍ¡£Ó봫ͳµÄ¡°½ø³Ì/Ïß³ÌÄ£ÐÍ¡±²»Í¬£¬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ÌṩÁ˶àÖÖ¸ºÔؾùºâËã·¨£¬ÈçÂÖѯ(RoundRobin)¡¢¼ÓȨÂÖѯ(WeightedRoundRobin)¡¢IP¹þÏ£(IPHash)µÈ£¬Äܹ»½«Á÷Á¿ÖÇÄܵطַ¢µ½¶ą̀ºó¶Ë·þÎñÆ÷ÉÏ¡£

Õâ²»½öÌá¸ßÁËÕûÌåµÄÍÌÍÂÁ¿£¬Ò²Ôö¼ÓÁËϵͳµÄ¿ÉÓÃÐÔºÍÈÝ´íÐÔ¡£µ±Ä³Ì¨ºó¶Ë·þÎñÆ÷³öÏÖ¹ÊÕÏʱ£¬Nginx¿ÉÒÔ×Ô¶¯½«ÆäÌÞ³ý£¬²¢½«Á÷Á¿ÖØÐ·ÖÅ䏸ÆäËû½¡¿µµÄ·þÎñÆ÷£¬È·±£ÊÓÆµ·þÎñµÄ³Ö?ÐøÎȶ¨ÔËÐС£

×ܶøÑÔÖ®£¬Nginxƾ½èÆäʼþÇý¶¯µÄÒì²½·Ç×èÈûI/OÄ£ÐÍ¡¢Ç¿´óµÄÄ£¿é»¯Éè¼Æ¡¢¶ÔHTTP/2µÄ׿Խ֧³Ö¡¢Áé»îµÄ»º´æ»úÖÆÒÔ¼°¸ßЧµÄ¸ºÔؾùºâÄÜÁ¦£¬¹¹ÖþÁËÒ»¸ö¸ßÐÔÄÜ¡¢¸ß²¢·¢µÄÊÓÆµÁ÷´«Êä»ùʯ¡£ÕâЩºËÐÄÓÅÊÆ¹²Í¬×÷Óã¬ÎªÊµÏÖ¡°Nginx100%ÊÓÆµ100%ÐÔÄÜ¡±µÄ?Ä¿±êµì¶¨Á˼áʵµÄ»ù´¡£¬ÈÃÓû§Äܹ»ÏíÊܵ½Ç°ËùδÓеÄÁ÷³©ÊÓÆµÌåÑé¡£

2.ÖÇÄÜ·ÓÉÓëÄÚÈÝ·Ö·¢£ºCDNÍøÂçµÄNginxÒýÇæ

CDNÊÇÊÓÆµÄÚÈݵÃÒÔÔÚÈ«Çò·¶Î§¿ìËÙ·Ö·¢µÄ¹Ø¼ü¡£¶øNginxÔÚCDN¼Ü¹¹ÖаçÑÝ×Å¡°±ßÔµ¼ÆË㡱ºÍ¡°ÄÚÈÝ»º´æ¡±µÄºËÐĽÇÉ«¡£

±ßÔµ½ÚµãµÄ¸ßЧ·Ö·¢£ºÔÚCDNµÄÿ¸ö±ßÔµ½Úµã£¬¶¼²¿ÊðÓÐNginx·þÎñÆ÷£¬¸ºÔð½ÓÊÕÀ´×ÔÓû§µÄ²¥·ÅÇëÇó¡£NginxÄܹ»¿ìËٵشӱ¾µØ»º´æÖмìË÷ÊÓÆµÆ¬¶Î£¬²¢ÒÔ×î¿ìµÄËÙ¶ÈÍÆË͵½Óû§É豸¡£ÕâÖÖ¡°¾Í½ü·ÃÎÊ¡±µÄģʽ£¬¼«´óµØ½µµÍÁËÑÓ³Ù£¬ÌáÉýÁËÓû§ÌåÑé¡£

¶¯Ì¬ÄÚÈݼÓËÙ£º³ýÁ˾²Ì¬µÄÊÓÆµÎļþ£¬NginxÒ²ÄÜͨ¹ý·´Ïò´úÀí£¬½«¶¯Ì¬Éú³ÉµÄÄÚÈÝ£¨ÈçÓû§Éú³ÉµÄ²¥·ÅÁбí¡¢ÍƼöÊÓÆµµÈ£©¼ÓËÙ·Ö·¢¡£Í¨¹ý»º´æ¶¯Ì¬ÄÚÈÝ£¬¿ÉÒÔÏÔÖø¼õÉÙºó¶ËÓ¦Ó÷þÎñÆ÷µÄѹÁ¦¡£Óë»ØÔ´²ß?ÂÔµÄЭͬ£ºµ±±ßÔµ½ÚµãµÄ»º´æÖÐûÓÐÓû§ËùÐèµÄÊÓÆµÆ¬¶Îʱ£¬Nginx»áÖÇÄܵØÏòÔ´Õ¾·¢Æð»ØÔ´ÇëÇ󣬲¢½«»ñÈ¡µ½µÄÄÚÈÝ»º´æµ½±¾µØ£¬ÒÔ±ãºóÐøÓû§µÄ·ÃÎÊ¡£

NginxµÄ»ØÔ´²ßÂÔÐèÒª¾«ÐÄÅäÖã¬ÒÔÆ½ºâ»º´æÃüÖÐÂʺÍԴվѹÁ¦¡£

NginxÔÚCDN¼Ü¹¹ÖаçÑÝ×ÅÖÁ¹ØÖØÒªµÄ½ÇÉ«£¬Ëü¸ºÔð´¦Àí±ßÔµ½ÚµãµÄÇëÇ󣬲¢½«ÇëÇóת·¢µ½×î½üµÄýÌå·þÎñÆ÷£¬Í¬Ê±½øÐлº´æºÍ¸ºÔؾùºâ¡£

Õë¶ÔÁ÷ýÌåЭÒéµÄÓÅ»¯Ò²ÊÇʵÏÖ100%ÊÓÆµÐÔÄܵĹؼü¡£ËäÈ»NginxÖ÷ÒªÊÇÒ»¸öHTTP·þÎñÆ÷£¬µ«Í¨¹ýµÚÈý·½Ä£¿é£¬ËüÒ²¿ÉÒԺܺõØÖ§³Ö?RTMP¡¢HLS¡¢DASHµÈÁ÷ýÌåЭÒé¡£ÀýÈ磬nginx-rtmp-module±ãÊǷdz£Á÷ÐеÄÓÃÓÚ¹¹½¨RTMPÁ÷ýÌå·þÎñÆ÷µÄÄ£¿é¡£

ͨ¹ý¶ÔÕâЩÁ÷ýÌåЭÒé½øÐÐÓÅ»¯£¬ÀýÈçµ÷Õû»º³åÇø´óС¡¢Ö¡ÂÊÉèÖõȣ¬¿ÉÒÔ½øÒ»²½ÌáÉýÊÓÆµµÄ²¥·ÅÁ÷³©¶ÈºÍÎȶ¨ÐÔ¡£¶ÔÓÚHLSºÍDASHµÈ»ùÓÚHTTPµÄÁ÷ýÌåЭÒ飬NginxµÄ?¸ßЧHTTP´¦ÀíÄÜÁ¦±¾Éí¾ÍΪÆäÌṩÁËÇ¿´óµÄÖ§³Ö¡£

¸ºÔؾùºâ²ßÂԵľ«Ï¸»¯µ÷ÓŲ»ÈݺöÊÓ¡£³ýÁË»ù±¾µÄÂÖѯºÍ¼ÓȨÂÖѯ£¬¶ÔÓÚÊÓÆµÁ÷µÄ¸ºÔؾùºâ£¬ÎÒÃÇ»¹¿ÉÒÔ¿¼ÂǸü¸ß¼¶µÄ²ßÂÔ£¬ÀýÈç»ùÓÚÁ¬½ÓÊýµÄ¸ºÔؾùºâ£¬»òÕß½áºÏ½¡¿µ¼ì²é»úÖÆ£¬È·±£Á÷Á¿Ê¼ÖÕ±»µ¼Ïò½¡¿µµÄ·þÎñÆ÷¡£ÔÚNginxµÄupstreamÅäÖÃÖУ¬¿ÉÒÔÉèÖÃleast_connÀ´½«ÇëÇó·ÖÅ䏸Á¬½ÓÊý×îÉٵķþÎñÆ÷£¬Õâ¶ÔÓÚ³¤Á¬½ÓµÄÁ÷ýÌå´«ÊäÓÈΪÓÐЧ¡£

NginxÐÔÄÜ»ùʯ£ºÊÓÆµ´«ÊäµÄ¶¯Âö

ÔÚÕâ¸öÐÅÏ¢±¬Õ¨µÄʱ´ú£¬ÊÓÆµÄÚÈÝÒѾ­³ÉΪÈËÃÇ»ñÈ¡ÐÅÏ¢¡¢ÓéÀÖÏûDzµÄÖ÷Á÷·½Ê½¡£´Ó¸ßÇåµçÓ°¡¢ÔÚÏßÖ±²¥µ½¶ÌÊÓÆµ·ÖÏí£¬ÊÓÆµ´«ÊäµÄЧÂʺÍÎȶ¨ÐÔÖ±½ÓÓ°Ïì×ÅÓû§ÌåÑé¡£¶øNginx£¬×÷Ϊһ¿î¸ßÐÔÄܵÄ?HTTPºÍ·´Ïò´úÀí·þÎñÆ÷£¬ÔÚÊÓÆµÁ÷ýÌåÁìÓòÔçÒѶÀÕ¼÷¡Í·£¬³ÉΪÎÞÊýÊÓÆµÆ½Ì¨ÀµÒÔÉú´æµÄ»ùʯ¡£

½ñÌ죬ÎÒÃǾÍÀ´ÉîÈëNginxµÄºËÐÄ£¬Ì½Ñ°ËüÈçºÎʵÏÖÊÓÆµ´«ÊäµÄ100%ÐÔÄÜÊÍ·Å¡£

4.ÉîÈëÓÅ»¯NginxÅäÖ㺽âËø¼«ÖÂÐÔÄÜ

³ýÁË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¶ÔÆäµÄÖ§³ÖÒ²ÔÚÖð²½ÍêÉÆ¡£

ÔðÈα༭£º ÎâСÀò
ÉùÃ÷£ºÖ¤È¯Ê±±¨Á¦ÇóÐÅÏ¢ÕæÊµ¡¢×¼È·£¬ÎÄÕÂÌá¼°ÄÚÈݽö¹©²Î¿¼£¬²»¹¹³ÉʵÖÊÐÔͶ×ʽ¨Ò飬¾Ý´Ë²Ù×÷·çÏÕ×Ôµ£
ÏÂÔØ¡°Ö¤È¯Ê±±¨¡±¹Ù·½APP£¬»ò¹Ø×¢¹Ù·½Î¢ÐŹ«Öںţ¬¼´¿ÉËæÊ±Á˽â¹ÉÊж¯Ì¬£¬¶´²ìÕþ²ßÐÅÏ¢£¬°ÑÎղƸ»»ú»á¡£
ÍøÓÑÆÀÂÛ
µÇ¼ºó¿ÉÒÔ·¢ÑÔ
·¢ËÍ
ÍøÓÑÆÀÂÛ½ö¹©Æä±í´ï¸öÈË¿´·¨£¬²¢²»±íÃ÷֤ȯʱ±¨Á¢³¡
ÔÝÎÞÆÀÂÛ
ΪÄãÍÆ¼ö
¡¾ÍøÕ¾µØÍ¼¡¿¡¾sitemap¡¿