bevictorΰµÂ

Nginx100%ÊÓÆµÓÅ»¯
ÆðÔ´£ºÖ¤È¯Ê±±¨Íø×÷Õߣº·ëÕ×»ª2026-02-17 07:28:40
wwwzqhsauikdwjbfkjabfwqr

ÒýÑÔ£ºµ±Á÷³©³É?ΪÍõ·?£¬NginxÈôºÎÁ¶³ÉÊÓÆµÓÅ»¯ÀûÆ÷£¿

ÔÚÈç½ñÕâ¸öÄÚÈÝΪÍõµÄʱÆÚ£¬ÊÓÆµÒÑÈ»³ÉΪÐÅÏ¢´«?²¥¡¢ÓéÀÖÏûDzºÍóÒ×ÓªÏúµÄÖ÷ÌâÔØÌå¡£´ÓÔÚÏ߿γ̵½¸ßÇåµçÓ°£¬´ÓÖ±²¥»¥¶¯µ½¶ÌÊÓÆµ·çÃÒ£¬Óû§¶ÔÓÚÊÓÆµ²¥·ÅµÄÁ÷³©¶ÈºÍÏìÓ¦¿ì¶Å×Ð׎üºõ¿Ì±¡µÄ?ÒªÇó¡£Ò»µ©³öÏÖ¿¨¶Ù¡¢»º³å£¬ÉõÖÁÊDz¥·Åʧ°Ü£¬Óû§ÂÄÀúµÄ¶ÏÑÂʽ×ÅÂä±ã²»³ÉÔ¤·À£¬ËæÖ®¶øÀ´µÄ¾ÍÊÇÁ÷Á¿µÄÁ÷ʧ¡¢Óû§µÄ²»?ÂúÒÔ¼°Æ·ÅÆÐÎÏóµÄÊÜËð¡£

ÔÚÊÓÆµÁ÷ýÌå·þÎñÈÕÒæ¸´ÔÓºÍÖØ´óµÄ²¼¾°Ï£¬ÈôºÎÈ·±£Ã¿Ò»Ö¡»­Ãæ¶¼Äܾ«×¼¡¢¸ßЧµØÍ¶µÝÓû§ÖÕ¶Ë£¬³ÉΪÁ˰ÚÔÚÿһλ¼¼Êõ¿ª·¢ÕߺÍÔËάÈËÔ±¿Ìϵľ޴óÌôÕ½¡£

ÔÚÕⳡ×êÓª¼«ÖÂÁ÷³©µÄÕ½ÕùÖУ¬Nginx£¬Õâ¿î¸ß»úÄܵÄWeb·þÎñÆ÷¡¢·´Ïò´úÀíºÍ¸ºÔØÆ½ºâÆ÷£¬ÕýÒÔÆä׿ԽµÄ»úÄܺͽýݵÄÅäÖ㬱íÑÝ×ÅÔ½À´Ô½³ÁÒªµÄ½ÇÉ«¡£Ëü²»½ö½öÊÇÒ»¸öµ¥Ò»µÄÎļþ·þÎñÆ÷£¬¸üÊÇ¿ÉÄÜÉî¶ÈȾָÊÓÆµÁ÷ýÌå´«Êä¹ý³Ì£¬½øÐÐÈ«·½Î»¡¢¾«ÃÜ»¯ÓÅ»¯µÄ׳´óÒýÇæ¡£

±¾ÎĽ«Éî¿Ì̽ÇóNginxÈôºÎʵÏÖ¡°100%ÊÓÆµÓÅ»¯¡±£¬½ÒʾÆä±³ºóµÄ¼¼ÊõµÀÀíºÍʵ²Ù¼¼ÇÉ£¬Ô®ÊÖÄã¹¹½¨²»±ä¡¢¸ßЧ¡¢¼«¾ß¾ºÕùÁ¦µÄÊÓÆµ·þÎñ¡£

µÚÒ»Õ£ºNginxµÄÊÓÆµÓÅ»¯»ùʯ£ºÀí½âÖ÷ÌâÓë»ù´¡ÅäÖÃ

