bevictorΰµÂ

Nginx¸³ÄÜÊÓÆµÁ÷ýÌ壺´ÓÈëÃŵ½¾«Í¨ £¬½âËø¸ßЧ²¥·ÅмÍÔª
ÆðÔ´£ºÖ¤È¯Ê±±¨Íø×÷ÕߣºÂí¼Ò»Ô2026-02-17 09:22:24
wwwzqhsauikdwjbfkjabfwqr

Nginx¸³ÄÜÊÓÆµÁ÷ýÌ壺»ù´¡Æª

ÔÚÊý×ÖÄÚÈݱ¬Õ¨µÄʱÆÚ £¬ÊÓÆµÒÔÆäÖ±¹Û¡¢»îÆÃµÄ¸öÐÔ £¬Ñ¸¿ì³ÉΪÐÅÏ¢´«²¼ºÍÓéÀÖÏûDzµÄÖ÷Á÷¡£ÎÞÂÛÊÇÖ±²¥»¥¶¯ £¬»¹Êǵ㲥¹ÛÓ° £¬±³ºó¶¼Àë²»¿ª×³´ó¶ø¸ßЧµÄÊÓÆµÁ÷ýÌå·þÎñÆ÷¡£¶øNginx £¬Õâ¸öÒԸ߻úÄÜ¡¢¸ß²¢·¢Öø³ÆµÄWeb·þÎñÆ÷ £¬ÔçÒѳ¬¹ýÁËÆä×î³õµÄ¶¨Î» £¬³ÉΪ¹¹½¨ÏÖ´ú»¯ÊÓÆµÁ÷ýÌå½â¾ö¹æ»®µÄ»ùʯ¡£

±¾ÎĽ«´øÄú×ß½øNginxµÄÊÓÆµ²¥·ÅÊÀ½ç £¬´Ó»ù´¡¸ÅÏëµ½¸ß¼¶¼¼ÇÉ £¬È«Ãæ½âËøNginxÔÚÊÓÆµ·Ö·¢ÁìÓòµÄÎÞÏÞ¿ÉÄÜ¡£

ΪºÎÑ¡ÔñNginxÀ´²¥·ÅÊÓÆµ£¿

ÔÚ»áÉÌNginxµÄ¾ßÌåÀûÓÃ֮ǰ £¬ÎÒÃÇÏÈÀ´Àí½âһϠ£¬ÎªÊ²Ã´ËüÔÚÊÓÆµ²¥·ÅÁìÓòÈç´ËÊÜÓ­½Ó¡£

¸ß»úÄÜÓë¸ß²¢·¢£ºNginxµÄÊÂÎñÇý¶¯¡¢Òì²½·Ç×èÈûµÄI/OÄ£ÐÍ £¬Ê¹ÆäÔÚ´¦Öú£Á¿²¢·¢ÏνÓʱ²û·¢½Ü³ö¡£Õâ¶ÔÓÚÊÓÆµÁ÷ýÌåÖÁ¹Ø³ÁÒª £¬ÓÉÓÚÓû§±ØÒª²»±ä¡¢Á÷³©µÄ²¥·ÅÂÄÀú £¬¼´±ãÔÚ¶¥·åʱ¶Î £¬·þÎñÆ÷Ò²Ó¦ÄܽÓÊÜס¾Þ´ó?µÄÁ÷Á¿Ñ¹Á¦¡£½Ã½ÝÐÔÓë¿ÉÀ©´óÐÔ£ºNginxÕ¼Óзá˶µÄ?Ä£¿é»¯Éè¼Æ £¬Äܹ»Æ¾¾ÝÏÖʵÐèÒªÇáËÉÀ©´óÖ°ÄÜ¡£

ÕâΪÊÓÆµÁ÷ýÌåµÄ¶¨Ô컯ÐèÒªÌṩÁ˼«´óµÄ·½±ã £¬ÎÞÂÛÊÇÖ§³ÖºÎÖÖÁ÷ýÌåºÍ̸ £¬»¹ÊÇʵÏÖ¸´ÔÓµÄתÂë¡¢¼øÈ¨Âß¼­ £¬Nginx¶¼ÄÜͨ¹ýºÏÀíµÄÅäÖûòµÚÈý·½Ä£¿éÀ´ÊµÏÖ¡£³É±¾Ð§Ò棺Ïà±Å×ÚһЩóÒ×»¯µÄÁ÷ýÌå·þÎñÆ÷½â¾ö¹æ»® £¬Nginx×ÔÉíÊÇ¿ªÔ´Ãâ·ÑµÄ £¬Õâ´ó´ó½µµÍÁËÊÓÆµ·Ö·¢µÄ³É±¾¡£

