»Æ½ð³ÇÍøÕ¾

Nginx¸³ÄÜÊÓÆµÁ÷ýÌ壺´òÔìÁ÷ͨ¡¢¸ßЧµÄ²¥·ÅÌåÑé
ȪԴ£ºÖ¤È¯Ê±±¨Íø×÷ÕߣºÀîÖùÃú2026-03-04 12:52:11
wwwzqhsauikdwjbfkjabfwqr

Nginx£ºÁ÷ýÌåÌìϵĻùʯ £¬ÊÓÆµ²¥?·ÅµÄÉñÃØÎäÆ÷

ÔÚÖÚ¶àµÄÊý×ÖÄÚÈݺ£ÑóÖÐ £¬ÊÓÆµÔçÒѳÉ?Ϊ×îÊܽӴýµÄ±í´ï·½·¨Ö®Ò»¡£´ÓË¢¶ÌÊÓÆµµ½Ô¢Ä¿¸ßÇåÓ°Ï· £¬Á÷ͨ¡¢Îȹ̵IJ¥·ÅÌåÑéÊÇÓû§×î»ù±¾µÄÐèÇó¡£¶øÔÚÕâ±³ºó £¬Ç¿Ê¢µÄ·þÎñÆ÷ÊÖÒÕÊÎÑÝ×ÅÖÁ¹ØÖ÷ÒªµÄ½ÇÉ«¡£½ñÌì £¬ÎÒÃÇÒªÉîÈë̽ÌÖµÄ £¬¼´ÊÇÁ÷ýÌåÁìÓòºÕºÕÖøÃûµÄ¡°ÈðÊ¿¾üµ¶¡±¡ª¡ªNginx £¬ÒÔ¼°ËüÔõÑù³ÉΪ¸³ÄÜÊÓÆµ²¥·Å £¬´òÔì׿ԽÓû§ÌåÑéµÄÉñÃØÎäÆ÷¡£

ΪʲôѡÔñNginxÀ´²¥·ÅÊÓÆµ£¿

»òÐíÄã»áÎÊ £¬²¥·ÅÊÓÆµ²»¾ÍÊǰÑÎļþ´«¸øÓû§Âð£¿ÎªÊ²Ã´»¹ÐèÒªNginxÕâÑùרҵµÄ¹¤¾ß£¿Ãյ׺ܼòÆÓ£ºÊÓÆµÁ÷ýÌåµÄ?ÖØ´óÐÔÔ¶³¬ÄãµÄÏëÏ󡣹ŰåµÄHTTPÎļþÏÂÔØ·½·¨ £¬ÄÑÒÔÓ¦¶ÔÊÓÆµ²¥·ÅʱһÁ¬¡¢¸ß´ø¿íµÄ´«ÊäÐèÇó £¬¸ü²»±ØËµÊµÊ±»¥¶¯¡¢µÍÑÓ³ÙµÄÖ±²¥³¡¾°ÁË¡£

NginxÖ®ÒÔÊÇÍÑÓ±¶ø³ö? £¬Ö÷ÒªÔÚÓÚÆäÒÔϼ¸¸ö½¹µãÓÅÊÆ£º

¸ßÐÔÄÜÓë¸ß²¢·¢´¦Öóͷ£ÄÜÁ¦£ºNginxÒÔÆäÊÂÎñÇý¶¯¡¢Òì²½·ÇÛÕ±ÕµÄÍøÂçÄ£×ÓÖø³Æ¡£ÕâÒâζ×ÅËüÄÜÒÔ¼«µÍµÄ×ÊÔ´ÏûºÄ £¬Í¬Ê±´¦Öóͷ£³ÉǧÉÏÍòµÄ²¢·¢ÅþÁ¬ £¬ÍêÉÆÆõºÏÊÓÆµÁ÷ýÌå¶Ô¸ß²¢·¢»á¼ûµÄÐèÇó¡£ÎÞÂÛÊǰÙÍò¼¶¹ÛÖÚͬʱԢĿֱ²¥? £¬Õվɺ£Á¿Óû§µã²¥ÊÓÆµ £¬Nginx¶¼ÄÜÓÎÈÐÓÐÓà¡£