ҪʵÏÖNginxµÄÊÓÆµÓÅ»¯£¬Ê×ÏȱØÒª¶ÔÆäÖ÷ÌâÄÜÁ¦ºÍ»ù´¡ÅäÖÃÓÐÉî¿ÌµÄÀí½â¡£NginxÖ®ËùÒÔÄÜÔڸ߲¢·¢³¡¾°Ï²û·¢½Ü³ö£¬Àë²»¿ªÆäÊÂÎñÇý¶¯¡¢Òì²½·Ç×èÈûµÄI/OÄ£ÐÍ¡£ÕâÒâζ×ÅNginxÄܹ»ÓýÏÉٵĹý³ÌºÍÏ̴߳¦ÖôóÁ¿µÄ²¢·¢ÏνÓ£¬¼«´óµØÌá¸ßÁË×ÊÔ´ÀûÓÃÂʺÍÏìÓ¦¿ìÂÊ£¬Õâ¶ÔÓÚ±ØÒª³ÖÐø¡¢²»±ä´«Êä´óÁ¿Êý¾ÝµÄÊÓÆµÁ÷À´ËµÖÁ¹Ø³ÁÒª¡£

1.1¾²Ì¬Îļþ·þÎñµÄЧÄÜÓÅ»¯£º¹ÌÈ»ÊÓÆµÁ÷ýÌåÍùÍùÉæ¼°¶¯Ì¬ÄÚÈݵÄÌìÉúºÍ´¦Ö㬵«?Æä×îÖյĴ«ÊäÔØÌåÒÀÈ»ÊǾ²Ì¬Îļþ£¨ÈçHLSµÄ.tsÇÐÆ¬£¬DASHµÄ.mp4»ò.m4sÎļþ£©¡£NginxÔÚ¾²Ì¬Îļþ·þÎñ·½ÃæµÄÄÜÁ¦ÎãÓ¹ÖÃÒÉ¡£

aioÖ¸Áî:¶ÔÓÚʹÓÃNginxPlus»òÔÚÖ§³ÖAIO(AsynchronousI/O)µÄ²Ù×÷ϵͳÉÏ£¬ÆôÓÃaioon;Äܹ»½øÒ»²½ÌáÉý´óÎļþI/OµÄ»úÄÜ£¬ÓÈÆäÊÇÔÚ´¦ÖôóÁ¿Ó×Îļþ£¨ÈçHLSµÄtsÇÐÆ¬£©Ê±£¬Äܹ»ÓÐЧÏ÷¼õI/O×èÈû¡£

openfilecacheÖ¸Áî:»º´æ´ò¿ªµÄÎļþÃèÊö·ûºÍÔªÊý¾Ý£¬Ô¤·ÀÁËÆµÈԵشò¿ªºÍ¹Ø¹ØÎļþ£¬Ìá¸ßÁËÎļþ½Ó¼ûµÄ¿ìÂÊ¡£open_file_cachemax=1000inactive=20s;µÈÅäÖÃÄܹ»Æ¾¾ÝÏÖʵÇé¿ö½øÐе÷Õû¡£

1.2HTTP/2µÄÍþÁ¦¿ªÊÍ£ºHTTP/2ºÍ̸µÄÒýÈëÊÇÊÓÆµ´«ÊäÂÄÀúµÄÒ»´Î·ÉÔ¾¡£ÓëHTTP/1.1µÄ´®ÐÐÒªÇó·ÖÆç£¬HTTP/2Ö§³Ö¶à·¸´Óá¢Í·²¿Ñ¹Ëõ¡¢·þÎñÆ÷ÍÆË͵ȸöÐÔ£¬¿ÉÄܼ«´óµØÌáÉýÔÚ¸ßÑÓ³¤»ò¸ß¶ª°üÂÊÍøÂç»·¾³ÏµĴ«ÊäЧÄÜ¡£

ÆôÓÃHTTP/2:ÔÚNginxµÄ?listenÖ¸ÁîÖвÎÓëhttp2²ÎÊý¼´¿ÉÆôÓá£ÀýÈ磺listen443sslhttp2;¡£¶à·¸´ÓÃ:ÔÊÐíÔÚÒ»¸öTCPÏνÓÉÏͬʱ´«Êä¶à¸öHTTPÒªÇóºÍÏìÓ¦£¬Ô¤·ÀÁËHTTP/1.1µÄ¡°¶ÓÍ·×èÈû¡±ÎÊÌ⣬¶ÔÓÚÊÓÆµÁ÷ÖÐÆµÈÔµÄÇÐÆ¬ÒªÇóÀ´Ëµ£¬³ÉЧÓÈΪÏÔÖø¡£