Æä¸ßЧµÄ×ÊÔ´ÀûÓÃÂÊÒ²ÒâζןüµÍµÄÓ²¼þͶÈë¡£³ÉÊìµÄÉú̬ϵͳ£ºNginxÕ¼ÓÐÖØ´óµÄÓû§ÈºÌåºÍ»îÔ¾µÄÉçÇø £¬ÕâÒâζ×Å·á˶µÄÎĵµ¡¢½Ì³Ì?ºÍ½â¾öÎÊÌâµÄ¹æ»®¡£Óöµ½ÄÑÌâʱ £¬×ÜÄÜÕÒµ½ÏàÓ¦µÄÖ§³Ö¡£

NginxÓëÖ÷Á÷ÊÓÆµÁ÷ýÌåºÍ̸

ҪʵÏÖÊÓÆµµÄ?˳³©²¥·Å £¬Àë²»¿ª¸÷ÀàÁ÷ýÌåºÍ̸µÄÖ§³Ö¡£Nginx¿ÉÄÜͨ¹ý·ÖÆçµÄÄ£¿éºÍÅäÖà £¬Ö§³Ö¶àÖÖÖ÷Á÷ºÍ̸£º

RTMP(Real-TimeMessagingProtocol)£ºRTMPÊÇÒ»ÖÖ»ùÓÚTCPµÄÁ÷ýÌå´«ÊäºÍ̸ £¬ÖØÒªÓÃÓÚÖ±²¥³¡¾°¡£Ëü¿ÉÄÜʵÏÖµÍÑÓ³¤µÄʵʱÒôÊÓÆµ´«Êä £¬¼«¶ÈÊʺÏÓÎÏ·Ö±²¥¡¢ÔÚÏß½ÌÓýµÈ¶ÔʵʱÐÔÒªÇ󼫸ߵÄÀûÓá£NginxÉçÇø°æ×ÔÉí²¢²»Ö±½ÓÖ§³ÖRTMPºÍ̸ £¬µ«Í¨¹ý×°ÖÃnginx-rtmp-moduleÕâ¸öµÚÈý·½Ä£¿é £¬Nginx¾ÍÄÜÒ¡ÉíÒ»±ä £¬³ÉΪ׳´óµÄRTMP·þÎñÆ÷ £¬³ÐÔØÖ±²¥ÍÆÁ÷ºÍ²¥·Å¡£

ÍÆÁ÷£ºÖ±²¥Ô´£¨ÈçOBS¡¢FFmpeg£©½«ÒôÊÓÆµÊý¾Ýͨ¹ýRTMPºÍÌ¸ÍÆË͵½Nginx·þÎñÆ÷¡£À­Á÷£º¹Û¶à¶ËµÄ²¥·ÅÆ÷£¨ÈçVLC¡¢JWPlayer£©Í¨¹ýRTMPºÍ̸´ÓNginx·þÎñÆ÷À­È¡Ö±²¥Á÷¡£

HLS(HTTPLiveStreaming)£ºHLSÊÇÆ»¹û¹«Ë¾ÍƳöµÄÒ»ÖÖ»ùÓÚHTTPµÄÁ÷ýÌå´«ÊäºÍ̸¡£Ëü½«ÊÓÆµÇзֳÉһϵÁÐÓ×µÄ.tsýÌ寬¶ÎÎļþ £¬²¢Ìṩһ¸ö.m3u8µÄ²¥·ÅÁбíÎļþ¡£HLSµÄÓÅÊÆÔÚÓÚÆä¼æÈÝÐÔÇ¿ £¬ÏÕЩËùÓеÄ?É豸ºÍä¯ÀÀÆ÷¶¼Ö§³Ö¡£

ËüÀûÓÃHTTPºÍ̸´«Êä £¬Òò¶øÄܹ»ºÜºÃµØÀûÓÃÏÖÓеÄCDN£¨ContentDeliveryNetwork£©»ù´¡ÉèÊ© £¬ÊµÏÖÈ«ÇòÁìÓòÄڵļ±¾ç·Ö·¢¡£

·Ô쬣ºNginxÄܹ»Í¨¹ýngx_http_slice_module»òµÚÈý·½Ä£¿é£¨Èçnginx-http-flv-module¹²Í¬FFmpeg£©½«ÊÓÆµÇзֳÉ.tsÎļþ¡£²¥·ÅÁÐ±í£ºÌìÉú.m3u8Îļþ £¬Ö¸ÏòÕâЩ.tsÎļþ¡£