ǿʢ?µÄЭÒéÖ§³Ö£ºÏÖ´úÊÓÆµÁ÷ýÌå²»ÔÙ¾ÖÏÞÓÚ¼òÆÓµÄHTTPÏÂÔØ¡£Nginxͨ¹ý¸»ºñµÄÄ£¿éÖ§³Ö £¬Äܹ»ÎÞа´¦Öóͷ£ÖÖÖÖÁ÷ýÌåЭÒé £¬ÀýÈ磺

RTMP(Real-TimeMessagingProtocol):ÕâÊÇÖ±²¥ÁìÓò×î³£Óá¢×î¾­µäµÄЭÒéÖ®Ò» £¬NginxµÄngx_rtmp_moduleÄ£¿é¸¶ÓëÁËËüǿʢµÄÖ±²¥ÍÆÁ÷ºÍÀ­Á÷ÄÜÁ¦ £¬Êǹ¹½¨Ö±²¥?·þÎñÆ÷µÄ»ùʯ¡£HLS(HTTPLiveStreaming):ÓÉÆ»¹û¹«Ë¾ÍƳö £¬½«ÊÓÆµÇзֳÉСTSƬ¶Ï £¬²¢Í¨¹ýM3U8Ë÷ÒýÎļþ¾ÙÐв¥·Å¡£

HLS¼æÈÝÐÔ¼«¼Ñ £¬ÓÈÆäÊʺÏÒÆ¶¯×°±¸ºÍ¹ãÓòÍø´«Êä £¬Nginx¿ÉÒÔÇáËÉ·Ö·¢HLSÊÓÆµÁ÷¡£DASH(DynamicAdaptiveStreamingoverHTTP):ÀàËÆÓÚHLS £¬DASHÒ²ÊÇÒ»ÖÖ»ùÓÚHTTPµÄ×Ô˳Ӧ±ÈÌØÂÊÁ÷ýÌåЭÒé £¬ÔÊÐí²¥·ÅÆ÷Æ¾Ö¤ÍøÂç״̬¶¯Ì¬µ÷½âÊÓÆµÖÊÁ¿ £¬Ìṩ¸ü¼ÑµÄԢĿÌåÑé¡£

NginxͬÑùÊÇ·Ö·¢DASHÊÓÆµµÄÀíÏëÑ¡Ôñ¡£

ÎÞаµÄÉèÖÃÓëÀ©Õ¹ÐÔ£ºNginxµÄÉèÖÃÎļþ½á¹¹ÇåÎú¡¢Ò×ÓÚÃ÷È· £¬Í¨¹ý¼òÆÓ?µÄÉèÖü´¿ÉʵÏÖÖØ´óµÄÁ÷ýÌå·þÎñ¡£¸üÖ÷ÒªµÄÊÇ £¬NginxÖ§³ÖµÚÈý·½Ä£¿éµÄ¼ÓÔØ £¬¿ÉÒÔÆ¾Ö¤ÓªÒµÐèÇó¾ÙÐж¨ÖÆ»¯¿ª·¢ £¬ÀýÈ缯³ÉDRM£¨Êý×Ö°æÈ¨¹ÜÀí£©¡¢¹ã¸æ²åÈë¡¢ÊÓÆµ×ªÂëµÈ¸ß¼¶¹¦Ð§ £¬¼«´óµØÍØÕ¹ÁËÆäÓ¦Óó¡¾°¡£