Í·²¿Ñ¹Ëõ:ʹÓÃHPACKË㷨ѹËõHTTPÒªÇóºÍÏìӦͷ£¬Ï÷¼õÁË´«ÊäµÄÊý¾ÝÁ¿£¬ÓÈÆäÊÇÔÚ¿Í»§¶ËºÍ·þÎñÆ÷Ö®¼ä½øÐдóÁ¿µÄÓ×ÒªÇóʱ£¬¿ÉÄÜÓÐЧ½µµÍÍøÂçÑÓ³¤¡£

1.3TCPBBRÓµÈû½ÚÔìËã·¨£ºÎªÍøÂç´«Êä×¢ÈëÇ¿ÐļÁTCPBBR(BottleneckBandwidthandRound-trippropagationtime)ÊÇÒ»ÖÖÓÉGoogle¿ª·¢µÄÓµÈû½ÚÔìËã·¨£¬ËüÓ봫ͳµÄ»ùÓÚ¶ª°üµÄÓµÈû½ÚÔìËã·¨£¨ÈçCubic£©·ÖÆç£¬BBR¹Ø×¢µÄÊÇÆ¿¾±´ø¿íºÍÍù·µ¹¦·ò¡£

ÔÚÊÓÆµÁ÷ýÌåÕâÖÖ¶Ô´ø¿íºÍÑÓ³¤Ãô¸ÐµÄ³¡¾°Ï£¬BBR¿ÉÄÜÏÔÖøÌá¸ß´ø¿íÀûÓÃÂÊ£¬½µµÍ¶ª°ü?ÂÊ£¬´Ó¶ø´øÀ´¸ü²»±äµÄ²¥·ÅÂÄÀú¡£

ÆôÓÃBBR:Õâͨ³£±ØÒªÔÚ²Ù×÷ϵͳ²ãÃæ½øÐÐÅäÖ㬶øºóÔÚNginxµÄnginx.confÎļþÖУ¬Äܹ»Í¨¹ýtcp_nodelayon;ºÍtcp_nopushon;À´¹²Í¬BBRµÄ¹¤×÷¡£¹ÌÈ»Nginx×ÔÉí²»Ö±½Ó½ÚÔìBBR£¬µ«Æä¾«ÃܵÄÍøÂç²ÎÊýµ÷Õû¿ÉÄÜÓëBBRЭͬ×÷Ó㬲ûÑï×î´óЧÁ¦¡£

1.4¹Ø¼üÁ÷ýÌåºÍ̸µÄÖ§³Ö£ºHLSÓëDASHNginx¶ÔHLS(HTTPLiveStreaming)ºÍDASH(DynamicAdaptiveStreamingoverHTTP)ÕâÁ½ÖÖÖ÷Á÷µÄÁ÷ýÌåºÍ̸ÌṩÁËÓÅÁ¼µÄÖ§³Ö¡£

ÕâЩºÍ̸½«ÊÓÆµÔ׸î³ÉÓ×µÄýÌ寬¶Î£¬²¢Ìṩһ¸ö²¥·ÅÁбíÎļþ£¬ÔÊÐí¿Í»§¶Ëƾ¾ÝÍøÂçÇé¿ö¶¯Ì¬µ÷Õû²¥·ÅµÄÂëÂÊ¡£

HLS(.m3u8&.ts):NginxÄܹ»¸ßЧµØ»º´æºÍ·Ö·¢.m3u8²¥?·ÅÁбíÎļþºÍ.tsýÌ寬¶Î¡£Í¨¹ýºÏÀíµÄ»º´æÅäÖã¬Äܹ»´ó·ù¼õÇáÔ´·þÎñÆ÷µÄѹÁ¦£¬²¢¼Ó¿ìÈ«ÇòÓû§µÄ½Ó¼û¿ìÂÊ¡£DASH(.mpd&.m4s/.mp4):ÀàËÆÓÚHLS£¬NginxͬÑù¿ÉÄܸßЧµØ´¦ÖÃDASHµÄ.mpdmanifestÎļþºÍ¸÷ÀàÂëÂʵÄýÌ寬¶Î¡£