²¥·Å£º²¥·ÅÆ÷ͨ¹ýHTTPÒªÇó.m3u8Îļþ £¬¶øºó°¤´ÎÏÂÔØ.tsÎļþ½øÐв¥·Å¡£

DASH(DynamicAdaptiveStreamingoverHTTP)£ºDASHÊÇÒ»ÖÖÊ¢¿ª³ß¶ÈµÄ×ÔÊÊÓ¦±ÈÌØÂÊÁ÷ýÌåºÍ̸ £¬ÓëHLSÀàËÆ £¬Ò²ÊÇ»ùÓÚHTTP¡£DASHµÄÖ÷Ìâ˼ÏëÊÇÆ¾¾ÝÍøÂç´ø¿íºÍÉ豸»úÄÜ £¬¶¯Ì¬µØÎªÓû§Ñ¡Ôñ×îÏàÒ˵ÄÊÓÆµÂëÂÊ £¬´Ó¶øÊµÏÖÁ÷³©µÄ²¥·ÅÂÄÀú £¬¼´±ãÔÚÍøÂçµßô¤µÄÇé¿öÏÂÒ²ÄÜÓÐЧԤ·À¿¨¶Ù¡£

·Ö¶Î£ºÀàËÆÓÚHLS £¬DASHÒ²½«ÊÓÆµÇзֳÉÓ׶Ρ£MPD(MediaPresentationDescription)£ºÒ»¸öXMLÎļþ £¬ÃèÊöÁËÊÓÆµµÄ¿ÉÓ÷ֱæÂÊ¡¢±È?ÌØÂÊ¡¢¹¦·òÐÅÏ¢µÈ¡£²¥?·Å£º²¥·ÅÆ÷½âÎöMPDÎļþ £¬Æ¾¾ÝÍøÂçÇé¿ö¶¯Ì¬Ñ¡ÔñÏÂÔØ²»?ͬÖÊÁ¿µÄÊÓÆµÆ¬¶Î¡£

´î½¨NginxRTMP·þÎñÆ÷£º³õÂÄÀú

ÈÃÎÒÃÇ´Ó×î³£¼ûÒ²ÊÇ×îÓдú?±íÐÔµÄRTMPÖ±²¥ÆðÍ· £¬ÂÄÀúNginxµÄÊÓÆµ²¥·ÅÄÜÁ¦¡£

ǰÌáǰÌ᣺

×°ÖÃNginx£ºÈ·±£ÄãµÄ·þÎñÆ÷ÉÏÒÑ×°ÖÃNginx¡£ÏÂÔØnginx-rtmp-module£ºÄã±ØÒª´ÓGitHubÏÂÔØnginx-rtmp-moduleµÄÔ´Âë¡£

±àÒë×°Öãº

ÏÂÔØNginxÔ´Â룺´ÓNginx¹ÙÍøÏÂÔØÄãÏëÒªµÄNginx°æ±¾Ô­Âë¡£ÏÂÔØnginx-rtmp-module£º´ÓÆäGitHub²Ö¿âÏÂÔØ¡£½âѹ²¢±àÒ룺bashcd/path/to/nginx/source./configure--add-module=/path/to/nginx-rtmp-module--prefix=/usr/local/nginx...(ÆäËûÄã±ØÒªµÄÅäÖÃÑ¡Ïî)makemakeinstall°ÑÎÈ£ºÈôÊÇÄãÒѾ­×°ÖÃÁËNginx £¬²¢ÇÒ²»½öÔ¸³ÁбàÒë £¬Äܹ»Ë¼¿¼Ê¹ÓÃÔ¤±àÒëºÃµÄNginx°ü £¬»òÕß²éÕÒÖ§³Ö¶¯Ì¬¼ÓÔØRTMPÄ£¿éµÄ°æ±¾¡£

µ«ÔÚÏÖʵ³ö²ú»·¾³ÖÐ £¬´ÓÔ´Âë±àÒëͨ³£ÊÇ×î¼ÑÑ¡Ôñ £¬Äܹ»È·±£Ä£¿éµÄ¼æÈÝÐԺͲ»±äÐÔ¡£

ÅäÖÃRTMP·þÎñÆ÷£º

±à?¼­NginxµÄÖ÷ÅäÖÃÎļþ(nginx.conf) £¬Ôö³¤RTMPÄ£¿éµÄÅäÖãº