×÷Ϊ·´Ïò´úÀíºÍ¸ºÔØÆ½ºâÆ÷µÄÄÜÁ¦£ºÔÚ´óÐÍÊÓÆµÆ½Ì¨ÖÐ £¬Nginx¾­³£ÊÎÑÝ×Å·´Ïò´úÀíºÍ¸ºÔØÆ½ºâÆ÷µÄ½ÇÉ«¡£ËüÄܽ«Óû§µÄÇëÇó·Ö·¢µ½ºó¶ËµÄ¶à¸öÁ÷ýÌå·þÎñÆ÷ £¬ÓÐÓÃÊèɢѹÁ¦ £¬Ìá¸ßϵͳµÄÕûÌå¿ÉÓÃÐÔºÍÎȹÌÐÔ¡£Ëü»¹ÄÜ×÷ΪCDN£¨ÄÚÈÝ·Ö·¢ÍøÂ磩µÄ±ßÑØ½Úµã £¬½«ÊÓÆµÄÚÈÝ»º´æµ½ÀëÓû§¸ü½üµÄ·þÎñÆ÷ÉÏ £¬ÏÔÖø½µµÍÑÓ³Ù £¬ÌáÉý²¥·ÅËÙÂÊ¡£

Nginx»ù´¡ÉèÖ㺴ÄãµÄµÚÒ»¸öÊÓÆµÁ÷ýÌå·þÎñÆ÷

ÏëÒªÓÃNginx²¥·ÅÊÓÆµ £¬Ê×ÏÈÐèҪȷ±£ÄãµÄNginxÒÑ׼ȷװÖò¢ÆôÓÃÁËÐëÒªµÄÄ£¿é¡£¹ØÓÚRTMPЭÒéµÄÖ§³Ö £¬Í¨³£ÐèҪװÖÃngx_rtmp_module¡£Õâ¿ÉÒÔͨ¹ý±àÒëNginxʱÌí¼Ó--add-module=/path/to/ngx_rtmp_module²ÎÊýÀ´ÊµÏÖ¡£

worker_processesauto;events{worker_connections1024;}http{sendfileon;tcp_nopushon;tcp_nodelayon;keepalive_timeout65;types_hash_max_size2048;include/etc/nginx/mime.types;default_typeapplication/octet-stream;server{listen80;server_nameyour_domain.com;location/{roothtml;indexindex.htmlindex.htm;}}}#RTMPÄ£¿éÉèÖÃrtmp{server{listen1935;#RTMPĬÈ϶˿Úchunk_size4096;applicationlive{liveon;#¿ªÆôÖ±²¥?ģʽrecordoff;#²»?Â¼ÖÆÊÓÆµÁ÷#allowpublish127.0.0.1;#ÔÊÐíÌØ¶¨IPÐû²¼#denypublishall;#allowplayall;#ÔÊÐíËùÓÐIP²¥·Å}}}

ÔÚÕâ¸öÉèÖÃÖУº

rtmp{}¿éÊÇRTMP·þÎñµÄ½¹µãÉèÖá£server{}¿é½ç˵ÁËÒ»¸öRTMP·þÎñÆ÷ʵÀý¡£listen1935;Ö¸¶¨RTMP·þÎñ¼àÌýµÄ¶Ë¿Ú £¬1935ÊÇRTMPЭÒéµÄĬÈ϶˿Ú¡£applicationlive{}½ç˵ÁËÒ»¸öÃûΪliveµÄÓ¦Óá£

µ±ÍÆÁ÷»òÀ­Á÷ʱ £¬ÎÒÃÇ»áʹÓÃÕâ¸öÓ¦ÓÃÃû £¬ÀýÈçÍÆÁ÷µØÖ·¿ÉÄÜÊÇrtmp://your_domain.com/live/stream_key¡£liveon;¿ªÆôÖ±²¥¹¦Ð§ £¬Òâζ×ÅÕâ¸öÓ¦ÓÿÉÒÔÎüÊպͷַ¢Ö±²¥Á÷¡£recordoff;ĬÈÏÇéÐÎϲ»Â¼ÖÆÖ±²¥Á÷ £¬ÈôÊÇÐèÒªÂ¼ÖÆ £¬¿ÉÒÔÉèÖÃΪrecordon;²¢Ö¸¶¨Â¼ÖÆÄ¿Â¼¡£

