»Æ½ð³ÇÍøÕ¾

Nginx100%ÐÔÄܱ¼ÌÚ£º½âËøÊÓÆµÁ÷µÄ¼«ÖÂÌåÑé_07
ȪԴ£ºÖ¤È¯Ê±±¨Íø×÷ÕߣºÍõÄþ2026-03-06 01:29:29
wwwzqhsauikdwjbfkjabfwqr

4.ÐÔÄܵ÷ÓÅÃØóÅ£º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ÊÓÆµ´«ÊäµÄÐÔÄÜ¡£

NginxÔÚCDN¼Ü¹¹ÖÐÊÎÑÝ×ÅÖÁ¹ØÖ÷ÒªµÄ½ÇÉ« £¬ËüÈÏÕæ´¦Öóͷ£±ßÑØ½ÚµãµÄÇëÇó £¬²¢½«ÇëÇóת·¢µ½×î½üµÄýÌå·þÎñÆ÷ £¬Í¬Ê±¾ÙÐлº´æºÍ¸ºÔØÆ½ºâ¡£

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

ͨ¹ý¶ÔÕâЩÁ÷ýÌåЭÒé¾ÙÐÐÓÅ»¯ £¬ÀýÈçµ÷½â»º³åÇø¾Þϸ¡¢Ö¡ÂÊÉèÖõÈ £¬¿ÉÒÔ½øÒ»²½ÌáÉýÊÓÆµµÄ²¥·ÅÁ÷ͨ¶ÈºÍÎȹÌÐÔ¡£¹ØÓÚHLSºÍDASHµÈ»ùÓÚHTTPµÄÁ÷ýÌåЭÒé £¬NginxµÄ¸ßЧHTTP´¦Öóͷ£ÄÜÁ¦×Ô¼º¾ÍΪÆäÌṩÁËǿʢµÄÖ§³Ö?¡£

¸ºÔØÆ½ºâÕ½ÂÔµÄϸÄ廯µ÷ÓŽûÖ¹ºöÊÓ¡£³ýÁË»ù±¾µÄÂÖѯºÍ¼ÓȨÂÖѯ £¬¹ØÓÚÊÓÆµÁ÷µÄ¸ºÔØÆ½ºâ £¬ÎÒÃÇ»¹¿ÉÒÔ˼Á¿¸ü¸ß¼¶µÄÕ½ÂÔ £¬ÀýÈç»ùÓÚÅþÁ¬ÊýµÄ¸ºÔØÆ½ºâ £¬»òÕßÍŽ῵½¡¼ì²é»úÖÆ £¬È·±£Á÷Á¿Ê¼ÖÕ±»µ¼Ïò¿µ½¡µÄ·þÎñÆ÷¡£ÔÚNginxµÄupstreamÉèÖÃÖÐ £¬¿ÉÒÔÉèÖÃleast_connÀ´½«ÇëÇó·ÖÅɸøÅþÁ¬Êý×îÉٵķþÎñÆ÷ £¬Õâ¹ØÓÚ³¤ÅþÁ¬µÄÁ÷ýÌå´«ÊäÓÈΪÓÐÓá£

Çå¾²ÐԵĿ¼Á¿Í¬Ñù»áÓ°ÏìÐÔÄÜ¡£ÀýÈç £¬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¼¯³É¡¢Á÷ýÌåЭÒéÖ§³Ö¡¢¸ºÔØÆ½ºâµ÷ÓÅ £¬ÒÔ¼°Çå¾²ÐÔºÍÒ»Á¬¼à¿Ø £¬Ã¿Ò»¸ö»·½Ú¶¼Ô̲Ø×ÅÓÅ»¯µÄ¿Õ¼ä¡£

ËüÔÊÐí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ÔÚÊÓÆµ´«Êä·½Ãæ £¬²¢·Ç½ö½öÊÇÒ»¸ö¼òÆÓµÄÎļþ·þÎñÆ÷¡£ËüÉîÚÏÁ÷ýÌå´«ÊäµÄÉñÃØ £¬²¢ÌṩÁ˶àÖÖЭÒéÖ§³Ö £¬Ê¹ÆäÄܹ»ÍêÉÆË³Ó¦²î±ð³¡¾°ÏµÄÊÓÆµÐèÇó¡£

3.ÊÓÆµÖ±²¥µÄʵʱ°ü¹Ü£ºµÍÑÓ³ÙÓëÎȹÌÐÔ

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

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