worker_processesauto;#ƾ¾ÝCPUÖ÷ÌâÊý×Ô¶¯ÉèÖÃevents{worker_connections1024;#ÿ¸öworker¹ý³ÌµÄ×î´óÏνÓÊý}http{includemime.types;default_typeapplication/octet-stream;sendfileon;keepalive_timeout65;server{listen80;server_namelocalhost;location/{roothtml;indexindex.htmlindex.htm;}}}#RTMPÄ£¿éÅäÖÃrtmp{server{listen1935;#RTMPĬÈ϶˿Úchunk_size4096;applicationlive{liveon;#¿ªÆôÖ±²¥Ä£Ê½recordoff;#²»Â¼Ôì £¬ÈôÊDZØÒªÂ¼ÔìÖ±²¥Äܹ»ÉèΪonallowpublish127.0.0.1;#ÔÊÐí±¾µØÍÆÁ÷denypublishall;#²»ÈÝÆäËûIPÍÆÁ÷£¨Æ¾¾ÝÏÖʵÐèÒªµ÷Õû£©allowplayall;#ÔÊÐíËùÓÐIP²¥·Å}}}

Æô¶¯Nginx£º

sudo/usr/local/nginx/sbin/nginx-c/usr/local/nginx/conf/nginx.conf

ÍÆÁ÷²âÊÔ£º

ʹÓÃFFmpeg»òOBSµÈÍÆÁ÷¹¤¾ß £¬½«ÊÓÆµÁ÷ÍÆË͵½ÄãµÄNginxRTMP·þÎñÆ÷£º

FFmpegÍÆÁ÷ºÅÁîʾÀý£ºbashffmpeg-re-iinput.mp4-ccopy-fflvrtmp://your_server_ip/live/stream_keyÆäÖÐinput.mp4ÊÇÄãÒªÍÆÁ÷µÄÊÓÆµÎļþ £¬your_server_ipÊÇÄãµÄNginx·þÎñÆ÷IPµØÖ· £¬stream_keyÊÇÒ»¸ö×Ô½ç˵µÄÁ÷Ãû³Æ £¬ÀýÈçtest_stream¡£

²¥·Å²âÊÔ£º

ʹÓÃÖ§³ÖRTMPºÍ̸µÄ²¥·ÅÆ÷£¨ÈçVLC£© £¬ÔÚ²¥·ÅµØÖ·ÖÐÊäÈërtmp://your_server_ip/live/stream_key¼´¿ÉÅÔ¹ÛÖ±²¥?¡£

ÖÁ´Ë £¬ÎÒÃÇÒѾ­³É¹¦´î½¨ÁËÒ»¸ö»ù´¡µÄNginxRTMPÖ±²¥·þÎñÆ÷ £¬²¢ÊµÏÖÁËÍÆÁ÷ºÍ²¥·ÅµÄ³õ²½²âÊÔ¡£Õâ½ö½öÊÇNginxÊÓÆµ²¥·ÅÄÜÁ¦µÄ±ùɽһ½Ç £¬±ÉÈËÒ»²¿ÃÅ £¬ÎÒÃǽ«Éî¿Ì̽ÇóNginxÔÚHLSºÍDASHºÍ̸ϵÄÀûÓà £¬ÒÔ¼°ÈôºÎͨ¹ý¸÷ÀàÓÅ»¯¼¿Á© £¬½øÒ»²½ÌáÉýÊÓÆµ²¥·ÅµÄ?»úÄܺÍÓû§ÂÄÀú¡£

Nginx¸³ÄÜÊÓÆµÁ÷ýÌ壺½ø½×ÓëÓÅ»¯

ÔÚ°ÑÎÕÁËNginxRTMPµÄ»ù´¡?´î½¨ºó £¬ÎÒÃǽøÒ»²½Éî¿Ì £¬Ë÷ÇóNginxÔÚHLSºÍDASHµÈHTTP-basedÁ÷ýÌåºÍ̸ÖеÄÀûÓà £¬²¢½ø½¨ÈôºÎͨ¹ýһϵÁÐÓÅ»¯Õ½Êõ £¬´òÔì¸ü²»±ä¡¢¸ü¸ßЧ¡¢¸ü¾ßÓû§ÂÄÀúµÄÊÓÆµÁ÷ýÌåÆ½Ì¨¡£

NginxʵÏÖHLS/DASHÖ±²¥Óëµã²¥

