̽Ë÷nginxÈ«Ãæ½â¶ÁÓëʵսָÄÏÌáÉýÄúµÄÍøÕ¾ÐÔÄÜÓëÄþ¾²
À´Ô´£ºÖ¤È¯Ê±±¨Íø×÷Õߣº³ÂÊ¡Éí2025-08-20 21:08:07

ÏÈ˵¼Ü¹¹¡£Nginx½ÓÄÉmaster?workerµÄ½ø³ÌÄ£ÐÍ£¬masterÂôÁ¦ÖÎÀí¡¢ÖØÐ¼ÓÔØÓëÅäÖñ任£¬¶øÈô¸É¸öworker½ø³ÌÔò¼ç¸ºÕæÊµµÄÁ¬½Ó´¦Öóͷ£¡£Ê¼þÇý¶¯ºÍ·Ç×èÈûI/OÈõ¥¸ö½ø³Ì¾ÍÄÜ´¦Öóͷ£º£Á¿²¢·¢Á¬½Ó£¬ÖÆÖ¹ÁË´óÁ¿Ïß³ÌÇл»´øÀ´µÄ¿ªÏú¡£

ÕâÒâζ×ÅÔÚͬµÈÓ²¼þÌõ¼þÏ£¬Nginx¿ÉÒÔÓøüÉٵĽø³Ì´¦Öóͷ£¸ü¶àµÄÇëÇ󣬴ӶøÊµÏÖ¸ü¸ßµÄ²¢·¢ÄÜÁ¦ºÍ¸üµÍµÄÑÓ³Ù¡£

ÅäÖòãÃæµÄ½¹µãÔÚÓÚhttp¡¢server¡¢locationÈý´ó¿éµÄ×éÖ¯¹ØÏµ¡£http¿éÊÇÈ«¾ÖÐÔÉ趨µÄÔØÌ壬º­¸Ç»º´æ¡¢Á¬½Ó¡¢ÈÕÖ¾¡¢Ñ¹Ëõ¡¢ÊðÀíµÈͨÓù¦Ð§£»server¿éÓÃÀ´½ç˵һ¸öÐéÄâÖ÷»úµÄÓòÃû¡¢¶Ë¿Ú¡¢±àÂë¡¢´íÎóÒ³µÈÐÅÏ¢£»location¿éÔò¾ö¶¨¶Ôij¸ö·¾¶µÄ¾ßÌå´¦Öóͷ£Õ½ÂÔ¡£

¶Ô¾²Ì¬×ÊÔ´ºÍ¶¯Ì¬ÇëÇó£¬Nginx¶¼ÌṩÁ˸ßЧµÄ·ÖÁ÷ºÍ´¦Öóͷ£»úÖÆ¡£¾²Ì¬Îļþͨ³£ÓÉNginxÖ±½Ó¸ßËÙ·µ»Ø£¬¶¯Ì¬ÇëÇóÔò¿ÉÒÔͨ¹ý·´ÏòÊðÀí£¨proxy_pass£©×ª·¢µ½Ó¦Ó÷þÎñÆ÷£¬ÈçGunicorn¡¢uWSGI¡¢TomcatµÈ£¬´Ó¶øÊµÏÖǰ¶ËÓëºó¶ËµÄ½âñî¡£

ÔÚÐÔÄÜÓÅ»¯·½Ã棬¼¸¸ö³£ÓõÄÊֶξÍ×ãÒÔ´øÀ´ÏÔÖø¸Ä¹Û¡£µÚÒ»£¬¿ªÆôgzip»ò¸üÏÖ´úµÄѹËõ·½°¸£¬ÌÔÌ­´«ÊäÊý¾ÝÁ¿£»µÚ¶þ£¬ºÏÀíÉèÖÃkeepalive¡¢keepalivetimeout¡¢workerconnections£¬È·±£Á¬½Ó¸´ÓúÍ×ÊÔ´ÀûÓÃµÄÆ½ºâ£»µÚÈý£¬ÆôÓúÏÊʵĻº´æÕ½ÂÔ£¬Í¨¹ýproxycache»òfastcgicache½«¾²Ì¬ÓëÈȵ㶯̬ÄÚÈÝ»º´æµ½µ±µØ´ÅÅÌ»òÄÚ´æÖУ¬½µµÍºó¶ËѹÁ¦¡£