ngxhttpflv_module(¿ÉÑ¡):¶ÔÓÚ±ØÒªÖ±²¥ÍÆÁ÷ºÍµã²¥·þÎñµÄ³¡¾°£¬NginxµÄngx_http_flv_moduleÄ£¿éÄܹ»ÌṩFLV·â×°ºÍ·Ö·¢ÄÜÁ¦£¬µ«¶ÔÓÚHLS/DASHÕâÖÖ¸üÏÖ´ú¡¢¸üͨÓõĺÍ̸£¬Í¨³£ÊÇÊ×Ñ¡¡£

1.5»º´æÕ½Êõ£ºÁôס¾«»ª£¬¼Ó¿ì½Ó¼û»º´æÊÇNginxÓÅ»¯ÊÓÆµÁ÷ýÌå»úÄܵÄÁíÒ»¸öÖ÷Ìâ»·½Ú¡£Í¨¹ýºÏÀíµØ»º´æÊÓÆµÇÐÆ¬ºÍ²¥·ÅÁбí£¬Äܹ»ÏÔÖøÏ÷¼õ»ØÔ´ÒªÇ󣬽µµÍ´ø¿í³É±¾£¬²¢ÌáÉýÓû§µÄ½Ó¼û¿ìÂÊ¡£

proxy_cacheÖ¸Áî:NginxµÄproxy_cacheÖ¸ÁîÄܹ»ÓÃÀ´»º´æÀ´×ÔÉÏÓηþÎñÆ÷µÄÏìÓ¦¡£¶ÔÓÚÊÓÆµµã²¥·þÎñ£¬Äܹ»½«ÊÓÆµÇÐÆ¬»º´æµ½Nginx·þÎñÆ÷µÄ±¾µØ´ÅÅÌÉÏ¡£proxy_cache_path/data/nginx/cachelevels=1:2keys_zone=my_cache:10mmax_size=10ginactive=60muse_temp_path=off;(½ç˵»º´æõè¾¶¡¢ÇøÓò¡¢´óÓ׺ÍʧЧ¹¦·ò)proxy_cachemy_cache;(ÔÚlocation¿éÖÐÆôÓûº´æ)expiresÖ¸Áî:ÉèÖÃHTTPÏìӦͷÖеÄExpiresºÍCache-Control£¬Áìµ¼ä¯ÀÀÆ÷»òCDN½Úµã½øÐб¾µØ»º´æ¡£

¶ÔÓÚÊÓÆµÇÐÆ¬£¬Äܹ»ÉèÖýϳ¤µÄ»º´æ¹¦·ò¡£

Ó׽᣺NginxÖ®ËùÒÔÄÜÔÚÊÓÆµÓÅ»¯ÁìÓòÍÑÓ±¶ø³ö£¬ÕýÊÇÓÉÓÚËüÔÚÍøÂç´«Êä¡¢ºÍ̸֧³Ö¡¢Îļþ·þÎñ»ººÍ´æÕ½ÊõµÈ·½Ãæ¶¼¾ß±¸×³´óµÄ?ÄÜÁ¦¡£Í¨¹ý¶Ôsendfile¡¢HTTP/2¡¢BBR¡¢HLS/DASHÖ§³ÖÒÔ¼°proxy_cacheµÈÖ÷ÌâÅäÖõÄÉî¿ÌÀí½âºÍºÏÀíʹÓã¬ÎÒÃÇÒѾ­Îª¹¹½¨¸ßЧµÄÊÓÆµÁ÷ýÌå·þÎñ´ò?ÏÂÁ˼áʵµÄ»ù´¡¡£

Õâ½ö½öÊÇÆðÍ·¡£±ÉÈËÒ»²¿ÃÅ£¬ÎÒÃǽ«½øÒ»²½Ë÷ÇóNginxÔÚCDN¼¯³É¡¢Á÷Á¿µ÷¶È¡¢°²È«·À»¤ÒÔ¼°¶¯Ì¬ÓÅ»¯·½ÃæµÄ½ø½×¼¼ÇÉ£¬ÒÔÆÚ´ïµ½?¡°100%ÊÓÆµÓÅ»¯¡±µÄÖÕ¼«Ö¸±ê¡£