ÓëRTMP²»?ͬ £¬HLSºÍDASHÀûÓÃHTTPºÍ̸½øÐд«Êä £¬ÕâʹµÃNginxµÄÔ­ÓÐÓÅÊÆµÃÒÔ³ä·Ö²ûÑï £¬²¢ÇÒ¿ÉÄÜÓëÏÖÓеÄWeb·þÎñÆ÷ºÍCDN»ù´¡ÉèÊ©Î޷켯³É¡£

1.HLS/DASHÖ±²¥£º

ʵÏÖHLS/DASHÖ±²¥Í¨³£±ØÒªÒ»¸ö¡°Ã½Ìå·þÎñÆ÷¡±À´ÕƹÜÊÓÆµµÄתÂë¡¢·Ô쬺ʹò°ü¡£Nginx×ÔÉí²»Ö±½ÓÌṩ׳´óµÄתÂëÖ°ÄÜ £¬µ«ËüÄܹ»Í¨¹ýÓëFFmpegµÈ¹¤¾ßµÄ¹²Í¬ £¬»òÕß¼¯³ÉרÃŵÄýÌå·þÎñÆ÷Ä£¿é£¨ÈçNginx-Media-Streaming-Module£© £¬À´ÊµÏÖHLS/DASHµÄ?Ö±²¥¡£

¹¤×÷Á÷³Ì?£º

ÍÆÁ÷£ºÖ±²¥Ô´£¨ÈçOBS£©½«Ô­Ê¼ÊÓÆµÁ÷ÍÆË͵½Nginx¡£×ªÂëÓë·Ô쬣¨¹Ø¼ü»·½Ú£©£º¹æ»®Ò»£ºNginx+FFmpeg¡£Nginx½Ó¹ÜRTMPÁ÷ £¬¶øºóͨ¹ýexecÖ¸Áî»òngx_http_flv_moduleŲÓÃFFmpeg¶ÔRTMPÁ÷½øÐÐʵʱתÂë¡¢ÇÐÆ¬ £¬²¢ÌìÉú?HLS/DASHÌåʽµÄÎļþ£¨.tsË鯬ºÍ.m3u8/.mpdÁÐ±í£©¡£

¹æ»®¶þ£ºNginx+ýÌå·þÎñÆ÷¡£Nginx½Ó¹ÜRTMPÁ÷ £¬×ª·¢¸ø×¨ÃŵÄýÌå·þÎñÆ÷£¨ÈçSRS,Wowza,Nginx-RTMP-Module¹²Í¬FFmpeg£© £¬ÓÉýÌå·þÎñÆ÷ʵÏÖתÂëºÍ·Ôì¬ £¬¶øºóNginxÔÙ½«ÌìÉú?µÄÎļþͨ¹ýHTTP·þÎñÌṩ³öÈ¥¡£

HTTP·þÎñ£ºNginx×÷ΪWeb·þÎñÆ÷ £¬ÕƹÜÌṩ.m3u8/.mpdÎļþÒÔ¼°.tsýÌ寬¶Î¡£À­Á÷£º¹Û¶à¶ËµÄ²¥·ÅÆ÷ͨ¹ýHTTPÒªÇó.m3u8/.mpdÎļþ £¬¶øºóƾ¾ÝÁÐ±í°¤´ÎÏÂÔØ.tsÎļþ½øÐв¥·Å¡£

NginxÅäÖÃʾÀý(HLS)£º

Èç¹ûÎÒÃÇʹÓÃFFmpeg½«RTMPÁ÷תΪHLS £¬²¢½«HLSÎļþ´æ´¢ÔÚNginxµÄij¸öĿ¼Ï¡£

#...(httpÄ£¿éÅäÖÃ)...#Èç¹ûFFmpegÒÑÅäÖúà £¬½«RTMPÁ÷תΪHLSÎļþµ½/var/www/hls/#²¢ÇÒNginx¼à¿Ø¸ÃĿ¼ÒÔÌṩ·þÎñserver{listen80;server_nameyour_video_domain.com;location/hls{alias/var/www/hls;#HLSÎļþ´æ´¢Ä¿Â¼add_headerCache-Controlno-cache;types{application/vnd.apple.mpegurlm3u8;video/mp2tts;}}#...ÆäËûÅäÖÃ...}#RTMPÄ£¿éÅäÖÃ(ÓÃÓÚ½Ó¹ÜÍÆÁ÷ £¬²¢¿É¹²Í¬execŲÓÃFFmpeg)rtmp{server{listen1935;chunk_size4096;applicationlive{liveon;recordoff;allowpublish127.0.0.1;#ÔÊÐíÍÆÁ÷allowplayall;#¹²Í¬FFmpeg½«RTMPתΪHLS(ÕâÊÇÒ»¸ö¼ò»¯µÄʾÒâ £¬ÏÖʵÅäÖûá¸ü¸´ÔÓ)#trigger_play_actionon;#¹²Í¬ffmpegʵʱתÂë#hlson;#hls_path/var/www/hls;#HLSÎļþÊäǰ·×Ó#hls_fragment5s;#HLSƬ¶Îʱ³¤#hls_playlist_length60s;#²¥·ÅÁÐ±í³¤¶È}}}