µÚËÄ£¬Ê¹ÓúÏÊʵĸºÔؾùºâÕ½ÂÔ£¬ÈçÂÖѯ£¨roundrobin£©Ä¬ÈϾùÔÈ·Ö·¢¡¢×îÉÙÁ¬½Ó£¨least_conn£©ÓÅÏÈ´¦Öóͷ£µ±Ç°¿ÕÏеĺó¶Ë¡¢IP¹þÏ£ÓÃÓڻỰճÐԵȣ¬È·±£ÇëÇó·Ö·¢¾¡¿ÉÄܹ«ÕýÓë¸ßЧ¡£

Ò»¸ödzÒ×µÄÉÏÊÖ·¾¶Ò²ÐíÊÇÕâÑùµÄ£ºÏȴһ¸ö»ù±¾µÄhttp·þÎñ£¬È·±£ÓòÃû½âÎöÕýÈ·¡¢¾²Ì¬×ÊÔ´ÄÜÖ±½ÓÃüÖе±µØÎļþϵͳ£»È»ºóÒýÈëÒ»¸öºó¶ËÓ¦Óõķ´ÏòÊðÀíÅäÖã¬ÊÓ²ìÔڸ߲¢·¢ÏÂµÄÆ¿¾±µã£»½Ó×ÅÖ𲽿ªÆô»º´æÓëѹËõ¡¢²¢Æ¾¾Ýʵ¼ÊÇëÇóÂþÑܵ÷ÕûproxypassµÄupstream¡¢proxysetheaderµÄͨ±¨Õ½ÂÔ£¬ÒÔ¼°¶Ô´íÎóÒ³ÃæÓëÈÕÖ¾»¨Ñù½øÐÐ×Ô½ç˵£¬ÒÔ±ã¿ìËÙ¶¨Î»ÎÊÌâ¡£

ÀûÓÃ״̬ҳ£¨stubstatus£©»òÆäËû¼à¿ØÊֶΣ¬½¨Éè¶Ô²¢·¢¡¢ÇëÇóËÙÂÊ¡¢ÑÓ³ÙµÈÖ¸±êµÄÊӲ졣

ʵսҪµãµÄÂ䵨×ܽ᣺һÊDZ£³Ö×îС¿ÉÓÃÅäÖã¬ÖÆÖ¹³õʼ½×¶Î¶ÔËùÓг¡¾°Ò»¹ø¶ËµÄÅÓ´óÉèÖã»¶þÊÇÖð²½ÔöÇ¿Äþ¾²ÓëÐÔÄÜ£¬ÖÆÖ¹Ò»´ÎÐԸ͝µ¼Ö²»ÐÐÔ¤ÆÚµÄ»ØÍË£»ÈýÊǽáºÏÕæÊµÁ÷Á¿²âÊÔÓë»Ø·Å£¬ÑéÖ¤¸Ä¶¯¶ÔÍÌÍÂÁ¿ÓëÎȶ¨ÐÔµÄʵ¼ÊÓ°Ïì¡£ÕÆÎÕÁËÕâЩ£¬Äã¾Í¾ß±¸°ÑNginx×÷Ϊ¡°ÐÔÄÜÒýÇæ¡±ºÍ¡°Äþ¾²Ç°ÉÚ¡±µÄÄÜÁ¦£¬¶ûºóÐøPart2½«°ÑÊÓ½ÇÀ©Õ¹µ½¸üÉîÌõÀíµÄÄþ¾²¡¢»º´æÕ½ÂÔ¡¢ÔËά×Ô¶¯»¯ÓëÈÝÆ÷»¯²¿Êð¡£