µÚ¶þÕ£ºNginxµÄ?ÊÓÆµÓÅ»¯½ø½×£º´ÓCDNµ½¶¯Ì¬ÏìÓ¦µÄ?Éî¶Èµñ¿Ì

ÔÚ°ÑÎÕÁËNginxÔÚÊÓÆµÓÅ»¯·½ÃæµÄ»ù´¡ÄÜÁ¦Ö®ºó£¬ÎÒÃDZØÒª½øÒ»²½Éî¿Ì£¬½âËøÆä¸ü¸ß¼¶µÄ¸öÐÔ£¬½«ÊÓÆµ²¥·ÅÂÄÀúÍÆÏò¼«Ö¡£ÕâÉæ¼°µ½ÈôºÎÀûÓÃNginx¹¹½¨¸ßЧµÄCDN¼Ü¹¹£¬ÈôºÎ½øÐо«ÃÜ»¯µÄÁ÷Á¿ÖÎÀíºÍ¶¯Ì¬ÏìÓ¦£¬ÒÔ¼°ÈôºÎÓ¦¶ÔÊÓÆµÁ÷ýÌå´«ÊäÖеĸ÷ÀàÌôÕ½¡£

2.1¹¹½¨¸ßЧµÄCDN±ßÔµ½Úµã£º¾Í½ü½Ó¼û£¬½µµÍÑÓ³¤ÄÚÈÝ·Ö·¢ÍøÂ磨CDN£©ÊÇÏÖ´úÊÓÆµÁ÷ýÌå·þÎñ²»³É»òȱµÄ×é³É²¿ÃÅ¡£Nginx×÷ΪһÖָ߻úÄܵÄWeb·þÎñÆ÷£¬ÌìÈ»ÊʺÏ×÷ΪCDNµÄ±ßÔµ½Úµã¡£Í¨¹ýÔÚÈ«ÇòÁìÓòÄÚ²¿ÊðNginx·þÎñÆ÷£¬Äܹ»½«ÊÓÆµÄÚÈÝ»º´æµ½ÀëÓû§×î½üµÄµØÀíµØÎ»£¬´Ó?¶øÏÔÖø½µµÍ½Ó¼ûÑÓ³¤£¬Ìá¸ß²¥·ÅÁ÷³©¶È¡£

Nginx×÷Ϊ»ØÔ´´úÀí:CDN±ßÔµ½Úµã£¨Nginx£©ÕƹÜÏìÀûÓû§µÄÒªÇó¡£µ±Óû§ÒªÇóÊÓÆµÇÐÆ¬Ê±£¬ÈôÊDZß??Ôµ½Úµã»º´æÖв»´æÔÚ£¬Nginx»á×÷Ϊ´ú?Àí£¬ÏòÔ´Õ¾£¨»òÉÏÒ»¼¶»º´æ½Úµã£©ÌáÒéÒªÇ󣬻ñÈ¡ÄÚÈÝ£¬²¢½«ÄÚÈÝ·µ»Ø¸øÓû§£¬Í¬Ê±½«ÄÚÈÝ»º´æµ½±¾?µØ£¬ÒÔ±¸ºóÐøÓû§½Ó¼û¡£

proxy_passhttp://origin_server;(ÉèÖûØÔ´µØÖ·)proxy_cache_key"$scheme$request_method$host$request_uri";(½ç˵»º´æ¼ü£¬È·±£·ÖÆçÒªÇóµÄ»º´æ¸ôÀë)proxy_cache_valid20030210m;proxy_cache_valid4041m;(Ϊ·ÖÆçÏìÓ¦ÂëÉèÖÃ·ÖÆçµÄ»º´æÓÐЧÆÚ)ÓÅ»¯»ØÔ´Õ½Êõ:proxy_next_upstream:ÅäÖõ±Ô´·þÎñÆ÷³öÏÖÃýÎó£¨ÈçÏνӳ¬Ê±¡¢HTTPÃýÎó£©Ê±£¬NginxÊÇ·ñ³¢ÊÔÏνÓÏÂÒ»¸öÉÏÓηþÎñÆ÷¡£