Íê³ÉÉèÖúó £¬ÖØÐ¼ÓÔØNginx(nginx-sreload) £¬ÄãµÄRTMPÖ±²¥·þÎñÆ÷¾ÍÒѾ­´î½¨ºÃÁË¡£Äã¿ÉÒÔʹÓÃOBSStudio¡¢FFmpegµÈ¹¤¾ß £¬½«ÊÓÆµÁ÷ÍÆË͵½rtmp://your_domain.com/live/your_stream_key £¬È»ºóÔÚÖ§³ÖRTMP²¥·ÅµÄ²¥?·ÅÆ÷£¨ÈçVLC£©ÖÐ £¬Ê¹ÓÃrtmp://your_domain.com/live/your_stream_keyµØÖ·¾ÙÐв¥·Å¡£

ËäÈ» £¬ÕâÖ»ÊÇNginxÔÚÊÓÆµ²¥·ÅÁìÓòµÄ±ùɽһ½Ç¡£Ëæ×ÅÁ÷ýÌåÊÖÒÕµÄÒ»Ö±Éú³¤ £¬HLSºÍDASHµÈЭÒéµÄÓ¦ÓÃÔ½À´Ô½ÆÕ±é¡£NginxÈçÄÇÀïÖÃÕâЩЭÒé £¬ÓÖÓÐÄÄЩ½ø½×Íæ·¨£¿¾´ÇëÆÚ´ýÏÂÒ»²¿·ÖµÄÄÚÈÝ¡£

Nginx½ø½×ʵ¼ù£ºHLS,DASHÓëÐÔÄÜÓÅ»¯ £¬´òÔ켫Ö²¥·ÅÌåÑé

ÔÚPart1ÖÐ £¬ÎÒÃÇÒѾ­ÆðÔ´ÏàʶÁËNginxÔÚÊÓÆµÁ÷ýÌåÖеĻù´¡Ó¦Óà £¬ÌØÊâÊÇRTMPЭÒéµÄÉèÖá£ÏÖ´úÊÓÆµ²¥·ÅµÄÐèÇóÔ¶²»Ö¹ÓÚ´Ë £¬HLSºÍDASHµÈ»ùÓÚHTTPµÄÁ÷ýÌåЭÒé £¬ÒòÆä¾«²ÊµÄ¿çƽ̨¼æÈÝÐÔºÍ×Ô˳ӦÄÜÁ¦ £¬ÒѾ­³ÉΪÊÂʵÉϵÄ?±ê×¼¡£

±¾²¿?·Ö £¬ÎÒÃǽ«ÉîÈëNginx¶ÔHLSºÍDASHµÄÖ§³Ö £¬²¢Ì½ÌÖһϵÁÐÐÔÄÜÓÅ»¯¼¼ÇÉ £¬ÖúÄ㽫ÊÓÆµ²¥·ÅÌåÑéÍÆÏò¼«Ö¡£

Nginx¸³ÄÜHLSºÍDASH£ºÎÞаµÄHTTPÁ÷ýÌå·Ö·¢

Nginx×Ô¼º¾ÍÊÇÒ»¸öǿʢµÄHTTP·þÎñÆ÷ £¬Òò´Ë¶ÔHLSºÍDASHµÄÖ§³ÖÏÔµÃÓÈΪ×ÔÈ»¡£ÕâÁ½ÖÖЭÒéµÄ½¹µãÔÚÓÚ½«ÊÓÆµÎļþÇзֳÉСƬ¶Ï £¬²¢Í¨¹ýM3U8(HLS)»òMPD(DASH)Ë÷ÒýÎļþ¾ÙÐÐ×éÖ¯¡£NginxµÄ×÷ÓþÍÊǸßЧµØ½«ÕâЩÊÓÆµÆ¬¶ÏºÍË÷ÒýÎļþͨ¹ýHTTPЭÒéÌṩӦ¿Í»§¶Ë¡£