Ò»¡¢´«Êä²ãÓëЭÉÌ»úÖÆ¡£ÎªÌáÉýÓû§ÌåÑ飬HTTP/2ÒѳÉΪÏÖ´úÕ¾µãµÄ±êÅ䣬ËüÔÚ¶à·¸´Óá¢Í·²¿Ñ¹Ëõ¡¢ÓÅÏȼ¶±àÂëµÈ·½Ãæ´øÀ´ÏÔÖøµÄ²¢·¢¸ïС£TLS/SSLÖÕÖ¹µãͨ³£²¿ÊðÔÚNginx£¬È·±£´«Êä²ãÄþ¾²ÐÔÓëºó¶ËÓ¦Óõļò»¯Ð­×÷¡£ÎªÖÆÖ¹ÎÕÊֳɱ¾£¬¿ÉÒÔ¿ªÆôTLS»á»°»º´æ¡¢ÆôÓÃǰÏò±£ÃÜ£¨PFS£©ºÍ¾¡Á¿Ê¹ÓÃÏÖ´ú¼ÓÃÜÌ×¼þ¡£

SNIºÍÖ¤ÊéÂÖ»»Õ½ÂÔÒ²Ó¦ÄÉÈëÔËά¼Æ»®£¬È·±£Ö¤Êéµ½ÆÚǰÎÞ·ìÌæ»»¡£

¶þ¡¢»º´æÓë¸ºÔØµÄÖǻ۷ÖÅä¡£ÏûÏ¢ÊèÉ¢µÄ»º´æÕ½ÂÔÄܰѶԺó¶ËµÄѹÁ¦½µµ½×îµÍ¡£proxycache¡¢proxycachepath¡¢proxycachemethods¡¢proxycachevalidµÈÖ¸Áî×éºÏʹÓ㬿ÉÒÔ¶Ô¾²Ì¬×ÊÔ´¡¢APIÏìÓ¦µÈ¿ìËÙÃüÖлº´æ¡£

¶ÔÐèÒª¶¯Ì¬¸üеÄÄÚÈÝ£¬½áºÏcache-bypassÓëcache-controlÍ·²¿£¬¿ÉÒÔÔÚ±£³ÖÐÂÏʶÈÓëÎȶ¨ÐÔÖ®¼äÈ¡µÃƽºâ¡£½áºÏfastcgicache£¨Èôºó¶ËΪPHP¡¢PythonµÄCGI·½°¸£©»òmemcached/redis×ö¶þ¼¶»º´æ£¬¿ÉÒÔÔڸ߲¢·¢³¡¾°Ï½øÒ»²½ÌáÉýÍÌÍ¡£

Èý¡¢Äþ¾²·À»¤µÄ·Ö²ãÉè¼Æ¡£Nginx×ÔÉíÌṩÁËÇ¿´óµÄ»á¼û¿ØÖÆÓë·À»¤ÌØÐÔ¡£Í¨¹ýlimitconn¡¢limitreq¿ØÖÆÁ¬½ÓÊýÓëÇëÇóËÙÂÊ£¬ÅäºÏtry_filesµÄÑϸñÐÔÔ¼Êø£¬¿ÉÒÔÓÐЧµÖÓù¼òÆÓµÄDoS¹¥»÷¡£¸ü½øÒ»²½£¬¼ÓÈëHTTPÍ·²¿Äþ¾²Õ½ÂÔ£¬ÈçStrict-Transport-Security¡¢X-Content-Type-Options¡¢X-Frame-Options¡¢Content-Security-PolicyµÈ£¬ÄÜÏÔÖøÌáÉýä¯ÀÀÆ÷¶ËµÄÄþ¾²ÐÔÈÏÖª¡£

