Nginx£¬Ò»¸öÄã¿ÉÄÜÊìϤÓÖİÉúµÄÃû×Ö¡£ÔÚWeb¿ª·¢µÄÊÀ½çÀËüÔçÒÑÊǸ߻úÄÜ¡¢¸ß²¢·¢µÄ´úÃû´Ê?£¬ÎªÎÞÊýÍøÕ¾Ìṩ×Ų»±ä¿¿µÃסµÄ·þÎñ¡£µ«?ÄãÊÇ·ñ֪·£¬Õâλ¡°È«ÄÜÑ¡ÊÖ¡±ÔÚÊÓÆµ²¥·ÅÁìÓòͬÑù´ó?·ÅÒì²Ê£¿Ëü²»½ö½öÊÇÒ»¸öµ¥Ò»µÄÎļþ·þÎñÆ÷£¬¸üÊÇÒ»¸ö¿ÉÄÜ´¦Öø´ÔÓÁ÷ýÌåºÍ̸¡¢ÌṩÁ÷³©ÊÓÆµÂÄÀúµÄ׳´óÒýÇæ¡£
½ñÌ죬ÎÒÃǾÍÀ´½Ò¿ªNginxÔÚÊÓÆµ²¥?·ÅÁìÓòµÄÉñÃØÃæÉ´£¬¿´¿´ËüÈôºÎ³ÉΪÄã´òÔìÊÓÆµ·þÎñµÄ°ÂÃØ±øÆ÷¡£
»¥ÁªÍøµÄ?ÿһ´Î·ÉÔ¾£¬¶¼Àë²»¿ªÊÓÆµµÄÉíÓ°¡£´ÓÔçÆÚµÄFlashÊÓÆµ£¬µ½Èç½ñ¸ßÇå¡¢³¬¸ßÇåÉõÖÁ8KµÄÖ±²¥ºÍµã²¥£¬ÊÓÆµÄÚÈݵı鼰¼«´óµØ·á˶ÁËbevictorΰµÂÊý×ÖÉúÑÄ¡£¶øÖ§³ÖÕâËùÓеģ¬ÕýÊ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½ÚÔìµÄ³¡¾°£¬Äܹ»Ë¼¿¼¿ªÆôÒì²½I/O£¨AIO£©¡£aiothreadsÖ¸ÁîÄܹ»ÔÚNginxµÄworker¹ý³Ì?ÖÐʹÓÃÏ̳߳ØÀ´´¦ÖÃI/O²Ù×÷£¬ÕâÓÐÖúÓÚÔÚ¶àºËCPU»·¾³Ï½øÒ»²½ÌáÉýI/O»úÄÜ¡£
ÏνÓÓëÒªÇóÏÞ¶È£ºÎªÁËÔ¤·À¶ñÒâ¹¥»÷»òÅäÖò»µ±µ¼Ö·þÎñÆ÷¹ýÔØ£¬¶ÔÏνӺÍÒªÇó½øÐкÏÀíµÄÏÞ¶ÈÊDZØÒªµÄ¡£
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Äܹ»Í¨¹ýÅäÖã¬×÷ΪԴվµÄǰÖñ£»¤²ã£¬´¦ÖôóÁ¿µÄÓû§ÒªÇ󣬲¢ÀûÓûº´æÏ÷¼õ¶Ôºó¶ËÕæÊµÊÓÆµÔ´µÄѹÁ¦£¬Ô¤·ÀÔ´Õ¾±»Ñ¹¿å¡£
ºÍ̸ת»»£ºÔÚijЩ¸´ÔÓµÄ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³ÉΪÄãÊÓÆµ·þÎñµÄµÃÁ¦¸±ÊÖ£¬¿ªÊÍÎÞÏÞ¿ÉÄÜ£¡