proxy_connect_timeout,proxy_send_timeout,proxy_read_timeout:¾«Ãܵ÷ÕûÏνӡ¢·¢ËͺͶÁÈ¡³¬²»¶Ï¼ä£¬ÒÔÓ¦¶ÔÍøÂç²»²»±äµÄÇé¿ö£¬Ô¤·À²»ÓÃÒªµÄÏνÓÖжÏ¡£CDN½Úµã¼äµÄЭͬ:ÔÚ¸ü¸´ÔÓµÄCDN¼Ü¹¹ÖУ¬Nginx»¹Äܹ»Í¨¹ýproxy_cache_revalidateºÍproxy_cache_min_usesµÈ?Ö¸ÁʵÏÖ½Úµã¼äµÄ»º´æÍ¬²½ºÍÓÐЧÐÔУÑ飬½øÒ»²½Ìá¸ßÕûÌ建´æÉäÖÐÂÊ¡£

2.2ÖÇÄÜÁ÷Á¿µ÷¶Å×ë¸ºÔØÆ½ºâ£ºÓ¦¶Ô·åÖµ£¬±£ÏÕ¿ÉÓÃÐÔÊÓÆµ·þÎñµÄÁ÷Á¿ÍùÍùÓµÓÐÍ»·¢ÐÔ£¬ÓÈÆäÊÇÔÚÈȵãÈüÊÂÖ±²¥»ò³ÁÒªÊÂÎñ°ä²¼Ê±¡£NginxµÄ¸ºÔØÆ½ºâÄÜÁ¦¿ÉÄÜÓÐЧµØ½«Á÷Á¿·ÖÉ¢µ½¶à¸öºó¶Ë·þÎñÆ÷£¬Ô¤·Àµ¥µã¹ýÔØ£¬È·±£·þÎñµÄ²»±ä¿ÉÓá£

¶àÖÖ¸ºÔØÆ½ºâËã·¨:NginxÖ§³Ö¶àÖÖ¸ºÔØÆ½ºâËã·¨£¬ÈçÂÖѯ(round-robin)¡¢¼ÓȨÂÖѯ(weight)¡¢IP¹þÏ£(ip_hash)µÈ¡£upstreambackend_servers{server192.168.1.10;server192.168.1.11weight=3;}½¡È«²é³­:NginxÄܹ»ÅäÖý¡È«²é³­»úÔ죬×Ô¶¯ÌÞ³ý²»½¡È«µÄºó¶Ë·þÎñÆ÷£¬²¢?½«Á÷Á¿µ¼Ïò½¡È«µÄ·þÎñÆ÷£¬Ìá¸ßÁËϵͳµÄ׳ʵÐÔ¡£

health_checkinterval=5sfails=3passes=2uri=/health;(±ØÒªngx_http_upstream_hc_module)»ùÓÚµØÀíµØÎ»µÄµ÷¶È:ͨ¹ý¹²Í¬GeoIPÄ£¿é»ò±í²¿·þÎñ£¬NginxÄܹ»ÊµÏÖ»ùÓÚÓû§µØÀíµØÎ»µÄÁ÷Á¿µ÷¶È£¬½«Óû§Êèµ¼ÖÁµØÀíµØÎ»×î½ü¡¢ÍøÂç×îÓŵķþÎñÆ÷¼¯Èº£¬½øÒ»²½?½µµÍÑÓ³¤¡£

2.3¶¯Ì¬ÄÚÈݼӿìÓëתÂëÓÅ»¯£¨½áºÏµÚÈý·½Ä£¿é»ò·þÎñ£©¹ÌÈ»NginxÖØÒªÉÆÓÚ¾²Ì¬ÄÚÈÝ·Ö·¢£¬µ«Í¨¹ý¼¯³ÉµÚÈý·½Ä£¿é»òÓëרҵµÄתÂë·þÎñ¹²Í¬£¬NginxÒ²ÄÜÔÚ¶¯Ì¬ÄÚÈݵÄÌìÉúºÍ¼Ó¿ì·½Ãæ²ûÑï×÷Óá£