WebSocketÖ§³Ö£º¹ØÓÚһЩÐèÒª¸üÎÞаͨѶµÄÖ±²¥³¡¾° £¬NginxÒ²ÌṩÁ˶ÔWebSocketµÄÓÅÒìÖ§³Ö?¡£ÕâʹµÃ¿ª·¢Õß¿ÉÒÔ¹¹½¨¸ü¾ß½»»¥ÐÔµÄÖ±²¥?Ó¦Óà £¬ÀýÈçʵʱµ¯Ä»¡¢ÀñÎïÔùÓèµÈ?¡£Á÷Á¿ÕûÐÎÓëÏÞÖÆ£ºÔÚÖ±²¥³¡¾°Ï £¬ÎªÁ˰ü¹Ü·þÎñµÄÎȹÌÐÔ £¬Nginx»¹¿ÉÒÔ¾ÙÐÐÁ÷Á¿ÕûÐκÍÏÞÖÆ¡£

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

ÕâÖÖÄ£×Ó´øÀ´µÄÖ±½ÓÀûÒæÊǼ«µÍµÄ×ÊÔ´ÏûºÄ¡£¹Å°åµÄ·þÎñÆ÷ÔÚ´¦Öóͷ£´ó?Á¿²¢·¢ÅþÁ¬Ê± £¬»áÓÉÓÚ½¨ÉèºÍÏú»Ù´ó×ÚÀú³Ì/Ï̶߳øãýÃð´ó×ÚµÄ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ÃûÌõÄÊÓÆµÁ÷ £¬¶øÎÞÐèÌØÁíÍâתÂë»ò´¦Öóͷ£ £¬Õâ¹ØÓÚÁ÷ýÌå·þÎñÆ÷À´ËµÖÁ¹ØÖ÷Òª¡£

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

ÊÓÆµÆ½Ì¨µÄÀÖ³É £¬Àë²»¿ªÆäÎȹÌÖ§³Öº£Á¿Óû§²¢·¢»á¼ûµÄÄÜÁ¦¡£NginxÔÚÕâ·½ÃæÌṩÁËǿʢµÄ¸ºÔØÆ½ºâ¹¦Ð§ £¬Äܹ»½«Óû§µÄÇëÇóÖÇÄܵطַ¢µ½?¶ą̀ºó¶ËÊÓÆµ·þÎñÆ÷ £¬ÓÐÓÃ×èÖ¹µ¥µã¹ýÔØ £¬²¢ÌáÉýÕûϵһÇеĿÉÓÃÐÔ¡£

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

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

Ö÷±¸£¨Active/Passive£©ÓëÖ÷Ö÷£¨Active/Active£©¼Ü¹¹£ºÍŽáNginxµÄ·´Ïò´úÀíÄÜÁ¦ £¬¿ÉÒÔÇáËɹ¹½¨¸ß¿ÉÓõÄÊÓÆµ·þÎñ¼Ü¹¹¡£Í¨¹ýKeepalivedµÈ¹¤¾ß £¬¿ÉÒÔʵÏÖNginxµÄ¹ÊÕÏ×ªÒÆ £¬µ±Ö÷Nginx·þÎñÆ÷·ºÆð¹ÊÕÏʱ £¬±¸ÓÃ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%ÐÔÄÜ¡±µÄ?Ä¿µÄµÓÚ¨Á˼áʵµÄ»ù´¡ £¬ÈÃÓû§Äܹ»ÏíÊܵ½Ø¨¹ÅδÓеÄÁ÷ͨÊÓÆµÌåÑé¡£

ͨ¹ýHTTP/2µÄ¶à·¸´Óà £¬¿ÉÒÔÓÐÓõØÔÚÒ»¸öÅþÁ¬ÉÏ·¢ËͶà¸öÊÓÆµ·ÖƬ £¬´ó´ó½µµÍÁËTCPÅþÁ¬µÄ½¨ÉèºÍÎÕÊÖ±¾Ç® £¬Ê¹µÃÊÓÆµ¼ÓÔØËÙÂʸü¿ì £¬²¥·ÅÔ½·¢Á÷ͨ¡£

¸ßЧµÄ»º´æÕ½ÂÔÊǽµµÍºó¶ËѹÁ¦¡¢ÌáÉýÓû§ÌåÑéµÄÁíÒ»ÀûÆ÷¡£³ýÁË»ù±¾µÄproxy_cacheÉèÖà £¬ÎÒÃÇ»¹¿ÉÒÔ˼Á¿ÍŽáfastcgi_cache(ÈôÊǺó¶ËÊÇFastCGI)»òmemcached_cacheµÈ¡£¸üÖ÷ÒªµÄÊÇ £¬ÐèÒª¶Ô»º´æµÄÓЄ¿ÆÚ(max_ageºÍexpires)¾ÙÐÐϸÄå¿ØÖÆ £¬¼ÈÒª°ü¹ÜÊý¾ÝµÄʱЧÐÔ £¬ÓÖÒª³ä·ÖʹÓûº´æÀ´ïÔÌ­»ØÔ´¡£