HLS(HTTPLiveStreaming)µÄ·Ö·¢£ºÒªÊ¹ÓÃNginx·Ö·¢HLSÊÓÆµ £¬ÄãÐèҪ׼±¸ºÃHLSÃûÌõÄÊÓÆµÎļþ £¬Í¨³£°üÀ¨Ò»¸ö.m3u8Ë÷ÒýÎļþºÍһϵÁÐ.tsÊÓÆµÆ¬¶ÏÎļþ¡£ÕâЩÎļþ¿ÉÒÔÓÉÊÓÆµ´¦Öóͷ£¹¤¾ß£¨ÈçFFmpeg£©ÔÚÍÆÁ÷Àú³ÌÖÐʵʱÌìÉú £¬»òÕßÌáǰ½«ÊÓÆµÎļþת»»ÎªHLSÃûÌá£

ÔÚNginxµÄnginx.confÖÐ £¬Äã¿ÉÒÔÕâÑùÉèÖãº

http{#...(ÆäËûHTTPÉèÖÃ)server{listen80;server_nameyour_domain.com;location/hls{alias/path/to/your/hls/files;#Ö¸¶¨HLSÎļþËùÔÚµÄĿ¼types{application/vnd.apple.mpegurlm3u8;video/mp2tts;}add_headerCache-Controlno-cache;add_headerAccess-Control-Allow-Origin*;#ÔÊÐí¿çÓò»á¼û}}}

ÔÚÕâ¸öÉèÖÃÖУº

location/hlsÆ¥ÅäËùÓÐÒÔ/hls¿ªÍ·µÄÇëÇó¡£alias/path/to/your/hls/files;Ö¸Ïò´æ·Å.m3u8ºÍ.tsÎļþµÄ·þÎñÆ÷Ŀ¼¡£types{}¿éÖ¸¶¨ÁË.m3u8ºÍ.tsÎļþµÄMIMEÀàÐÍ £¬È·±£ä¯ÀÀÆ÷ÄÜ׼ȷʶ±ð¡£

add_headerCache-Controlno-cache;ͨ³£½¨ÒéHLSË÷ÒýÎļþ²»±»»º´æ £¬ÒÔ°ü¹Ü²¥·ÅÆ÷»ñÈ¡×îеIJ¥·ÅÁбí¡£add_headerAccess-Control-Allow-Origin*;ÔÊÐíÀ´×ÔÈκÎÓòÃûµÄ?ÇëÇó»á¼ûÕâЩHLS×ÊÔ´ £¬ÕâÔÚWeb²¥·ÅÆ÷ÖзǾ­³£¼û¡£

ÏÖÔÚ £¬Óû§¿ÉÒÔͨ¹ýhttp://your_domain.com/hls/your_playlist.m3u8À´»á¼ûÄãµÄHLSÊÓÆµÁ÷¡£

DASH(DynamicAdaptiveStreamingoverHTTP)µÄ·Ö·¢£ºDASHµÄÔ­ÀíÓëHLSÀàËÆ £¬Ò²Êǽ«ÊÓÆµÇзֳÉСƬ¶Ï £¬²¢Í¨¹ýÒ»¸öÐÎòÎļþ£¨Í¨³£ÊÇ.mpdÎļþ£©À´ÐÎòÕâЩƬ¶Ï¡£Nginx·Ö·¢DASHµÄÉèÖÃÒ²ºÜÊÇÏàËÆ £¬Òªº¦ÔÚÓÚ׼ȷÉèÖÃMIMEÀàÐÍ¡£

http{#...(ÆäËûHTTPÉèÖÃ)server{listen80;server_nameyour_domain.com;location/dash{alias/path/to/your/dash/files;#Ö¸¶¨DASHÎļþËùÔÚµÄĿ¼types{application/dash+xmlmpd;video/mp4mp4;#»òÕ߯äËûÊÓÆµÆ¬¶ÏÃûÌÃ#...(ƾ֤ÄãµÄDASHƬ¶ÏÃûÌÃÌí¼ÓÆäËûMIMEÀàÐÍ)}add_headerCache-Controlno-cache;add_headerAccess-Control-Allow-Origin*;}}}application/dash+xmlÊÇ.mpdÎļþµÄ±ê×¼MIMEÀàÐÍ¡£

È·±£video/mp4»òÆäËûÄãʹÓõÄÊÓÆµÆ¬¶ÏÃûÌõÄMIMEÀàÐÍÒ²±»×¼È·½ç˵¡£

ÐÔÄÜÓÅ»¯£ºÈÃÊÓÆµ²¥·ÅÈçË¿°ã˳»¬

GzipѹËõ£º¶Ô¾²Ì¬×ÊÔ´£¨Èç.m3u8ºÍ.mpdÎļþ£©ÆôÓÃGzipѹËõ £¬¿ÉÒÔÏÔÖø¼õС´«ÊäÎļþµÄ´ó?С £¬½µµÍ´ø¿íÏûºÄ £¬¼ÓËÙ¼ÓÔØËÙÂÊ¡£

http{gzipon;gzip_typestext/plaintext/cssapplication/jsonapplication/javascripttext/xmlapplication/xmlapplication/xml+rsstext/javascriptimage/svg+xmlapplication/vnd.apple.mpegurl;gzip_comp_level6;gzip_min_length1024;gzip_varyon;}

gzip_typesÖÐÐèÒª°üÀ¨HLSºÍDASHµÄË÷ÒýÎļþÀàÐÍ¡£

»º´æÕ½ÂÔ£ººÏÀíÉèÖÃä¯ÀÀÆ÷»º´æºÍ·þÎñÆ÷¶Ë»º´æ £¬¿ÉÒÔïÔÌ­ÖØ¸´ÇëÇó¡£¹ØÓÚÊÓÆµÆ¬¶Ï.tsºÍ.mp4 £¬¿ÉÒÔÉèÖýϳ¤µÄ»º´æÊ±¼ä£»¶ø¹ØÓÚ.m3u8ºÍ.mpdÎļþ £¬Ôòͨ³£²»»º´æ»òÉèÖú̵ܶĻº´æÊ±¼ä £¬ÒÔ°ü¹Üʵʱ¸üС£

TCPÓÅ»¯£ºµ÷½âTCP²ÎÊý £¬ÀýÈçtcp_nopushºÍtcp_nodelay £¬¿ÉÒÔÓÅ»¯TCPÅþÁ¬µÄЧÂÊ £¬ïÔÌ­ÑÓ³Ù¡£

events{worker_connections1024;multi_accepton;#ÔÊÐíÒ»¸öworker½ÓÊܶà¸öÅþÁ¬}

SSL/TLSÓÅ»¯£ºÈôÊÇÄãµÄÊÓÆµ·þÎñʹÓÃÁËHTTPS £¬ÄÇôSSL/TLSµÄÎÕÊֺͼÓÃÜÀú³Ì»á´øÀ´Ò»¶¨µÄ¿ªÏú¡£¿ÉÒÔÆôÓÃSSLSessionCacheÀ´¼ÓËÙºóÐøÅþÁ¬ £¬²¢Ë¼Á¿Ê¹ÓÃTLSv1.3ÒÔ»ñµÃ¸üºÃµÄÐÔÄܺÍÇå¾²ÐÔ¡£

CDN¼¯³É£º¹ØÓÚÃæÏòÈ«ÇòÓû§µÄÊÓÆµ·þÎñ £¬½«Nginx×÷ΪCDNµÄ±ßÑØ½ÚµãÊÇ×î¼Ñʵ¼ù¡£½«ÊÓÆµÄÚÈÝ»º´æµ½È«Çò¸÷µØµÄCDN½Úµã £¬Óû§»á¼ûʱ¾ÍÄÜ´Ó×î½üµÄ½Úµã»ñÈ¡ÄÚÈÝ £¬¼«´óµØ½µµÍÑÓ³Ù £¬ÌáÉý²¥·ÅËÙÂʺÍÎȹÌÐÔ¡£NginxµÄ·´Ïò´úÀí¹¦Ð§¿ÉÒÔÇáËɵØÓëÖÖÖÖCDN·þÎñ¼¯³É¡£

ÐÂÎÅ̬ÊèÉ¢£º½«ÊÓÆµÎļþ£¨»òÆä»º´æ£©Ó붯̬ÇëÇó£¨ÈçAPIŲÓã©ÍÑÀë´¦Öóͷ£¡£Nginx¿ÉÒÔ¸ßЧµØ´¦Öóͷ£¾²Ì¬ÊÓÆµÎļþµÄ·Ö·¢ £¬¶ø½«¶¯Ì¬ÇëÇóת·¢¸øºó¶ËµÄÓ¦Ó÷þÎñÆ÷¡£

ÏÞÁ÷Óë·ÀµÁÁ´£ºÎªÁ˱£»¤ÄãµÄÊÓÆµÄÚÈݲ»±»ÀÄÓà £¬¿ÉÒÔÉèÖÃNginxµÄÏÞÁ÷Ä£¿é(limit_req_module)À´ÏÞÖÆµ¥Î»Ê±¼äÄÚÓû§ÇëÇóµÄÊýÄ¿ £¬±ÜÃâDDOS¹¥»÷ºÍÅÀ³æ¡£ÉèÖ÷ÀµÁÁ´(valid_referers)¿ÉÒÔ×èÖ¹ÆäËûÍøÕ¾Ö±½ÓÒýÓÃÄãµÄÊÓÆµ¡£

×ܽ᣺Nginx £¬ÊÓÆµ²¥·ÅÁìÓòµÄÍòÄÜսʿ

´ÓRTMPÖ±²¥µ½HLS/DASHµã²¥ £¬Nginx¶¼Õ¹ÏÖ³öÁËÆäǿʢµÄÉúÃüÁ¦ºÍÎÞаÐÔ¡£Ëü²»µ«½öÊÇÒ»¸öWeb·þÎñÆ÷ £¬¸üÊǹ¹½¨ÏÖ´úÊÓÆµÁ÷ýÌå»ù´¡ÉèÊ©µÄ½¹µã×é¼þ¡£Í¨¹ýÉîÈëÃ÷È·NginxµÄÉèÖÃÑ¡ÏîºÍÐÔÄÜÓÅ»¯¼¼ÇÉ £¬Äã¿ÉÒÔÓÐÓõؽâ¾öÊÓÆµ²¥·ÅÀú³ÌÖеÄÖÖÖÖÌôÕ½ £¬ÎªÓû§´øÀ´Á÷ͨ¡¢Îȹ̡¢µÍÑÓ³ÙµÄԢĿÌåÑé¡£

ÎÞÂÛÊÇÊ×´´µÄÖ±²¥Æ½Ì¨ £¬ÕվɳÉÊìµÄÊÓÆµµã²¥·þÎñ £¬Nginx¶¼ÊÇÄãÖµµÃÐÅÈεÄǿʢºóÔ®¡£Óµ±§Nginx £¬¿ªÆôÄãµÄÊÓÆµÁ÷ýÌåÐÂÆªÕ°ɣ¡

ÔðÈα༭£º ÀîÖùÃú
ÉùÃ÷£ºÖ¤È¯Ê±±¨Á¦ÕùÐÅÏ¢ÕæÊµ¡¢×¼È· £¬ÎÄÕÂÌá¼°ÄÚÈݽö¹©²Î¿¼ £¬²»×é³ÉʵÖÊÐÔͶ×ʽ¨Òé £¬¾Ý´Ë²Ù×÷Σº¦×Ôµ£
ÏÂÔØ¡°Ö¤È¯Ê±±¨¡±¹Ù·½APP £¬»ò¹Ø×¢¹Ù·½Î¢ÐŹ«ÖںŠ£¬¼´¿ÉËæÊ±Ïàʶ¹ÉÊж¯Ì¬ £¬¶´²ìÕþ²ßÐÅÏ¢ £¬ÕÆÎղƲú»ú»á¡£
ÍøÓÑ̸ÂÛ
µÇ¼ºó¿ÉÒÔ½²»°
·¢ËÍ
ÍøÓÑ̸ÂÛ½ö¹©Æä±í´ïСÎÒ˽¼Ò¿´·¨ £¬²¢²»Åúע֤ȯʱ±¨Ì¬¶È
ÔÝÎÞ̸ÂÛ
ΪÄãÍÆ¼ö
ÍøÕ¾µØÍ¼