Lua¾ç±¾¼¯³É(ngx_lua):ÀûÓÃngx_luaÄ£¿é£¬Äܹ»ÔÚNginxÄÚ²¿Ö´ÐÐLua¾ç±¾£¬ÊµÏÖ¸ü¸´ÔÓµÄÒµÎñÂß¼­£¬ÀýÈ綯̬ÌìÉú²¥·ÅÁÐ±í¡¢½øÐÐʵʱµÄÊý¾Ýͳ¼ÆºÍ·ÖÎö£¬ÉõÖÁÄܹ»¼¯³ÉһЩµ¥Ò»µÄתÂëÂß¼­¡£ÓëתÂë·þÎñ¼¯³É:NginxÄܹ»×÷Ϊǰ¶Ë´úÀí£¬½«Óû§µÄתÂëÒªÇóת·¢¸øºó¶ËµÄתÂ뼯Ⱥ¡£

µ±×ªÂëʵÏÖºó£¬NginxÔÙ½«×ªÂëºóµÄÊÓÆµÎļþ¸ßЧµØ·Ö·¢¸øÓû§¡£ÕâÖÖ·½Ê½½«NginxµÄ¸ß»úÄÜI/OÄÜÁ¦ÓëרҵתÂë·þÎñµÄÍÆËãÄÜÁ¦½áºÏÆðÀ´£¬ÊµÏÖÁË×îÓÅ»¯µÄÊÓÆµ´¦ÖÃÁ÷³Ì¡£video_streaming_module(µÚÈý·½):һЩµÚÈý·½NginxÄ£¿é£¬Èçngx_http_vhost_traffic_status_moduleÄܹ»ÌṩÁ÷Á¿¼à¿Ø£¬¶øngx_http_flv_module»ò¸üרҵµÄÁ÷ýÌåÄ£¿é£¬Ôò¿ÉÒÔÎªÌØ¶¨³¡¾°Ìṩ¸üµ×²ãµÄÖ§³Ö¡£

2.4°²È«·À»¤ÓëÏÞÁ÷£º±£ÏÕ²»±ä£¬Õмܹ¥»÷ÊÓÆµ·þÎñÃæ¶Ôן÷ÀలȫÍþв£¬ÈçDDoS¹¥»÷¡¢µÁÁ´¡¢¶ñÒâÅÀ³æµÈ¡£NginxÌṩÁË׳´óµÄ?°²È«·À»¤ºÍÏÞÁ÷»úÔ죬ΪÊÓÆµÁ÷ýÌåµÄ²»±äÔËÐб£¼Ý»¤º½¡£

DDoS·À»¤:limit_reqÄ£¿é:ÏÞ¶ÈÀ´×ÔͳһIPµØÖ·µÄÒªÇóƵÂÊ£¬ÓÐЧÕмܱ©?Á¦ÆÆ½âºÍÁ÷Á¿¹¥»÷¡£limit_req_zone$binary_remote_addrzone=mylimit:10mrate=10r/s;location/{limit_reqzone=mylimitburst=20nodelay;}limit_connÄ£¿é:ÏÞ¶ÈͳһIPµØÖ·µÄ²¢·¢ÏνÓÊý¡£

ngx_http_geo_module:ÆÁ±ÎÀ´×ÔÒÑÖª¶ñÒâIP¶Î»òÌØ¶¨¹ú¶ÈµÄ½Ó¼û¡£µÁÁ´·À»¤(Referer²é³­):²é³­ÒªÇóµÄRefererÍ·£¬Ö»ÔÊÐíÀ´×ÔÖ¸¶¨ÓòÃûµÄ½Ó¼û£¬Ô¤·ÀÊÓÆµ±»ÆäËûÍøÕ¾·¸·¨ÒýÓá£valid_referersnoneblocked*.example.comexample.com;if($invalid_referer){return403;}URLÊðÃû:ͨ¹ý¸øÊÓÆµURLÔö³¤¹¦·ò´ÁºÍÊðÃû²ÎÊý£¬È·±£Ö»ÓÐÔÚÓÐЧÆÚÄÚÇÒ²ÎÊýÕýÈ·µÄÒªÇóÄÜÁ¦½Ó¼ûÊÓÆµ£¬Ô¤·ÀURL±»ÀÄÓá£

2.5»úÄÜ¼à¿ØÓëµ÷ÓÅ£º³ÖÐøÓÅ»¯£¬×êÓª¼«Ö¡°100%ÊÓÆµÓÅ»¯¡±²¢·ÇÒ»»Ó¶ø¾Í£¬¶øÊDZØÒª³ÖÐøµÄ¼à¿ØºÍµ÷ÓÅ¡£