×¢Ã÷£ºÉÏÊöRTMPÅäÖÃÖеÄhlsonµÈÊÇnginx-rtmp-moduleÌṩHLSÖ±²¥µÄ?Ö°ÄÜ £¬Ëü»áÔÚºó¶ÜŲÓÃFFmpeg½øÐÐתÂëºÍÇÐÆ¬¡£ÈôÊÇʹÓÃ±í²¿FFmpeg¾ç±¾ £¬Ôò±ØÒª¸ü¾«ÃܵÄÅäÖá£

2.HLS/DASHµã²¥£º

µã²¥³¡¾°Ï £¬ÊÓÆµÎļþÒѾ­ÌìÉú½áÊø £¬NginxµÄ½ÇÉ«¾Í¼ò»¯Îª¸ßЧµÄHTTPÎļþ·þÎñÆ÷¡£

ÊÓÆµ´æ´¢£º½«ÊÓÆµÎļþ£¨Èç.mp4£©ºÍ¶ÔÓ¦µÄHLS/DASHÌåʽÎļþ£¨.m3u8/.mpd+.ts/.mp4·Ô쬣©´æ´¢?ÔÚNginx¿É½Ó¼ûµÄĿ¼Ï¡£

NginxÅäÖãº

server{listen80;server_nameyour_vod_domain.com;location/vod/{alias/path/to/your/video/files/;#ÊÓÆµÎļþ´æ·ÅĿ¼autoindexon;#¿ÉÑ¡ £¬¿ªÆôĿ¼Áбí £¬·½±ã?µ÷ÊÔ#ΪHLS/DASHÅäÖÃMIMEÀàÐÍtypes{application/vnd.apple.mpegurlm3u8;video/mp2tts;application/dash+xmlmpd;video/mp4mp4;#ÈôÊÇÊÇDASHMp4»òÕßͨ³£mp4}#Õë¶ÔHLS/DASHµÄ»º´æÕ½Êõlocation~\.(m3u8|mpd)${add_headerCache-Controlno-cache;#²¥·ÅÁÐ±í²»½¨ÒéÇ¿»º´æ}location~\.(ts|mp4)${#ýÌ寬¶ÎÄܹ»Ë¼¿¼»º´æ £¬Æ¾¾ÝÏÖʵÇé¿öµ÷Õûexpires1d;add_headerCache-Controlpublic;}}}

NginxÓÅ»¯ÊÓÆµ²¥·ÅµÄÕ½Êõ

ÎÞÂÛÊÇÔÚÖ±²¥»¹Êǵ㲥³¡¾°Ï £¬NginxµÄ»úÄܺÍÓû§ÂÄÀú¶¼Äܹ»Í¨¹ýÒÔÏÂÕ½Êõ½øÐдó·ùÌáÉý£º

¿ªÆôHTTP/2»òHTTP/3£º

ÓÅÊÆ£ºHTTP/2ºÍHTTP/3Ö§³Ö¶à·¸´Óã¨Multiplexing£©ºÍÍ·²¿Ñ¹Ëõ£¨HeaderCompression£© £¬¿ÉÄÜÏÔÖøÏ÷¼õ¼ÓÔØ¹¦·ò £¬ÓÈÆäÊÇÔÚ¼ÓÔØHLS/DASHµÄ´óÁ¿Ó×Îļþʱ¡£HTTP/3»¹ÒýÈëÁËQUICºÍ̸ £¬½øÒ»²½½µµÍÁËÑÓ³¤ºÍ¶ª°üÓ°Ïì¡£

ÅäÖãºnginxserver{listen443sslhttp2;#¿ªÆôHTTPSºÍHTTP/2#...SSLÖ¤ÊéÅäÖÃ...}HTTP/3±ØÒª¶î±íµÄÅäÖúÍÖ§³Ö £¬Í¨³£±ØÒªNginx±àÒëʱ¼¯³Éngtcp2»òquicheµÈ¿â¡£

»º´æÕ½ÊõÓÅ»¯£º

ä¯ÀÀÆ÷»º´æ£º¶ÔÓÚ²»¶Ïʱ¸Ä¹ÛµÄ¾²Ì¬Îļþ£¨È粿Ãŵ㲥µÄýÌ寬¶Î£© £¬Äܹ»ÉèÖúÏÀíµÄexpiresºÍCache-ControlÍ· £¬ÈÃä¯ÀÀÆ÷»º´æÕâЩÎļþ £¬Ï÷¼õ³Á¸´ÏÂÔØ¡£CDN»º´æ£º½«Nginx×÷Ϊ»ØÔ´·þÎñÆ÷ £¬½ÓÈëCDN¡£CDN¿ÉÄÜ»º´æÊÓÆµÎļþµ½È«Çò¸÷µØµÄ½Úµã £¬Óû§Äܹ»´ÓÀë×Ô¼º×î½üµÄ½Úµã»ñÈ¡ÄÚÈÝ £¬¼«´óµØ½µµÍÑÓ³¤ £¬·Ö¹ÜNginxµÄѹÁ¦¡£

NginxµÄÅäÖÃӦȷ±£»ØÔ´ÒªÇóµÄÕýÈ·ÐÔ £¬²¢ºÏÀíÉèÖÃCache-Control¡£

GzipѹËõ£º

ÓÅÊÆ£º¶Ô.m3u8ºÍ.mpdµÈÎı¾Îļþ½øÐÐGzipѹËõ £¬Äܹ»¼õÓ×´«ÊäÌå»ý £¬¼Ó¿ìÎļþÏÂÔØ¿ìÂÊ¡£ÅäÖãºnginxgzipon;gzip_typestext/plaintext/cssapplication/jsonapplication/javascriptapplication/x-javascripttext/xmlapplication/xmlapplication/xml+rsstext/javascriptimage/svg+xml;gzip_proxiedany;#¶Ô´úÀíµÄÏìÓ¦Ò²½øÐÐѹËõ

TCPNODELAYºÍTCPNOPUSH£º

tcp_nodelayon;½ûÓÃNagleËã·¨ £¬Ê¹µÃÓ×µÄÊý¾Ý°ü¿ÉÄܵ±¼´·¢ËÍ £¬¼õÓ×ÑÓ³¤ £¬¶ÔʵʱÐÔÒªÇó¸ßµÄÖ±²¥³¡¾°ÓÈÆäÓÐÒæ¡£tcp_nopushon;ÔÊÐí·¢ËÍÒ»¸ö´øº±¼û¾ÝµÄ×îºóÒ»¸öTCP¶Î £¬Ö®ºóÊÇ´øÓÐEOF±êÖ¾µÄÊý¾Ý°ü £¬ÕâÑùÄܹ»Ï÷¼õÍøÂç´«ÊäµÄ±¨ÎĶÎÊýÁ¿ £¬Ìá¸ßЧÄÜ¡£

ÅäÖãºÍ¨³£ÔÚhttp»òserver¿éÖÐÅäÖá£

ÓÅ»¯Worker¹ý³ÌºÍÏνÓÊý£º

worker_processesauto;£ºÈÃNginxƾ¾ÝCPUÖ÷ÌâÊý×Ô¶¯µ÷Õû¹¤×÷¹ý³ÌÊýÁ¿¡£worker_connections1024;£ºÆ¾¾Ý·þÎñÆ÷ÄÚ´æºÍÏÖʵ²¢·¢ÐèÒªµ÷Õûÿ¸öworker¹ý³ÌµÄ×î´óÏνÓÊý¡£

ʹÓÃBuffer£º

client_body_buffer_size£ºÉèÖÿͻ§¶ËÒªÇóÌåµÄ»º³åÇø´óÓ× £¬¶Ô´¦ÖôóÎļþÉÏ´«?»òWebSocketÏνÓÓÐÓ°Ïì¡£proxy_buffer_sizeºÍproxy_buffers£ºÈôÊÇNginx×÷Ϊ·´Ïò´úÀí £¬±ØÒªºÏÀíÅäÖÃÕâЩ²ÎÊý £¬ÒÔÌá¸ßºó¶Ë·þÎñÆ÷µÄÏìÓ¦¿ìÂÊ¡£

°²È«¼Ó¹Ì£º

¼øÈ¨£º¶ÔÓÚÖ±²¥»òµã²¥ÄÚÈÝ £¬Äܹ»ÊµÏÖURLÊðÃû¡¢TokenÈÏÖ¤µÈ»úÔì £¬Ô¤·ÀµÁÁ´¡£½Ó¼û½ÚÔ죺ʹÓÃallowºÍdenyÖ¸ÁîÏÞ¶ÈÌØ¶¨IP»òÍøÂçµÄ½Ó¼û¡£HTTPS£ºÇ¿ÁÒ½¨ÒéʹÓÃHTTPS¼ÓÃÜ´«?Êä £¬±£»¤Êý¾Ý°²È«ºÍÓû§ÒþÖÔ¡£

Nginx×÷ΪÊÓÆµ·Ö·¢CDNµÄ×÷ÓÃ

µ±?ÊÓÆµÁ÷Á¿¼¤Ôöʱ £¬µ¥Ì¨Nginx·þÎñÆ÷½«ÄÑÒÔ½ÓÊÜ¡£Õâʱ £¬NginxÄܹ»×÷ΪCDNµÄ³ÁÒª×é³É²¿ÃÅ£º

±ßÔµ½Úµã£ºNginx²¿ÊðÔÚCDNµÄ¸÷¸ö±ßÔµ½Úµã £¬»º´æ?´óÁ¿µÄÊÓÆµÄÚÈÝ¡£µ±Óû§ÌáÒéÒªÇóʱ £¬ÒªÇó»á·Óɵ½ÀëÓû§×î½üµÄ±ßÔµ½Úµã £¬´ÓNginx½ÚµãÖ±½Ó»ñÈ¡ÊÓÆµ £¬ÊµÏÖµÍÑÓ³¤¡¢¸ß¿ìÂʵIJ¥·Å¡£»ØÔ´£ºµ±±ßÔµ½Úµã»º´æÖÐûÓÐЧ»§±ØÒªµÄÊÓÆµÊ± £¬Nginx»áÏòÔ´Õ¾£¨¿ÉÄÜÒ²ÊÇÒ»¸öNginx¼¯Èº»òרÃŵĴ洢·þÎñÆ÷£©ÌáÒé»ØÔ´ÒªÇó £¬»ñÈ¡ÊÓÆµ²¢»º´æµ½±ßÔµ½Úµã £¬¶øºó·µ»Ø¸øÓû§¡£

¸ºÔØÆ½ºâ£ºNginxÒ²Äܹ»²¿ÊðÔÚÔ´Õ¾×÷Ϊ¸ºÔØÆ½ºâÆ÷ £¬½«À´×ÔCDN±ßÔµ½ÚµãµÄÒªÇó·Ö·¢µ½ºó¶ËµÄ¶à¸öýÌå·þÎñÆ÷»ò´æ?´¢·þÎñÆ÷ £¬È·±£Ô´Õ¾µÄ²»±äÐԺ͸߿ÉÓÃÐÔ¡£

×ܽá

NginxÒÔÆä׿ԽµÄ»úÄÜ¡¢½Ã½ÝµÄÅäÖúÍ׳´óµÄÉçÇøÖ§³Ö £¬ÔÚÊÓÆµÁ÷ýÌåÁìÓòչʾ³ö¾Þ´óµÄDZÁ¦¡£´Ó×î³õµÄRTMPÖ±²¥ £¬µ½HLS¡¢DASHµÄ¿í·ºÀûÓà £¬ÔÙµ½×÷ΪCDNÖ÷Ìâ½Úµã·Ö·¢º£Á¿ÊÓÆµ £¬NginxʼÖÕÊǹ¹½¨¸ßЧ¡¢²»±ä¡¢¿ÉÀ©´óÊÓÆµ²¥·Å½â¾ö¹æ»®µÄÃÎÏëÑ¡Ôñ¡£

ͨ¹ýÉî¿ÌÀí½â¸÷ÀàÁ÷ýÌåºÍ̸ £¬²¢½áºÏNginxµÄ¸÷ÀàÓÅ»¯Õ½Êõ £¬ÄúÄܹ»ÇáËÉ´òÔì³öÂú×ãÓû§ÐèÒª¡¢Ìṩ¼«Ö¹ÛÓ°ÂÄÀúµÄÊÓÆµÆ½Ì¨¡£ÎÞÂÛÊÇÓ×ÎÒ¿ª·¢Õß»¹ÊÇ´óÐÍÆóÒµ £¬Nginx¶¼ÄܳÉΪÄúÊÓÆµ·Ö·¢Ö®Â·ÉϵĵÃÁ¦¸±ÊÖ £¬ÖúÄú½âËøÊÓÆµ²¥·ÅмÍÔª¡£

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