Nginx£¬Ò»¸öÄã¿ÉÄÜÊìϤÓÖÉúÊèµÄÃû×Ö¡£ÔÚWeb¿ª·¢µÄÌìÏÂÀËüÔçÒÑÊǸßÐÔÄÜ¡¢¸ß²¢·¢µÄ´úÃû´Ê£¬ÎªÎÞÊýÍøÕ¾Ìṩ×ÅÎȹ̿ɿ¿µÄ·þÎñ¡£µ«ÄãÊÇ·ñÖªµÀ£¬Õâλ¡°ÍòÄÜÑ¡ÊÖ¡±ÔÚÊÓÆµ²¥?·ÅÁìÓòͬÑù´ó·ÅÒì²Ê£¿Ëü²»µ«½öÊÇÒ»¸ö¼òÆÓµÄÎļþ·þÎñÆ÷£¬¸üÊÇÒ»¸öÄܹ»´¦Öóͷ£ÖØ´óÁ÷ýÌåÐÒé¡¢ÌṩÁ÷ͨÊÓÆµÌåÑéµÄǿʢÒýÇæ¡£
½ñÌ죬ÎÒÃǾÍÀ´½Ò¿ªNginxÔÚÊÓÆµ²¥·ÅÁìÓòµÄÉñÃØÃæÉ´£¬¿´¿´ËüÔõÑù³ÉΪÄã´òÔìÊÓÆµ·þÎñµÄÉñÃØÎäÆ÷¡£
»¥ÁªÍøµÄÿһ´Î±¼ÌÚ£¬¶¼Àë²»¿ªÊÓÆµµÄÉíÓ°¡£´ÓÔçÆÚµÄFlashÊÓÆµ£¬µ½ÏÖÔÚ¸ßÇå¡¢³¬¸ßÇåÒÔÖÂ8KµÄÖ±²¥ºÍµã²¥£¬ÊÓÆµÄÚÈÝµÄÆÕ¼°¼«´ó?µØ¸»ºñÁËÎÒÃǵÄÊý×ÖÉúÑÄ¡£¶øÖ§³ÖÕâÒ»Çеģ¬ÕýÊDZ³ºóĬĬÊÂÇéµÄǿʢ·þÎñÆ÷¡£NginxÖ®ÒÔÊÇÄÜÔÚÊÓÆµ²¥·ÅÁìÓòո¶ͷ½Ç£¬µÃÒæÓÚÆäÆæÒìµÄÉè¼ÆÀíÄîºÍ׿ԽµÄÐÔÄÜÌåÏÖ¡£
¸ßÐÔÄÜÓë¸ß²¢·¢µÄ»ùʯ£ºNginx½ÓÄÉÊÂÎñÇý¶¯¡¢Òì²½·ÇÛÕ±ÕµÄI/OÄ£×Ó£¬ÕâʹµÃËüÄܹ»ÒÔ¼«µÍµÄ×ÊÔ´ÏûºÄ´¦Öóͷ£º£Á¿²¢·¢ÅþÁ¬¡£¹ØÓÚÊÓÆµ²¥·Å¶øÑÔ£¬ÕâÒâζ×Å×ÝÈ»ÓгÉǧÉÏÍòµÄÓû§Í¬Ê±ÔÚÏßԢĿ£¬NginxÒ²ÄÜ´ÓÈÝÓ¦¶Ô£¬°ü¹Üÿ¸öÓû§¶¼ÄÜ»ñµÃÁ÷ͨµÄ²¥·ÅÌåÑ飬×èÖ¹¿¨¶ÙºÍÑÓ³Ù¡£
Õâ¹ØÓÚÖ±²¥·þÎñÓÈΪҪº¦£¬ÈκÎÒ»µãÑÓ³Ù¶¼¿ÉÄܵ¼ÖÂÓû§ÌåÑéµÄ´ó?·ùϽµ¡£
ÎÞаµÄÄ£¿é»¯¼Ü¹¹£ºNginxÓµÓÐǿʢµÄÄ£¿é»¯Éè¼Æ£¬ÕâÒâζ×ÅÄã¿ÉÒÔÆ¾Ö¤×Ô¼ºµÄÐèÇó£¬Ñ¡ÔñÐԵؼÓÔØºÍÉèÖÃÖÖÖÖ¹¦Ð§Ä£¿é¡£¹ØÓÚÊÓÆµ²¥·Å£¬Õâ¾ÍÒâζ×ÅÎÒÃÇ¿ÉÒÔʹÓÃÆäÔÉúÖ§³ÖµÄHTTPÐÒ飬Ҳ¿ÉÒÔͨ¹ý×°ÖõÚÈý·½Ä£¿éÀ´Ö§³Ö¸üרҵµÄÁ÷ýÌåÐÒ飬ÈçRTMP¡¢HLS£¨HTTPLiveStreaming£©ºÍDASH£¨DynamicAdaptiveStreamingoverHTTP£©¡£
ÕâÖÖÎÞаÐÔʹµÃNginxÄܹ»Ë³Ó¦ÖÖÖÖÖØ´óµÄÊÓÆµ·þÎñ³¡¾°¡£
HTTPÐÒéµÄ×ÔÈ»ÓÅÊÆ£ºÐí¶àÊÓÆµÄÚÈÝ£¬ÓÈÆäÊǵ㲥ÊÓÆµ£¬¶¼¿ÉÒÔͨ¹ý±ê×¼µÄ?HTTPÐÒé¾ÙÐд«Êä¡£Nginx×÷Ϊһ¿î¶¥¼¶µÄHTTP·þÎñÆ÷£¬×ÔÈ»¾ß±¸ÁË´«ÊäÕâЩÊÓÆµÎļþµÄÄÜÁ¦¡£Í¨¹ý¼òÆÓµÄÉèÖã¬Nginx¾ÍÄܸßЧµØ½«ÊÓÆµÎļþ£¨ÈçMP4¡¢MOVµÈÃûÌã©Ö±½Ó·¢Ë͸ø¿Í»§¶Ë¡£
ÕâÖÖ·½·¨µÄÓÅÊÆÔÚÓÚ¼òÆÓÒ×Ó㬲¢ÇÒÄܹ»³ä?·ÖʹÓÃHTTPÐÒéµÄ»º´æ»úÖÆ£¬½øÒ»²½ÌáÉý¼ÓÔØËÙÂÊ¡£
¶ÔÁ÷ýÌåÐÒéµÄ¼æÈÝÐÔ£ºÖ»¹ÜHTTP¿ÉÒÔ´«?ÊäÊÓÆµÎļþ£¬µ«¹ØÓÚÖ±²¥ºÍÐèÒª¸üϸÄ廯¿ØÖƵÄÊÓÆµÁ÷£¬RTMP¡¢HLSºÍDASHµÈÁ÷ýÌåÐÒéÏÔµÃÓÈΪÖ÷Òª¡£Nginx¿ÉÒÔͨ¹ý×°ÖÃnginx-rtmp-moduleÆ·¼¶Èý·½Ä£¿é£¬ÇáËÉʵÏÖ¶ÔRTMPÐÒéµÄÖ§³Ö£¬´Ó¶ø¹¹½¨Ö±²¥·þÎñÆ÷¡£
¶ø¹ØÓÚHLSºÍDASH£¬NginxµÄÔÉú¹¦Ð§ÅäºÏһЩÉèÖã¬Ò²ÄܺܺõØÖ§³ÖÕâЩ˳ӦÐÔÁ÷ýÌåÐÒ飬ËüÃÇÄÜÆ¾Ö¤Óû§µÄÍøÂç״̬¶¯Ì¬µ÷½âÊÓÆµÂëÂÊ£¬Ìṩ×îÓŵIJ¥·ÅÌåÑé¡£
NginxÔÚÊÓÆµ²¥·ÅÁìÓòµÄÓ¦ÓúÜÊÇÆÕ±é£¬ÏÕЩº¸ÇÁË´ÓСÎÒ˽¼Ò²©¿ÍÉϵÄÊÓÆµÇ¶È룬µ½´óÐÍÊÓÆµÆ½Ì¨µÄÖ±²¥ºÍµã²¥·þÎñ¡£ÏÂÃæ£¬ÎÒÃǽ«ÉîÈë̽ÌÖ¼¸¸ö½¹µãµÄÓ¦Óó¡?¾°¡£
µã²¥ÊÓÆµ·þÎñ£ºÕâÊÇNginx×î»ù´¡Ò²×î³£¼ûµÄÊÓÆµ²¥·ÅÓ¦Óá£Äã¿ÉÒÔÔÚNginxµÄÉèÖÃÖÐÖ¸¶¨Ò»¸öĿ¼£¬´æ·ÅÄãµÄÊÓÆµÎļþ£¬È»ºóͨ¹ýHTTPÖ±½Ó»á¼ûÕâЩÎļþ¡£
ÓÅÊÆ£ºÉèÖüòÆÓ£¬Ò×ÓÚ°²ÅÅ£¬Äܹ»Ê¹ÓÃHTTPµÄ»º´æÌØÕ÷¡£
server{listen80;server_nameyour_domain.com;root/var/www/videos;#ÊÓÆµÎļþ´æ·ÅĿ¼location/videos/{autoindexon;#¿ÉÑ¡£º¿ªÆôĿ¼ÁÐ±í£¬Àû±ãä¯ÀÀ}location~*\.(mp4|mov|avi)${expires30d;#ÉèÖûº´æÊ±¼äadd_headerCache-Control"public,must-revalidate";}}
ÊÂÇéÔÀí£ºÓû§Í¨¹ýä¯ÀÀÆ÷»á¼ûhttp://your_domain.com/videos/your_video.mp4£¬Nginxƾ֤ÉèÖÃÕÒµ½¶ÔÓ¦µÄÎļþ£¬²¢Í¨¹ýHTTPÐÒ齫Æä´«Ê䏸ä¯ÀÀÆ÷¡£ä¯ÀÀÆ÷ÆÊÎöHTTPÏìÓ¦£¬×îÏȲ¥·ÅÊÓÆµ¡£
Ö±²¥·þÎñ£¨RTMP£©£º¹ØÓÚÐèҪʵʱ´«?ÊäµÄ?Ö±²¥ÄÚÈÝ£¬RTMP£¨Real-TimeMessagingProtocol£©ÊÇÏÖÔÚÓ¦ÓÃ×îÆÕ±éµÄÐÒéÖ®Ò»¡£Nginx¿ÉÒÔͨ¹ýnginx-rtmp-moduleÄ£¿é£¬Ò¡ÉíÒ»Äð³ÉΪһ¸ö¹¦Ð§Ç¿Ê¢µÄRTMPÁ÷ýÌå·þÎñÆ÷¡£
³¡¾°£ºÓÎÏ·Ö±²¥¡¢ÌåÓýÈüÊÂÖ±²¥¡¢ÏßÉϾۻáÖ±²¥¡¢½ÌÓýÖ±²¥µÈ¡£
ÓÅÊÆ£ºµÍÑÓ³Ù£¬ÊʺÏʵʱ»¥¶¯³¡¾°£¬Ö§³ÖH.264µÈÖ÷Á÷±àÂëÃûÌá£
NginxÉèÖÃʾÀý£¨¼òÒª£©£ºÊ×ÏÈÐèҪװÖôøÓÐnginx-rtmp-moduleµÄNginx¡£
#ÔØÈëRTMPÄ£¿éload_modulemodules/ngx_rtmp_module.so;http{#...(HTTPÏà¹ØÉèÖÃ)...}rtmp{server{listen1935;#RTMPĬÈ϶˿Úchunk_size4096;applicationlive{liveon;recordoff;#¿ÉÑ¡£ºÊÇ·ñÂ¼ÖÆÖ±²¥Á÷allowpublish127.0.0.1;#ÔÊÐí±¾»úÐû²¼Á÷allowplayall;#ÔÊÐíËùÓÐÈ˲¥·Å}}}
ÊÂÇéÔÀí£ºÖ±²¥ÍÆÁ÷¶Ë£¨ÈçOBS£©½«ÊÓÆµÁ÷ÍÆË͵½Nginx·þÎñÆ÷µÄRTMPµØÖ·£¨Èçrtmp://your_domain.com/live/stream_key£©¡£NginxÎüÊÕµ½Á÷ºó£¬½«Æä·Ö·¢¸øÔ¢Ä¿¶Ë¡£Ô¢Ä¿¶Ë¿ÉÒÔʹÓÃÖ§³ÖRTMPÐÒéµÄ²¥·ÅÆ÷£¨ÈçVLC¡¢PotPlayer£©»òÕß½«RTMPÁ÷ת»»ÎªHTTP-FLV/HLS/DASHµÈÃûÌã¬ÔÙͨ¹ýWeb²¥·ÅÆ÷¾ÙÐв¥·Å¡£
˳ӦÐÔÁ÷ýÌ壨HLS/DASH£©£ºËæ×ÅÒÆ¶¯»¥ÁªÍøµÄÆÕ¼°£¬ÊÓÆµ²¥·ÅÔ½À´Ô½ÐèÒªÓ¦¶Ô¶à±äµÄ´ø¿íÇéÐΡ£HLSºÍDASHÐÒéÓ¦Ô˶øÉú£¬ËüÃÇÄܽ«ÊÓÆµÎļþÖ§½â³ÉСƬ¶Ï£¬²¢Ìṩһ¸öË÷ÒýÎļþ£¬²¥·ÅÆ÷ƾ֤Ŀ½ñÍøÂç״̬£¬ÖÇÄܵØÑ¡Ôñ²î±ðÂëÂʵÄÊÓÆµÆ¬¶Ï¾ÙÐв¥·Å£¬´Ó¶øÊµÏÖ¡°×Ô˳Ӧ¡±µÄÁ÷ͨÌåÑé¡£
NginxÔÚÖ§³ÖHLSºÍDASH·½ÃæÒ²ÊÎÑÝ×ÅÖ÷Òª½ÇÉ«¡£
³¡¾°£º¾ø´ó´ó¶¼ÏÖ´úÊÓÆµÆ½Ì¨£¬°üÀ¨Netflix¡¢YouTube¡¢¸÷´óÊÓÆµÍøÕ¾µÄµã²¥ºÍÖ±²¥¡£ÓÅÊÆ£ºË³Ó¦ÐÔÇ¿£¬ÔÚÍøÂ粨¶¯Ê±Ò²ÄÜÌṩÏà¶ÔÁ÷ͨµÄ?²¥·Å£»Ò×ÓÚ»º´æ£¬Ìá¸ß·Ö·¢Ð§ÂÊ¡£NginxÉèÖÃÒªµã£ºHLS£ºÍ¨³£ÐèÒªÒ»¸öýÌå·þÎñÆ÷£¨ÈçFFmpeg¡¢Nginx-RTMP-ModuleÅäºÏFFmpeg£©½«ÔʼÊÓÆµÁ÷תÂë³ÉHLSÃûÌã¨.m3u8Ë÷ÒýÎļþºÍ.tsÊÓÆµÆ¬¶Ï£©¡£
NginxÔòÈÏÕæ½«ÕâЩHLSÎļþͨ¹ýHTTP¾ÙÐзַ¢¡£DASH£ºÀàËÆÓÚHLS£¬DASHÒ²ÐèÒª½«ÊÓÆµÇÐÆ¬£¬²¢ÌìÉú?.mpd£¨MediaPresentationDescription£©Ë÷ÒýÎļþ¡£NginxͬÑùÈÏÕæÍ¨¹ýHTTP¾ÙÐиßЧ·Ö·¢¡£Nginx×÷Ϊ·Ö·¢·þÎñÆ÷£ºÎÞÂÛHLSÕÕ¾ÉDASH£¬NginxµÄ½¹µã×÷ÓÃÊÇ×÷Ϊ¸ßЧµÄHTTPÎļþ·þÎñÆ÷£¬¿ìËÙ¡¢Îȹ̵ØÏò¿Í»§¶Ë·Ö·¢ÕâЩСÊÓÆµÆ¬¶ÏºÍË÷ÒýÎļþ¡£
ÆäÓÅÒìµÄ?»º´æÄÜÁ¦ºÍ²¢·¢´¦Öóͷ£ÄÜÁ¦£¬Ê¹µÃHLS/DASHÁ÷ýÌå·Ö·¢³ÉΪ¿ÉÄÜ¡£
£¨Î´Íê´ýÐø£¬ÏÂÒ»²¿·Ö½«¸üÉîÈëµØÌ½ÌÖNginxÔÚÊÓÆµ²¥·ÅÖеÄÓÅ»¯¼¼ÇÉÒÔ¼°ÆäÔÚCDNÖеÄ×÷Óᣣ©
ÔÚÉÏÒ»²¿·Ö£¬ÎÒÃÇÏàʶÁËNginxÓëÊÓÆµ²¥·ÅµÄÔ¨Ô´£¬ÒÔ¼°ËüÔڵ㲥¡¢Ö±²¥ºÍ˳ӦÐÔÁ÷ýÌå·½ÃæµÄ»ù´¡Ó¦Óá£NginxÒÀ¸½Æä¸ßÐÔÄÜ¡¢¸ß²¢·¢µÄ´¦Öóͷ£ÄÜÁ¦ÒÔ¼°ÎÞаµÄÄ£¿é»¯¼Ü¹¹£¬ÒѾ³ÉΪ¹¹½¨ÊÓÆµ·þÎñ²»¿É»òȱµÄÒ»²¿·Ö¡£ÒªÕæÕýʩչNginxÔÚÊÓÆµ²¥·ÅÖеÄDZÁ¦£¬»¹ÐèÒª¸üÉîÈëµØÏàʶÆäÓÅ»¯¼¼ÇÉ£¬ÒÔ¼°ËüÔÚ¸üÁÉÀ«µÄCDN£¨ÄÚÈÝ·Ö·¢ÍøÂ磩ϵͳÖеĽÇÉ«¡£
Èý¡¢NginxÊÓÆµ²¥·ÅÐÔÄÜÓÅ»¯£ºÈÃÁ÷ͨÌåÑé¸ü½øÒ»²½
ËäÈ»Nginx×Ô¼ºÐÔÄÜ׿Խ£¬µ«ÔÚÃæÁÙº£Á¿µÄÊÓÆµÁ÷Á¿Ê±£¬Ï¸Ä廯µÄÓÅ»¯Äܹ»ÏÔÖøÌáÉýÓû§ÌåÑ飬½µµÍ·þÎñÆ÷ѹÁ¦¡£
»º³åÇøÉèÖõ÷ÓÅ£ºNginxÔÚ´¦Öóͷ£ÇëÇóʱ»áʹÓûº³åÇø¡£ºÏÀíÉèÖÃÕâЩ»º³åÇø£¬¿ÉÒÔïÔÌ´ÅÅÌI/O£¬Ìá¸ßÊý¾Ý´«ÊäЧÂÊ¡£
client_body_buffer_size£º¿Í»§¶ËÇëÇóÌåµÄ?¾Þϸ£¬¹ØÓÚÉÏ´«ÊÓÆµ»òÉæ¼°ÖØ´óÇëÇóʱÐèÒª¹Ø×¢¡£proxy_buffer_sizeºÍproxy_buffers£ºµ±Nginx×÷Ϊ·´Ïò´úÀíʱ£¬ÕâЩ²ÎÊý¾öÒéÁËËü´Óºó¶Ë·þÎñÆ÷¶ÁÈ¡ÏìÓ¦µÄ»º³åÇø¾ÞϸºÍÊýÄ¿¡£
¹ØÓÚÊÓÆµÁ÷£¬Ò»¸ö½Ï´óµÄproxy_buffersºÍproxy_buffer_size¿ÉÒÔÈ·±£Ò»´ÎÐÔ¶ÁÈ¡¸ü´ó¶¼¾Ý£¬ïÔÌÆµÈÔµÄI/O²Ù×÷¡£sendfileon;£ºÕâ¸öÖ¸ÁîÔÊÐíNginxÖ±½Ó½«Îļþ´ÓÄں˿ռ䷢Ë͵½ÍøÂç½Ó¿Ú£¬ÈƹýÓû§¿Õ¼ä£¬¼«´óµØïÔÌÁËCPUµÄÏûºÄºÍÄڴ濽±´£¬¹ØÓÚ´«?Êä´óÎļþ£¨ÈçÊÓÆµ£©Ð§¹ûÏÔÖø¡£
aiothreads;£º¹ØÓÚÐèÒª¸üϸÄåI/O¿ØÖƵij¡?¾°£¬¿ÉÒÔ˼Á¿¿ªÆôÒì²½?I/O£¨AIO£©¡£aiothreadsÖ¸Áî¿ÉÒÔÔÚNginxµÄworkerÀú³ÌÖÐʹÓÃÏ̳߳ØÀ´´¦Öóͷ£I/O²Ù×÷£¬ÕâÓÐÖúÓÚÔÚ¶àºËCPUÇéÐÎϽøÒ»²½ÌáÉýI/OÐÔÄÜ¡£
ÅþÁ¬ÓëÇëÇóÏÞÖÆ£ºÎªÁ˱ÜÃâ¶ñÒâ¹¥»÷»òÉèÖò»µ±µ¼Ö·þÎñÆ÷¹ýÔØ£¬¶ÔÅþÁ¬ºÍÇëÇó¾ÙÐкÏÀíµÄÏÞÖÆÊÇÐëÒªµÄ¡£
worker_connections£ºÉèÖÃÿ¸öworkerÀú³Ì¿ÉÒÔͬʱ´¦Öóͷ£µÄ×î´ó?ÅþÁ¬Êý¡£limit_conn_zoneºÍlimit_conn£ºÏÞÖÆÍ³Ò»IPµØÖ·ÔÚͳһʱ¼ä¶ÎÄÚ¿ÉÒÔ½¨ÉèµÄÅþÁ¬Êý£¬±ÜÃâDDoS¹¥»÷¡£limit_req_zoneºÍlimit_req£ºÏÞÖÆÀ´×ÔͳһIPµØÖ·µÄÇëÇóËÙÂÊ£¬±ÜÃâÅÀ³æ»òÀÄÓá£
»º´æÕ½ÂÔ£ºNginxǿʢµÄ»º´æ?ÄÜÁ¦¹ØÓÚÊÓÆµ·Ö·¢ÖÁ¹ØÖ÷Òª¡£
HTTP»º´æ£º¹ØÓڵ㲥ÊÓÆµ£¬¿ÉÒÔͨ¹ýexpiresºÍadd_headerCache-ControlÖ¸ÁîÀ´¿ØÖƿͻ§¶Ëä¯ÀÀÆ÷ºÍÖÐÐÄ´úÀíµÄ»º´æÕ½ÂÔ£¬Óû§Ôٴλá¼ûʱ¿ÉÖ±½Ó´ÓÍâµØ»ò×î½üµÄ»º´æ½Úµã¼ÓÔØ£¬ïÔÌ·þÎñÆ÷ѹÁ¦¡£
ProxyCache£ºNginx¿ÉÒÔÉèÖÃΪ½«ºó¶ËÊÓÆµ·þÎñÆ÷µÄÄÚÈÝ»º´æµ½ÍâµØ´ÅÅÌ¡£µ±Óû§ÇëÇóÊÓÆµÊ±£¬Nginx»áÊ×Ïȼì²é±¾?µØ»º´æ¡£ÈôÊÇ»º´æÖÀÖУ¬ÔòÖ±½Ó·µ»Ø£¬´ó´óÌá¸ßÁËÏìÓ¦ËÙÂÊ¡£
http{proxy_cache_path/var/cache/nginxlevels=1:2keys_zone=video_cache:10mmax_size=10ginactive=60m;server{location/{proxy_passhttp://backend_video_server;proxy_cachevideo_cache;proxy_cache_valid20030210m;#»º´æ200ºÍ302״̬ÂëµÄÏìÓ¦10·ÖÖÓproxy_cache_key"$scheme$request_method$host$request_uri";add_headerX-Cache-Status$upstream_cache_status;#Àû±ãµ÷ÊÔ£¬Éó²é»º´æ×´Ì¬}}}
GzipѹËõ£ºËäÈ»ÊÓÆµÎļþ×Ô¼ºÍ¨³£ÒѾ¾ÓÉѹËõ£¬µ«¹ØÓÚһЩÎı¾ÉèÖÃÎļþ£¨ÈçHLSµÄm3u8Îļþ£¬DASHµÄmpdÎļþ£©ÒÔ¼°Ö±²¥Á÷µÄ¸¨ÖúÊý¾Ý£¬¿ªÆôGzipѹËõ¿ÉÒÔ½ÚÔ¼´ø¿í£¬Ìá¸ß¼ÓÔØËÙÂÊ¡£nginxgzipon;gzip_typestext/plaintext/cssapplication/jsonapplication/javascripttext/xmlapplication/xmlapplication/xml+rsstext/javascript;
ÔÚ¹¹½¨´ó¹æÄ£ÊÓÆµ·þÎñʱ£¬½ö½öÒÀÀµµ¥Ì¨Nginx·þÎñÆ÷ÊÇÔ¶Ô¶²»·óµÄ¡£Õâʱ£¬Nginx¾Í³ÉΪÁËCDN£¨ContentDeliveryNetwork£©ÏµÍ³ÖеĽ¹µã¡°½Úµã¡±¡£
CDNµÄÊÂÇéÔÀí£ºCDNµÄ½¹µãÍ·ÄÔÊÇÔÚÈ«Çò¹æÄ£ÄÚ°²ÅÅ´ó×ڵķþÎñÆ÷½Úµã£¨PoP£¬PointofPresence£©£¬½«Óû§¾³£»á¼ûµÄÄÚÈÝ£¨ÈçÊÓÆµÎļþ¡¢Ö±²¥Á÷£©»º´æµ½ÀëÓû§×î½üµÄ½ÚµãÉÏ¡£µ±Óû§ÇëÇóÄÚÈÝʱ£¬DNS»á½«ÇëÇóµ¼Ïò¾àÀëÓû§×î½üµÄCDN½Úµã£¬ÓɸýڵãÖ±½ÓÌṩ·þÎñ¡£
±ßÑØ½Úµã£º¾ø´ó´ó¶¼CDN±ßÑØ½Úµã¶¼°²ÅÅÁ˸ßÐÔÄܵÄWeb·þÎñÆ÷£¬¶øNginxÒòÆä׿ԽµÄÐÔÄܺͳÉÊìµÄÉú̬£¬ÊÇCDN±ßÑØ½ÚµãµÄÊ×Ñ¡¡£ËüÈÏÕæ»º´æÀ´×ÔÔ´Õ¾µÄÊÓÆµÄÚÈÝ£¬²¢¸ßЧµØ·Ö·¢¸øÖܱßÇøÓòµÄÓû§¡£Ô´Õ¾±£»¤£ºNginx¿ÉÒÔͨ¹ýÉèÖã¬×÷ΪԴվµÄǰÖñ£»¤²ã£¬´¦Öóͷ£´ó×ÚµÄÓû§ÇëÇ󣬲¢Ê¹Óûº´æïÔ̶Ժó¶ËÕæÊµÊÓÆµÔ´µÄѹÁ¦£¬±ÜÃâÔ´Õ¾±»?ѹ¿å¡£
ÐÒéת»»£ºÔÚÄ³Ð©ÖØ´óµÄCDN¼Ü¹¹ÖУ¬Nginx»¹¿ÉÒÔ×÷ΪÐÒéת»»Æ÷¡£ÀýÈ磬½«RTMPÖ±²¥Á÷ת»»ÎªHTTP-FLV¡¢HLS»òDASH£¬ÒÔ±ãÓÚWeb²¥·ÅÆ÷²¥·Å¡£¸ºÔØÆ½ºâ£ºNginxµÄ¸ºÔØÆ½ºâÄÜÁ¦£¬²»µ«¿ÉÒÔÓÃÓÚ½«ÇëÇó·ÖÅɵ½¶ą̀Nginx·þÎñÆ÷£¬Ò²¿ÉÒÔÓÃÓÚ½«ÇëÇó·Ö·¢µ½ºó¶ËµÄ¶à¸öÊÓÆµ´¦Öóͷ£·þÎñÆ÷»ò´æ´¢·þÎñÆ÷£¬ÊµÏָ߿ÉÓÃÐԺͿÉÀ©Õ¹ÐÔ¡£
¹¹½¨Ë½ÓÐCDN£º¹ØÓÚÓÐÌØ¶¨ÐèÇóµÄ×éÖ¯»òÆóÒµ£¬¿ÉÒÔʹÓÃNginx¹¹½¨×Ô¼ºµÄ˽ÓÐCDN¡£Í¨¹ý°²ÅŶà¸öNginx½Úµã£¬²¢ÍŽáDNSÆÊÎö»ººÍ´æ²ß?ÂÔ£¬ÊµÏÖÄÚ²¿ÍøÂçµÄ¸ßЧÊÓÆµ·Ö·¢¡£
NginxÔÚÊÓÆµ²¥·ÅÁìÓòµÄÓ¦Óã¬ÒѾ´Ó×î³õ¼òÆÓµÄHTTPÎļþ·Ö·¢£¬Éú³¤µ½Ö§³ÖRTMPÖ±²¥¡¢HLS/DASH˳ӦÐÔÁ÷ýÌ壬²¢ÇÒÔÚͨ¹ýCDNÊÖÒÕʵÏÖÈ«Çò»¯¡¢¸ßÐÔÄܵķַ¢¡£ËüµÄ¸ßÐÔÄÜ¡¢ÎÞаÐÔºÍǿʢµÄÉú̬ϵͳ£¬Ê¹ÆäÄܹ»Ó¦¶ÔÖÖÖÖÖØ´óµÄ?ÊÓÆµ·þÎñÐèÇó¡£
δÀ´£¬Ëæ×ÅÊÓÆµÊÖÒÕµÄÒ»Ö±Éú³¤£¬Èç8K³¬¸ßÇå¡¢VR/ARÊÓÆµ¡¢µÍÑÓ³ÙÖ±²¥£¨ÈçWebRTC£©µÈÐÂÐÎ̬µÄ·ºÆð£¬NginxÒ²½«¼ÌÐøÑݽø£¬Í¨¹ý¸üÓÅÒìµÄÄ£¿éºÍÉèÖã¬Ò»Ö±Ë¢ÐÂÊÓÆµ²¥·ÅÌåÑéµÄ¼«ÏÞ¡£Òò´Ë£¬ÉîÈëÃ÷È·NginxÔÚÊÓÆµ²¥·ÅÖеÄÔÀíºÍÓÅ»¯¼¼ÇÉ£¬¹ØÓÚÈκÎÏëÒª¹¹½¨»òÓÅ»¯ÊÓÆµ·þÎñµÄ¿ª·¢ÕߺÍÔËάְԱÀ´Ëµ£¬¶¼ÊÇÒ»Ï¾ß¼ÛÖµµÄͶ×Ê¡£
ÈÃNginx³ÉΪÄãÊÓÆµ·þÎñµÄµÃÁ¦ÖúÊÖ£¬ÊÍ·ÅÎÞÏÞ¿ÉÄÜ£¡