Nginx½Ó¼ûÈÕÖ¾ÓëÃýÎóÈÕÖ¾:·ÖÎöÈÕÖ¾Äܹ»·¢ÏÖDZÔÚµÄÎÊÌ⣬Èç¸ßÑÓ³¤ÒªÇó¡¢ÃýÎóÏìÓ¦µÈ¡£Nginx״̬¼à¿Ø:ʹÓÃngx_http_stub_status_module»òµÚÈý·½¼à¿Ø¹¤¾ß£¨ÈçPrometheus+Grafana£©À´ÊµÊ±¼à¿ØNginxµÄÏνÓÊý¡¢ÒªÇóÊý¡¢»º´æÉäÖÐÂʵȹؼüÖ¸±ê¡£

ϵͳ¼¶¼à¿Ø:½áºÏ·þÎñÆ÷µÄCPU¡¢ÄÚ´æ¡¢´ÅÅÌI/O¡¢ÍøÂçÁ÷Á¿µÈϵͳ¼¶Ö¸±ê£¬È«ÃæÆÀ¹ÀNginxµÄÔËÐÐ״̬¡£²ÎÊýµ÷ÓÅ:ƾ¾Ý¼à¿ØÊý¾Ý£¬¶ÔNginxµÄworker¹ý³ÌÊý¡¢ÏνÓÊý¡¢»º³åÇø´óÓס¢»º´æÅäÖõȲÎÊý½øÐо«ÃÜ»¯µ÷Õû£¬ÒÔ´ïµ½×î¼Ñ»úÄÜ¡£

ÀýÈ磬µ÷Õûworker_connectionsÀ´Æ¥Åä·þÎñÆ÷µÄCPUÖ÷ÌâÊýºÍÏÖʵ¸ºÔØ¡£

½áÂÛ£ºNginx£¬¸³ÄÜÎÞÏÞÁ÷³©µÄÊÓÆµÂÄÀú

ͨ¹ýÉî¿Ì½âÎöNginxÔÚ¾²Ì¬Îļþ·þÎñ¡¢HTTP/2ºÍ̸֧³Ö¡¢TCPBBRÓÅ»¯¡¢HLS/DASHºÍ̸´¦Öá¢CDN¹¹½¨¡¢ÖÇÄÜÁ÷Á¿µ÷¶È¡¢°²È«·À»¤ÒÔ¼°³ÖÐø¼à¿ØµÈ?·½ÃæµÄ׳´óÄÜÁ¦£¬ÎÒÃÇÄܹ»Ç峺µØ¿´µ½NginxÈôºÎ³ÉΪʵÏÖ¡°100%ÊÓÆµÓÅ»¯¡±µÄ¹Ø¼üÀûÆ÷¡£

Nginxƾ½èÆä¸ß»úÄÜ¡¢¸ß²¢·¢´¦ÖÃÄÜÁ¦¡¢½Ã½ÝµÄÅäÖÃÒÔ¼°·á˶µÄÉú̬ϵͳ£¬¿ÉÄÜÓÐЧµØ½â¾öÊÓÆµÁ÷ýÌå·þÎñÖеÄ?¸÷ÀàÍ´µã£¬´Óµ××ÓÉÏÌáÉýÓû§ÅÔ¹ÛÂÄÀú¡£Ëü²»½ö½öÊÇÒ»¸ö·þÎñÆ÷£¬¸üÊǹ¹½¨Ò»¸ö׳´ó¡¢²»±ä¡¢µÍÑÓ³¤ÊÓÆµÁ÷ýÌåÆ½Ì¨µÄ¼áʵ»ùʯ¡£Óµ±§Nginx£¬½âËøÆäÊÓÆµÓÅ»¯Ç±Á¦£¬Ä㽫ÄÜΪÓû§´øÀ´Ç°ËùδÓеÄÁ÷³©ÊÓÌýÏíÊÜ£¬ÔÚÕâ¸ö¾ºÕùÇ¿ÁÒµÄÊÓÆµÊ±ÆÚÍÑÓ±¶ø³ö£¬µãȼÓû§µÄÅÔ¹ÛÖܵ½£¬Ó®µÃÊг¡µÄÇàíù¡£

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