Nginx锛?涓?涓?????界??????????????瀛?????eb寮???????ヤ?????锛?瀹??╁凡????ц?姐??楂?骞娥???????浠e??璇?锛?涓烘???扮?绔???渚???绋冲??????????°??浣?浣????︾?ラ??锛?杩?浣????ㄨ?介???????ㄨ?棰????鹃??????峰ぇ?惧?褰╋?瀹?涓?浠?浠????涓????????浠舵???″????存???涓??藉?澶???澶???娴?濯?浣???璁?????渚?娴???瑙?棰?浣?楠???寮哄ぇ寮?????
浠?澶╋???浠?氨?ユ???Nginx?ㄨ?棰????鹃?????绁?绉??㈢罕锛?????瀹?濡?浣???涓轰?????瑙?棰????$??绉?瀵?姝﹀?ㄣ??
浜???缃???姣?涓?娆¢?璺?锛??界?涓?寮?瑙?棰???韬?奖??浠??╂????Flash瑙?棰?锛??板?浠?楂?娓???瓒?楂?娓?涔???K???存?????规???瑙?棰???瀹圭????????澶у?颁赴瀵?浜???浠????板???娲汇????????杩?涓?????锛?姝f??????榛?榛?宸ヤ???寮哄ぇ???″?ㄣ??Nginx涔???浠ヨ?藉?ㄨ?棰????鹃???宕??插ご瑙?锛?寰???浜??剁???圭??璁捐???蹇靛????瓒?????ユ?ц?借〃?般??
楂??ц?戒?楂?骞跺?????虹?筹?Nginx???ㄤ?浠堕┍?ㄣ??寮?姝ラ???诲???I/O妯″??锛?杩?浣垮?瀹??藉?浠ユ??浣???璧?婧?娑???澶???娴烽??骞跺??杩??ャ??瀵逛?瑙?棰????捐??瑷?锛?杩????崇???充娇??????涓?涓????ㄦ?峰???跺?ㄧ嚎瑙???锛?Nginx涔??戒?瀹瑰?瀵癸?淇?璇?姣?涓??ㄦ?烽?借?借?峰?娴????????句?楠?锛??筐??????¢】??寤惰???
杩?瀵逛??存?????″挨涓哄?抽???浠讳?涓??瑰欢杩??藉???藉??寸?ㄦ?蜂?楠???澶у?涓?????
?垫椿??妯″?????舵??锛?Nginx?ユ??寮哄ぇ??妯″????璁捐?锛?杩????崇??浣???互?规????繁????姹?锛????╂?у?板??杞藉????缃???绉????芥ā????瀵逛?瑙?棰????撅?杩?灏辨???崇????浠???互?╃?ㄥ?跺??????????HTTP??璁??涔???互??杩?瀹?瑁?绗????涓??规ā???ユ?????翠?涓???娴?濯?浣???璁??濡?RTMP??HLS锛?HTTPLiveStreaming锛???DASH锛?DynamicAdaptiveStreamingoverHTTP锛???
杩?绉??垫椿?т娇寰?Nginx?藉???搴???绉?澶?????瑙?棰????″?烘????
HTTP??璁???澶╃?朵??匡?寰?澶?瑙?棰???瀹癸?灏ゅ?舵???规???棰?锛??藉??互??杩???????HTTP??璁??琛?浼?杈???Nginx浣?涓轰?娆鹃《绾х??HTTP???″???澶╃?跺?峰?浜?浼?杈?杩?浜?瑙?棰???浠剁???藉??????杩?绠???????缃??Nginx灏辫?介????板?瑙?棰???浠讹?濡?MP4??MOV绛??煎?锛??存?ュ????缁?瀹㈡?风???
杩?绉??瑰???浼??垮?ㄤ?绠????????骞朵??藉??????╃??TTP??璁???缂?瀛??哄?讹?杩?涓?姝ユ??????杞介??搴︺??
瀵规?濯?浣???璁????煎??э?灏界?HTTP??互浼?杈?瑙?棰???浠讹?浣?瀵逛??存??????瑕??寸簿缁????у?剁??瑙?棰?娴?锛?RTMP??HLS??DASH绛?娴?濯?浣???璁??惧?灏や负??瑕???Nginx??互??杩?瀹?瑁?nginx-rtmp-module绛????绗????涓??规ā??锛?杞绘?惧??板?RTMP??璁???????锛?浠????????寤虹?存?????″?ㄣ??
??瀵逛?HLS??DASH锛?Nginx?????????介????涓?浜???缃??涔??藉?濂藉?版????杩?浜???搴??ф?濯?浣???璁??瀹?浠??芥?规???ㄦ?风??缃?缁??跺?靛?ㄦ??璋??磋?棰?????锛???渚???浼??????句?楠???
Nginx?ㄨ?棰????鹃?????搴??ㄩ??甯稿箍娉?锛???涔?娑电??浜?浠?涓?汉??瀹????瑙?棰?宓??ワ??板ぇ??瑙?棰?骞冲?扮???存?????规?????°??涓??????浠??娣卞?ユ?㈣???涓??稿???搴??ㄥ?烘????
?规???棰????★?杩???ginx???虹?涔???甯歌???瑙?棰????惧??ㄣ??浣???互??ginx????缃?腑??瀹?涓?涓????锛?瀛??句???瑙?棰???浠讹??跺????杩?HTTP?存?ヨ????浜???浠躲??
浼??匡???缃????锛???浜??ㄧ讲锛??藉??╃??TTP??缂?瀛??规?с??
server{listen80;server_nameyour_domain.com;root/var/www/videos;#瑙?棰???浠跺??剧???location/videos/{autoindexon;#????锛?寮????????琛???逛究娴?瑙?}location~*\.(mp4|mov|avi)${expires30d;#璁剧疆缂?瀛??堕??dd_headerCache-Control"public,must-revalidate";}}
宸ヤ?????锛??ㄦ?烽??杩?娴?瑙??ㄨ???ttp://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??
#杞藉??TMP妯″??load_modulemodules/ngx_rtmp_module.so;http{#...(HTTP?稿?抽??缃?...}rtmp{server{listen1935;#RTMP榛?璁ょ???hunk_size4096;applicationlive{liveon;recordoff;#????锛????﹀??剁?存???allowpublish127.0.0.1;#??璁告???哄??甯?娴?allowplayall;#??璁告????浜烘????}}
宸ヤ?????锛??存????ユ?ㄦ?绔??濡?OBS锛?灏?瑙?棰?娴??ㄩ????ginx???″?ㄧ??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?归??????????瑕?瑙??层??
?烘???缁?澶у??扮?颁唬瑙?棰?骞冲?帮?????etflix??YouTube????澶ц?棰?缃?绔????规?????存????浼??匡???搴??у己锛??ㄧ?缁?娉㈠?ㄦ?朵??芥??渚??稿?娴????????撅???浜?缂?瀛?锛???楂???????????Nginx??缃???癸?HLS锛???甯搁??瑕?涓?涓??浣????″???濡?FFmpeg??Nginx-RTMP-Module????FFmpeg锛?灏???濮?瑙?棰?娴?杞?????HLS?煎?锛?.m3u8绱㈠???浠跺??.ts瑙?棰???娈碉???
Nginx??璐?璐e?杩?浜?HLS??浠堕??杩?HTTP杩?琛???????DASH锛?绫讳技浜?HLS锛?DASH涔???瑕?灏?瑙?棰?????锛?骞剁????.mpd锛?MediaPresentationDescription锛?绱㈠???浠躲??Nginx???疯?璐i??杩?HTTP杩?琛?楂?????????Nginx浣?涓哄???????″?????璁?LS杩???ASH锛?Nginx???稿?浣??ㄦ???涓洪?????HTTP??浠舵???″???蹇?????绋冲??板??瀹㈡?风?????杩?浜?灏?瑙?棰???娈靛??绱㈠???浠躲??
?朵?绉???缂?瀛??藉????骞跺??澶????藉??锛?浣垮?HLS/DASH娴?濯?浣???????涓哄???姐??
锛????寰?缁??涓?涓??ㄥ??灏??存繁?ュ?版?㈣?Nginx?ㄨ?棰????句腑??浼?????宸т互???跺??DN涓???浣??ㄣ??锛?
?ㄤ?涓????????锛???浠??瑙d?Nginx涓?瑙?棰????剧??娓?婧?锛?浠ュ??瀹??ㄧ?规?????存??????搴??ф?濯?浣??归?㈢???虹?搴??ㄣ??Nginx?????堕??ц?姐??楂?骞跺????澶????藉??浠ュ???垫椿??妯″?????舵??锛?宸茬???涓烘??寤鸿?棰????′?????缂虹??涓??ㄥ????瑕???姝e????ginx?ㄨ?棰????句腑??娼???锛?杩???瑕??存繁?ュ?颁?瑙e?朵?????宸э?浠ュ??瀹??ㄦ?村箍????CDN锛???瀹瑰????缃?缁?锛?浣?绯讳腑??瑙??层??
涓???Nginx瑙?棰????炬?ц?戒???锛?璁╂???浣?楠??磋?涓?姝?/p>
?界??ginx??韩?ц?藉??瓒?锛?浣??ㄩ?㈠?娴烽????瑙?棰?娴????讹?绮剧?????浼????藉??捐???????ㄦ?蜂?楠?锛???浣????″?ㄥ??????
缂??插?洪??缃??浼?锛?Nginx?ㄥ???璇锋??朵?浣跨?ㄧ??插?恒????????缃??浜?缂??插?猴???互??灏?纾???I/O锛???楂??版???杈???????
client_body_buffer_size锛?瀹㈡?风?璇锋?浣???澶у?锛?瀵逛?涓?浼?瑙?棰???娑???澶???璇锋??堕??瑕??虫敞??proxy_buffer_size??proxy_buffers锛?褰?Nginx浣?涓哄????浠g???讹?杩?浜????板?冲?浜?瀹?浠???绔????″?ㄨ?????搴???缂??插?哄ぇ灏????伴????
瀵逛?瑙?棰?娴?锛?涓?涓??澶х??proxy_buffers??proxy_buffer_size??互纭??涓?娆℃?ц????村??版?????灏?棰?绻???I/O??浣???sendfileon;锛?杩?涓???浠ゅ??璁?ginx?存?ュ???浠朵????哥┖?村?????扮?缁??ュ?o?缁?杩??ㄦ?风┖?达???澶у?板??灏?浜?CPU??娑???????瀛??疯?锛?瀵逛?浼?杈?澶ф??浠讹?濡?瑙?棰?锛??????捐????
aiothreads;锛?瀵逛???瑕??寸簿缁?I/O?у?剁???烘?????互????寮????姝?/O锛?AIO锛???aiothreads??浠ゅ??互??ginx??worker杩?绋?涓?娇?ㄧ嚎绋?姹??ュ???I/O??浣?锛?杩????╀??ㄥ???PU???涓?杩?涓?姝ユ????I/O?ц?姐??
杩??ヤ?璇锋????讹?涓轰??叉??舵???诲?绘????缃??褰?瀵艰?存???″?ㄨ?杞斤?瀵硅??ュ??璇锋?杩?琛??????????舵???瑕?????
worker_connections锛?璁剧疆姣?涓?orker杩?绋???互???跺???????ユ??澶ц??ユ?般??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??浠讹?浠ュ???存?????杈??╂?版???寮???zip??缂╁??互????甯﹀?锛???楂???杞介??搴︺??nginxgzipon;gzip_typestext/plaintext/cssapplication/jsonapplication/javascripttext/xmlapplication/xmlapplication/xml+rsstext/javascript;
?ㄦ??寤哄ぇ瑙?妯¤?棰????℃?讹?浠?浠?渚???????ginx???″?ㄦ???杩?涓?澶?????杩??讹?Nginx灏辨??涓轰?CDN锛?ContentDeliveryNetwork锛?浣?绯讳腑???稿??????光????
CDN??宸ヤ?????锛?CDN???稿????虫???ㄥ?ㄧ?????村???ㄧ讲澶ч???????″?ㄨ???癸?PoP锛?PointofPresence锛?锛?灏??ㄦ?风?甯歌???????瀹癸?濡?瑙?棰???浠躲???存???锛?缂?瀛??扮??ㄦ?锋??杩??????逛???褰??ㄦ?疯?姹???瀹规?讹?DNS浼?灏?璇锋?瀵煎??璺?绂荤?ㄦ?锋??杩???CDN???癸??辫????圭?存?ユ??渚????°??
杈圭????癸?缁?澶у???DN杈圭????归?介?ㄧ讲浜?楂??ц?界?????eb???″?????Nginx???跺??瓒????ц?藉????????????锛???DN杈圭????圭??棣?????瀹?璐?璐g?瀛??ヨ???绔???瑙?棰???瀹癸?骞堕????板????缁??ㄨ竟?哄?????ㄦ?枫??婧?绔?淇??わ?Nginx??互??杩???缃??浣?涓烘?绔?????缃???ゅ?锛?澶???澶ч?????ㄦ?疯?姹?锛?骞跺?╃?ㄧ?瀛???灏?瀵瑰??绔???瀹?瑙?棰?婧???????锛??叉?婧?绔?琚???????
??璁?浆????ㄦ??浜?澶?????CDN?舵??涓??Nginx杩???互浣?涓哄??璁?浆?㈠?ㄣ??渚?濡?锛?灏?RTMP?存???杞???负HTTP-FLV??HLS??DASH锛?浠ヤ究浜?Web???惧?ㄦ???俱??璐?杞藉??琛★?Nginx??璐?杞藉??琛¤?藉??锛?涓?浠???互?ㄤ?灏?璇锋??????板???ginx???″???涔???互?ㄤ?灏?璇锋??????板??绔???澶?涓??棰?澶??????″?ㄦ??瀛???ュ?ㄦ???″???瀹??伴????ㄦ?у?????╁??с??
??寤虹???CDN锛?瀵逛????瑰???姹???缁?缁???浼?涓?锛???互?╃??ginx??寤鸿??繁??绉???CDN????杩??ㄧ讲澶?涓?ginx???癸?骞剁???DNS瑙f????缂?瀛?绛??ワ?瀹??板???ㄧ?缁???楂???瑙?棰???????
Nginx?ㄨ?棰????鹃?????搴????宸茬?浠?????绠?????HTTP??浠跺????锛???灞??版????RTMP?存????HLS/DASH??搴??ф?濯?浣?锛?骞朵??ㄩ??杩?CDN??????板?ㄧ??????楂??ц?界????????瀹???楂??ц?姐???垫椿?у??寮哄ぇ??哥??????绯荤?锛?浣垮?惰?藉?搴?瀵瑰??绉?澶?????瑙?棰????¢??姹???
???ワ?????瑙?棰???????涓?????灞?锛?濡?8K瓒?楂?娓???VR/AR瑙?棰???浣?寤惰??存???濡?WebRTC锛?绛??板舰?????虹?帮?Nginx涔?灏?缁х画婕?杩?锛???杩??翠?绉???妯″??????缃??涓????锋?拌?棰????句?楠???????????姝わ?娣卞?ョ??瑙?ginx?ㄨ?棰????句腑????????浼?????宸э?瀵逛?浠讳??宠???寤烘??浼???瑙?棰????$??寮???????杩?缁翠汉???ヨ?锛??芥???椤规???蜂环?肩????璧???
璁?ginx?????涓轰?瑙?棰????$??寰????╂??锛????炬???????斤?