¹ØÓÚÊÓÆµÄÚÈÝ £¬ÓÉÓÚÆä¾ÞϸºÍ»á¼ûƵÂʵIJî±ð £¬¿ÉÒÔÆ¾Ö¤²î±ðµÄURL·¾¶»òÎļþÀàÐÍÉèÖòî±ðµÄ»º´æÕ½ÂÔ¡£ÀýÈç £¬¹ØÓÚÈÈÃÅÊÓÆµ £¬¿ÉÒÔÉèÖýϳ¤µÄ»º´æÊ±¼ä £»¶ø¹ØÓÚ¸üÐÂÆµÈÔµÄÖ±²¥Æ¬¶Ï £¬ÔòÐèÒª¸ü¶ÌµÄ»º´æÖÜÆÚ¡£

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

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

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

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

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

NginxÒÀ¸½Æä׿ԽµÄÐÔÄÜ¡¢ÎÞаµÄÉèÖÃÒÔ¼°Ç¿Ê¢µÄÉú̬ϵͳ £¬ÒѾ­³ÉΪÊÓÆµ´«ÊäÁìÓòµÄÍõÕß¡£´Ó»ù´¡µÄHTTP´«Êäµ½?ÖØ´óµÄÁ÷ýÌåЭÒé £¬´Óµ¥»úÓÅ»¯µ½´ó¹æÄ£CDN°²ÅÅ £¬Nginx¶¼ÄÜÌṩÐÐÖ®ÓÐÓõÄ?½â¾ö¼Æ»®¡£Í¨¹ýÉîÈëÃ÷È·NginxµÄÊÂÇéÔ­Àí £¬²¢ÍŽ᱾ÎÄÏÈÈݵÄÖÖÖÖÓÅ»¯Õ½ÂÔ £¬ÄãÍêÈ«ÓÐÄÜÁ¦½«NginxµÄÊÓÆµ´«?ÊäÐÔÄÜʩչµ½¼«Ö £¬ÎªÓû§´ò?ÔìÁ÷ͨ¡¢Îȹ̡¢¼«ÖµÄÊÓÌýÌåÑé¡£

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

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

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

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

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

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

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

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

ÎÒÃDZØÐèÉîÈëÃ÷È·NginxµÄ½¹µãÓÅÊÆ £¬ËüÔõÑùÓâÔ½¹Å°å·þÎñÆ÷ £¬³ÉΪÊÓÆµÈö²¥ÊäµÄٮٮÕß¡£NginxµÄ?³É?¹¦ £¬ºÜºéÁ÷ƽÉϹ鹦ÓÚÆä¡°ÊÂÎñÇý¶¯¡¢Òì²½?·ÇÛÕ±Õ¡±µÄI/OÄ£×Ó¡£Óë¹Å°åµÄ¡°Àú³Ì/Ïß³ÌÄ£×Ó¡±²î±ð £¬Nginx²»»áΪÿ¸öÅþÁ¬½¨ÉèÒ»¸ö×ÔÁ¦µÄÀú³Ì»òÏ̡߳£

Ïà·´ £¬Ëü½ÓÄÉÁËÒ»¸öÖ÷Àú³ÌºÍ¶à¸öÊÂÇéÀú³ÌµÄģʽ¡£Ö÷Àú³ÌÈÏÕæ¶ÁȡϢÕùÎöÉèÖÃÎļþ £¬²¢¹ÜÀíÊÂÇéÀú³Ì¡£¶øÃ¿¸öÊÂÇéÀú³ÌÔò¿ÉÒÔͬʱ´¦Öóͷ£³ÉǧÉÏÍò¸öÅþÁ¬¡£

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

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

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

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

NginxµÄ»ØÔ´Õ½ÂÔÐèҪȫÐÄÉèÖà £¬ÒÔÆ½ºâ»º´æÖÀÖÐÂʺÍԴվѹÁ¦¡£

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

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µÄÉèÖà £¬ºÏÀíÑÓÉ쳤ÅþÁ¬µÄ¼á³Öʱ¼ä £¬¿ÉÒÔïÔÌ­ÒòƵÈÔ½¨ÉèÅþÁ¬´øÀ´µÄ¿ªÏú £¬ÌáÉýÕûÌåµÄ´«ÊäЧÂÊ¡£

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