¶ÔÓÚ³£¼ûµÄ×¢Èë¡¢¿çÕ¾½Å±¾µÈ¹¥»÷£¬¿ÉÒÔ½áºÏWAF¹æÔò¡¢ºÚ°×Ãûµ¥¡¢µØÀíλÖÃÀ¹½ØµÈÕ½ÂÔ½øÐзÀ»¤£¬×öµ½¡°ÏÈÀ¹½Ø¡¢ÔÙ´¦Öóͷ£¡±µÄ·ÀÓùÌ¬ÊÆ¡£

ËÄ¡¢ÈÕÖ¾¡¢¼à¿ØÓë¸æ¾¯µÄ±Õ»·¡£Ò»¸öÎȶ¨µÄÕ¾µãÐèÒªÇåÎúµÄÊÓ²ìÌåϵ¡£³ýÁËaccesslog¡¢errorlog£¬½¨Òé×Ô½ç˵log_format£¬¾ÛºÏÒªº¦×ֶΣ¨ÇëÇó·¾¶¡¢×´Ì¬Âë¡¢ºÄʱ¡¢À´Ô´IPµÈ£©£¬ÒÔ±ã½øÐÐÐÐΪ·ÖÎöºÍÈÝÁ¿¼Æ»®¡£ÅäºÏPrometheus¡¢GrafanaµÈ¿ªÔ´¹¤¾ß£¬°ÑNginxÖ¸±êµ¼³ö³É¿É¼ìË÷µÄʱÐòÊý¾Ý£¬½¨Éèʵʱ¸æ¾¯ãÐÖµ£¨Èç5xxÉý¸ß¡¢Æ½¾ùÏìӦʱ¼ä³¬±êµÈ£©£¬ÈÃÔËάÍŶÓÄÜÔÚÎÊÌâ³õÏÖʱ¾Í½éÈë¡£

¶ÔÐÔÄÜÈȵãµÄ¼Í¼£¬ÄÜΪºóÐøÈÝÁ¿À©Õ¹ºÍÓÅ»¯µü´úÌṩ¼áʵ֤¾Ý¡£

Îå¡¢²¿ÊðÓëÔËάµÄƽ»¬¹ý¶É¡£ÎÞÍ´Éý¼¶Óëת¶¯²¿ÊðÊÇÏÖ´úÔËάµÄ»ù±¾¼¼Êõ¡£NginxÖ§³ÖÅäÖÃÈȼÓÔØ£¬Ê¹ÓÃnginx-sreload¿ÉÒÔÔÚ²»ÖжÏÏÖÓÐÁ¬½ÓµÄÇé¿öÏÂÓ¦ÓÃÐÂÅäÖã¬ÊÊÓÃÓÚ¹â¸üкÍÕ½ÂÔµ÷Õû¡£¶ÔÓÚ΢·þÎñ¼Ü¹¹»òÔÆÔ­ÉúÇé¿ö£¬ÈÝÆ÷»¯²¿Êð£¨ÈçDocker£©Óë±àÅŹ¤¾ß£¨ÈçKubernetes£©¿ÉÒÔʵÏÖ¿ìÕÕ¡¢»Ø¹ö¡¢×ª¶¯¸üеÈÄÜÁ¦¡£

À¶Â̲¿Êð¡¢½ð˿ȸÐû²¼¡¢¿µ½¡¼ì²éµÈʵ¼ù£¬¶¼ÄÜÈÃÄãÔÚ´óÁ÷Á¿ÈÕ±£³ÖÎȶ¨£¬Í¬Ê±Öð²½½«ÐÂÌØÐÔͶ·Åµ½Êµ¼ÊÇé¿ö¡£

Áù¡¢Êµ²ÙÂ䵨µÄ²½ÖèÇåµ¥¡£ÏÈÈ·±£»ù´¡£º°²×°¡¢»ù±¾Ä¿Â¼½á¹¹¡¢×îС»¯µÄhttpserverÅäÖ᣽Ó×Å¿ªÆôÐëÒªµÄÐÔÄÜÓÅ»¯£º¿ªÆôHTTP/2¡¢»º´æÕ½ÂÔ¡¢¾²Ì¬×ÊÔ´ÓÅ»¯¡£ËæºóÇ¿»¯Äþ¾²£ºÏÞÖÆÇëÇóËÙÂÊ¡¢ÌáÉýÍ·²¿Äþ¾²¡¢ÐëÒªµÄWAF¹æÔò¡£×îºó½¨Éè¼à¿ØÓëÈÕÖ¾Ìåϵ£¬Á¬Ðø½øÐÐѹÁ¦²âÊÔÓëÈÝÁ¿ÆÀ¹À¡£

ÿ´Î¸Ä¶¯ºó¶¼Ó¦ÓпɻعöµÄ·½°¸£¬È·±£´Ó²âÊÔµ½ÕýʽÇé¿öµÄÇ¨ÒÆ¿É¿Ø¡£

×ܽáÓëÕ¹Íû£ºÍ¨¹ýPart1µÄÔ­Àíµ½Part2µÄ½ø½×ʵ¼ù£¬ÄãÒѾ­¾ß±¸ÒÔNginxΪ½¹µãµÄȫջÓÅ»¯ÄÜÁ¦¡£ÎÞÂÛÊÇÌáÉýÒ³Ãæ¼ÓÔØËÙ¶È¡¢½µµÍºó¶ËѹÁ¦£¬Õվɽ¨ÉèÎȽ¡µÄÄþ¾²»úÖÆ£¬Nginx¶¼ÄܳÉΪÄãÍøÕ¾µÄ¿É¿¿¡°ÒýÇæ¡±¡£Èç¹ûÄãÔ¸Ò⣬½«ÕâЩԭÔòÂ䵨µ½Êµ¼ÊÏîÄ¿ÖУ¬ÄÇЩ¿´ËÆÅÓ´óµÄÅäÖÃÓëÕ½ÂÔ£¬¶¼ÊÐÔÚÖØ¸´µÄʵ¼ùÖбäµÃÇåÎú¡¢¿É²Ù×÷¡£

̽Ë÷¡¢ÊµÑé¡¢¼à¿Ø¡¢µü´ú£¬ÕâÊÇÌáÉýÍøÕ¾ÐÔÄÜÓëÄþ¾²µÄÁ¬ÐøÖ®Â·¡£¼ÌÐøÉîÍÚ£¬Äã»á·¢ÏÖNginxµÄÇ¿´óÔ¶²»Ö¹ÓÚ´Ë£¬ËüÔ¸ÒâÓëÄãÒ»Æð£¬ÅãÄã°ÑÍøÕ¾´øµ½Ò»¸öеÄÎȽ¡Ë®Æ½¡£

̽Ë÷nginxÈ«Ãæ½â¶ÁÓëʵսָÄÏÌáÉýÄúµÄÍøÕ¾ÐÔÄÜÓëÄþ¾²
fgsaiufguksefgiusdgfkjqbwahgoaasgiufgweukjfbsidugfioweuehjoihweosa
ÔðÈα༭£º ³Âè÷×Ú
Ê·´ø²ÆÏÕ±äÉí´¿Íâ×Ê
ÏûÏ¢³Æ¹ú²úÌØË¹À­7Ô·ݽ»¸¶²»µ½6.8ÍòÁ¾ ͬ±È»·±È˫˫Ï»¬
ÍøÓÑÆÀÂÛ
µÇ¼ºó¿ÉÒÔ½²»°
·¢ËÍ
ÍøÓÑÆÀÂÛ½ö¹©Æä±í´ïСÎÒ˽¼Ò¿´·¨£¬²¢²»½²Ã÷֤ȯʱ±¨Á¢³¡
ÔÝÎÞÆÀÂÛ
ΪÄãÍÆ¼ö