ÀÖÓãµç¾º

½ÌÓýÐÐÒµA¹ÉIPOµÚÒ»¹É£¨¹ÉƱ´úÂë 003032£©

È«¹ú×Éѯ/ͶËßÈÈÏߣº400-618-4000

Nginx¾²Ì¬×ÊÔ´ÅäÖÃÃüÁî½éÉÜ¡¾Nginx½Ì³Ì¡¿

¸üÐÂʱ¼ä:2021Äê07ÔÂ16ÈÕ16ʱ26·Ö À´Ô´:ÀÖÓãµç¾º ä¯ÀÀ´ÎÊý:

Nginx¾²Ì¬×ÊÔ´µÄÅäÖÃÖ¸Áî

listenÖ¸Áî

listen:ÓÃÀ´ÅäÖüàÌý¶Ë¿Ú¡£

Óï·¨ listen address[:port] [default_server]...; listen port [default_server]...;
ĬÈÏÖµ listen *:80 | *:8000
λÖà server

listenµÄÉèÖñȽÏÁé»î£¬ÎÒÃÇͨ¹ý¼¸¸öÀý×ÓÀ´°Ñ³£ÓõÄÉèÖ÷½Ê½ÊìϤÏ£º

listen 127.0.0.1:8000; // listen localhost:8000 ¼àÌýÖ¸¶¨µÄIPºÍ¶Ë¿Ú

listen 127.0.0.1; ¼àÌýÖ¸¶¨IPµÄËùÓж˿Ú

listen 8000; ¼àÌýÖ¸¶¨¶Ë¿ÚÉϵÄÁ¬½Ó

listen *:8000; ¼àÌýÖ¸¶¨¶Ë¿ÚÉϵÄÁ¬½Ó

default_serverÊôÐÔÊDZêʶ·û£¬ÓÃÀ´½«´ËÐéÄâÖ÷»úÉèÖóÉĬÈÏÖ÷»ú¡£ËùνµÄĬÈÏÖ÷»úÖ¸µÄÊÇÈç¹ûûÓÐÆ¥Åäµ½¶ÔÓ¦µÄaddress:port£¬Ôò»áĬÈÏÖ´ÐеÄ¡£Èç¹û²»Ö¸¶¨Ä¬ÈÏʹÓõÄÊǵÚÒ»¸öserver¡£

server{
	listen 8080;
	server_name 127.0.0.1;
	location /{
		root html;
		index index.html;
	}
}
server{
	listen 8080 default_server;
	server_name localhost;
	default_type text/plain;
	return 444 'This is a error request';
}

server_nameÖ¸Áî

server_name£ºÓÃÀ´ÉèÖÃÐéÄâÖ÷»ú·þÎñÃû³Æ¡£

127.0.0.1 ¡¢ localhost ¡¢ÓòÃû[www.baidu.com | www.jd.com]

Óï·¨ server_name name ...; name¿ÉÒÔÌṩ¶à¸öÖмäÓÿոñ·Ö¸ô
ĬÈÏÖµ server_name "";
λÖà server

¹ØÓÚserver_nameµÄÅäÖ÷½Ê½ÓÐÈýÖÖ£¬·Ö±ðÊÇ£º

·¾«È·Æ¥Åä

·Í¨Åä·ûÆ¥Åä

·ÕýÔò±í´ïʽƥÅä

ÅäÖ÷½Ê½Ò»£º¾«È·Æ¥Åä

Èç

server {
	listen 80;
	server_name www.itcast.cn www.itheima.cn;
	...
}

²¹³äС֪ʶµã:

hostsÊÇÒ»¸öûÓÐÀ©Õ¹ÃûµÄϵͳÎļþ£¬¿ÉÒÔÓüÇʱ¾µÈ¹¤¾ß´ò¿ª£¬Æä×÷ÓþÍÊǽ«Ò»Ð©³£ÓõÄÍøÖ·ÓòÃûÓëÆä¶ÔÓ¦µÄIPµØÖ·½¨Á¢Ò»¸ö¹ØÁª“Êý¾Ý¿â”£¬µ±Óû§ÔÚä¯ÀÀÆ÷ÖÐÊäÈëÒ»¸öÐèÒªµÇ¼µÄÍøÖ·Ê±£¬ÏµÍ³»áÊ×ÏÈ×Ô¶¯´ÓhostsÎļþÖÐѰÕÒ¶ÔÓ¦µÄIPµØÖ·£¬Ò»µ©ÕÒµ½£¬ÏµÍ³»áÁ¢¼´´ò¿ª¶ÔÓ¦ÍøÒ³£¬Èç¹ûûÓÐÕÒµ½£¬Ôòϵͳ»áÔÙ½«ÍøÖ·Ìá½»DNSÓòÃû½âÎö·þÎñÆ÷½øÐÐIPµØÖ·µÄ½âÎö¡£

windows:C:\Windows\System32\drivers\etc

centos£º/etc/hosts

ÒòΪÓòÃûÊÇÒªÊÕȡһ¶¨µÄ·ÑÓã¬ËùÒÔÎÒÃÇ¿ÉÒÔʹÓÃÐÞ¸ÄhostsÎļþÀ´ÖÆ×÷һЩÐéÄâÓòÃûÀ´Ê¹Óá£ÐèÒªÐÞ¸Ä /etc/hostsÎļþÀ´Ìí¼Ó

vim /etc/hosts
127.0.0.1 www.itcast.cn
127.0.0.1 www.itheima.cn

ÅäÖ÷½Ê½¶þ:ʹÓÃͨÅä·ûÅäÖÃ

server_nameÖÐÖ§³ÖͨÅä·û"*",µ«ÐèҪעÒâµÄÊÇͨÅä·û²»ÄܳöÏÖÔÚÓòÃûµÄÖм䣬ֻÄܳöÏÖÔÚÊ׶λòβ¶Î£¬È磺

server {
	listen 80;
	server_name  *.itcast.cn	www.itheima.*;
	# www.itcast.cn abc.itcast.cn www.itheima.cn www.itheima.com
	...
}

ÏÂÃæµÄÅäÖþͻᱨ´í

server {
	listen 80;
	server_name  www.*.cn www.itheima.c*
	...
}

ÅäÖÃÈý:ʹÓÃÕýÔò±í´ïʽÅäÖÃ

server_nameÖпÉÒÔʹÓÃÕýÔò±í´ïʽ£¬²¢ÇÒʹÓÃ~×÷ΪÕýÔò±í´ïʽ×Ö·û´®µÄ¿ªÊ¼±ê¼Ç¡£

³£¼ûµÄÕýÔò±í´ïʽ

´úÂë ˵Ã÷
^ Æ¥ÅäËÑË÷×Ö·û´®¿ªÊ¼Î»ÖÃ
$ Æ¥ÅäËÑË÷×Ö·û´®½áÊøÎ»ÖÃ
. Æ¥Åä³ý»»Ðзû\nÖ®ÍâµÄÈκε¥¸ö×Ö·û
\ תÒå×Ö·û£¬½«ÏÂÒ»¸ö×Ö·û±ê¼ÇÎªÌØÊâ×Ö·û
[xyz] ×Ö·û¼¯£¬ÓëÈÎÒâÒ»¸öÖ¸¶¨×Ö·ûÆ¥Åä
[a-z] ×Ö·û·¶Î§£¬Æ¥ÅäÖ¸¶¨·¶Î§ÄÚµÄÈκÎ×Ö·û
\w ÓëÒÔÏÂÈÎÒâ×Ö·ûÆ¥Åä A-Z a-z 0-9 ºÍÏ»®Ïß,µÈЧÓÚ[A-Za-z0-9_]
\d Êý×Ö×Ö·ûÆ¥Å䣬µÈЧÓÚ[0-9]
{n} ÕýºÃÆ¥Åän´Î
{n,} ÖÁÉÙÆ¥Åän´Î
{n,m} Æ¥ÅäÖÁÉÙn´ÎÖÁ¶àm´Î
* Áã´Î»ò¶à´Î£¬µÈЧÓÚ{0,}
+ Ò»´Î»ò¶à´Î£¬µÈЧÓÚ{1,}
? Áã´Î»òÒ»´Î£¬µÈЧÓÚ{0,1}

ÅäÖÃÈçÏ£º

server{
        listen 80;
        server_name ~^www\.(\w+)\.com$;
        default_type text/plain;
        return 200 $1  $2 ..;
}

×¢Òâ ~ºóÃæ²»Äܼӿոñ£¬À¨ºÅ¿ÉÒÔȡֵ

Æ¥ÅäÖ´ÐÐ˳Ðò

ÓÉÓÚserver_nameÖ¸ÁîÖ§³ÖͨÅä·ûºÍÕýÔò±í´ïʽ£¬Òò´ËÔÚ°üº¬¶à¸öÐéÄâÖ÷»úµÄÅäÖÃÎļþÖУ¬¿ÉÄÜ»á³öÏÖÒ»¸öÃû³Æ±»¶à¸öÐéÄâÖ÷»úµÄserver_nameÆ¥Åä³É¹¦£¬µ±Óöµ½ÕâÖÖÇé¿ö£¬µ±Ç°µÄÇëÇ󽻸øË­À´´¦ÀíÄØ?

server{
	listen 80;
	server_name ~^www\.\w+\.com$;
	default_type text/plain;
	return 200 'regex_success';
}

server{
	listen 80;
	server_name www.itheima.*;
	default_type text/plain;
	return 200 'wildcard_after_success';
}

server{
	listen 80;
	server_name *.itheima.com;
	default_type text/plain;
	return 200 'wildcard_before_success';
}

server{
	listen 80;
	server_name www.itheima.com;
	default_type text/plain;
	return 200 'exact_success';
}

server{
	listen 80 default_server;
	server_name _;
	default_type text/plain;
	return 444 'default_server not found server';
}

½áÂÛ£º

exact_success
wildcard_before_success
wildcard_after_success
regex_success
default_server not found server!!

No1:׼ȷƥÅäserver_name

No2:ͨÅä·ûÔÚ¿ªÊ¼Ê±Æ¥Åäserver_name³É¹¦

No3:ͨÅä·ûÔÚ½áÊøÊ±Æ¥Åäserver_name³É¹¦

No4:ÕýÔò±í´ïʽƥÅäserver_name³É¹¦

No5:±»Ä¬ÈϵÄdefault_server´¦Àí£¬Èç¹ûûÓÐÖ¸¶¨Ä¬ÈÏÕÒµÚÒ»¸öserver


locationÖ¸Áî

server{
	listen 80;
	server_name localhost;
	location / {
	
	}
	location /abc{
	
	}
	...
}

location:ÓÃÀ´ÉèÖÃÇëÇóµÄURI

ĬÈÏÖµ
Óï·¨ location [ = | ~ | ~* | ^~ |@ ] uri{...}
λÖà server,location

uri±äÁ¿ÊÇ´ýÆ¥ÅäµÄÇëÇó×Ö·û´®£¬¿ÉÒÔ²»°üº¬ÕýÔò±í´ïʽ£¬Ò²¿ÉÒÔ°üº¬ÕýÔò±í´ïʽ£¬ÄÇônginx·þÎñÆ÷ÔÚËÑË÷Æ¥ÅälocationµÄʱºò£¬ÊÇÏÈʹÓò»°üº¬ÕýÔò±í´ïʽ½øÐÐÆ¥Å䣬ÕÒµ½Ò»¸öÆ¥Åä¶È×î¸ßµÄÒ»¸ö£¬È»ºóÔÚͨ¹ý°üº¬ÕýÔò±í´ïʽµÄ½øÐÐÆ¥Å䣬Èç¹ûÄÜÆ¥Åäµ½Ö±½Ó·ÃÎÊ£¬Æ¥Åä²»µ½£¬¾ÍʹÓÃ¸Õ²ÅÆ¥Åä¶È×î¸ßµÄÄǸölocationÀ´´¦ÀíÇëÇó¡£

ÊôÐÔ½éÉÜ:

²»´ø·ûºÅ£¬ÒªÇó±ØÐëÒÔÖ¸¶¨Ä£Ê½¿ªÊ¼

server {
	listen 80;
	server_name 127.0.0.1;
	location /abc{
		default_type text/plain;
		return 200 "access success";
	}
}
ÒÔÏ·ÃÎʶ¼ÊÇÕýÈ·µÄ
http://192.168.200.133/abc
http://192.168.200.133/abc?p1=TOM
http://192.168.200.133/abc/
http://192.168.200.133/abcdef

= : ÓÃÓÚ²»°üº¬ÕýÔò±í´ïʽµÄuriǰ£¬±ØÐëÓëÖ¸¶¨µÄģʽ¾«È·Æ¥Åä

server {
	listen 80;
	server_name 127.0.0.1;
	location =/abc{
		default_type text/plain;
		return 200 "access success";
	}
}
¿ÉÒÔÆ¥Åäµ½
http://192.168.200.133/abc
http://192.168.200.133/abc?p1=TOM
Æ¥Åä²»µ½
http://192.168.200.133/abc/
http://192.168.200.133/abcdef

~ £º ÓÃÓÚ±íʾµ±Ç°uriÖаüº¬ÁËÕýÔò±í´ïʽ£¬²¢ÇÒÇø·Ö´óСд

~*: ÓÃÓÚ±íʾµ±Ç°uriÖаüº¬ÁËÕýÔò±í´ïʽ£¬²¢ÇÒ²»Çø·Ö´óСд

»»¾ä»°Ëµ£¬Èç¹ûuri°üº¬ÁËÕýÔò±í´ïʽ£¬ÐèÒªÓÃÉÏÊöÁ½¸ö·ûºÏÀ´±êʶ

server {
	listen 80;
	server_name 127.0.0.1;
	location ~^/abc\w${
		default_type text/plain;
		return 200 "access success";
	}
}
server {
	listen 80;
	server_name 127.0.0.1;
	location ~*^/abc\w${
		default_type text/plain;
		return 200 "access success";
	}
}

^~: ÓÃÓÚ²»°üº¬ÕýÔò±í´ïʽµÄuriǰ£¬¹¦ÄܺͲ»¼Ó·ûºÅµÄÒ»Ö£¬Î¨Ò»²»Í¬µÄÊÇ£¬Èç¹ûģʽƥÅ䣬ÄÇô¾ÍÍ£Ö¹ËÑË÷ÆäËûģʽÁË¡£

server {
	listen 80;
	server_name 127.0.0.1;
	location ^~/abc{
		default_type text/plain;
		return 200 "access success";
	}
}

ÉèÖÃÇëÇó×ÊÔ´µÄĿ¼root / alias

root£ºÉèÖÃÇëÇóµÄ¸ùĿ¼

Óï·¨ root path;
ĬÈÏÖµ root html;
λÖà http¡¢server¡¢location

pathΪNginx·þÎñÆ÷½ÓÊÕµ½ÇëÇóÒÔºó²éÕÒ×ÊÔ´µÄ¸ùĿ¼·¾¶¡£

alias£ºÓÃÀ´¸ü¸ÄlocationµÄURI

Óï·¨ alias path;
ĬÈÏÖµ
λÖà location

pathΪÐ޸ĺóµÄ¸ù·¾¶¡£

ÒÔÉÏÁ½¸öÖ¸Áî¶¼¿ÉÒÔÀ´Ö¸¶¨·ÃÎÊ×ÊÔ´µÄ·¾¶£¬ÄÇôÕâÁ½ÕßÖ®¼äµÄÇø±ðÊÇʲô?

¾ÙÀý˵Ã÷£º

(1)ÔÚ/usr/local/nginx/htmlĿ¼Ï´´½¨Ò»¸ö imagesĿ¼,²¢ÔÚĿ¼Ï·ÅÈëÒ»ÕÅͼƬmv.pngͼƬ

location /images {
	root /usr/local/nginx/html;
}

·ÃÎÊͼƬµÄ·¾¶Îª:

http://192.168.200.133/images/mv.png

(2)Èç¹û°Ñroot¸ÄΪalias

location /images {
	alias /usr/local/nginx/html;
}

ÔٴηÃÎÊÉÏÊöµØÖ·£¬Ò³Ãæ»á³öÏÖ404µÄ´íÎ󣬲鿴´íÎóÈÕÖ¾»á·¢ÏÖÊÇÒòΪµØÖ·²»¶Ô£¬ËùÒÔÑéÖ¤ÁË£º

rootµÄ´¦Àí½á¹ûÊÇ: root·¾¶+location·¾¶
/usr/local/nginx/html/images/mv.png
aliasµÄ´¦Àí½á¹ûÊÇ:ʹÓÃalias·¾¶Ìæ»»location·¾¶
/usr/local/nginx/html/images

ÐèÒªÔÚaliasºóÃæÂ·¾¶¸ÄΪ

location /images {
	alias /usr/local/nginx/html/images;
}

(3)Èç¹ûlocation·¾¶ÊÇÒÔ/½áβ,ÔòaliasÒ²±ØÐëÊÇÒÔ/½á⣬rootûÓÐÒªÇó

½«ÉÏÊöÅäÖÃÐÞ¸ÄΪ

location /images/ {
	alias /usr/local/nginx/html/images;
}

·ÃÎʾͻá³öÎÊÌ⣬²é¿´´íÎóÈÕÖ¾»¹ÊÇ·¾¶²»¶Ô£¬ËùÒÔÐèÒª°ÑaliasºóÃæ¼ÓÉÏ /

С½á£º

rootµÄ´¦Àí½á¹ûÊÇ: root·¾¶+location·¾¶

aliasµÄ´¦Àí½á¹ûÊÇ:ʹÓÃalias·¾¶Ìæ»»location·¾¶

aliasÊÇÒ»¸öĿ¼±ðÃûµÄ¶¨Ò壬rootÔòÊÇ×îÉϲãĿ¼µÄº¬Òå¡£

Èç¹ûlocation·¾¶ÊÇÒÔ/½áβ,ÔòaliasÒ²±ØÐëÊÇÒÔ/½á⣬rootûÓÐÒªÇó

indexÖ¸Áî

index:ÉèÖÃÍøÕ¾µÄĬÈÏÊ×Ò³

Óï·¨ index file ...;
ĬÈÏÖµ index index.html;
λÖà http¡¢server¡¢location

indexºóÃæ¿ÉÒÔ¸ú¶à¸öÉèÖã¬Èç¹û·ÃÎʵÄʱºòûÓÐÖ¸¶¨¾ßÌå·ÃÎʵÄ×ÊÔ´£¬Ôò»áÒÀ´Î½øÐвéÕÒ£¬ÕÒµ½µÚÒ»¸öΪֹ¡£

¾ÙÀý˵Ã÷£º

location / {
	root /usr/local/nginx/html;
	index index.html index.htm;
}
·ÃÎʸÃlocationµÄʱºò£¬¿ÉÒÔͨ¹ý http://ip:port/£¬µØÖ·ºóÃæÈç¹û²»Ìí¼ÓÈκÎÄÚÈÝ£¬ÔòĬÈÏÒÀ´Î·ÃÎÊindex.htmlºÍindex.htm£¬ÕÒµ½µÚÒ»¸öÀ´½øÐзµ»Ø

error_pageÖ¸Áî

error_page:ÉèÖÃÍøÕ¾µÄ´íÎóÒ³Ãæ

Óï·¨ error_page code ... [=[response]] uri;
ĬÈÏÖµ
λÖà http¡¢server¡¢location......

µ±³öÏÖ¶ÔÓ¦µÄÏìÓ¦codeºó£¬ÈçºÎÀ´´¦Àí¡£

¾ÙÀý˵Ã÷£º

(1)¿ÉÒÔÖ¸¶¨¾ßÌåÌø×ªµÄµØÖ·

server {
	error_page 404 http://www.itcast.cn;
}

(2)¿ÉÒÔÖ¸¶¨Öض¨ÏòµØÖ·

server{
	error_page 404 /50x.html;
	error_page 500 502 503 504 /50x.html;
	location =/50x.html{
		root html;
	}
}

(3)ʹÓÃlocationµÄ@·ûºÏÍê³É´íÎóÐÅϢչʾ

server{
	error_page 404 @jump_to_error;
	location @jump_to_error {
		default_type text/plain;
		return 404 'Not Found Page...';
	}
}

¿ÉÑ¡Ïî=[response]µÄ×÷ÓÃÊÇÓÃÀ´½«ÏàÓ¦´úÂë¸ü¸ÄΪÁíÍâÒ»¸ö

server{
	error_page 404 =200 /50x.html;
	location =/50x.html{
		root html;
	}
}

ÕâÑùµÄ»°£¬µ±·µ»Ø404ÕÒ²»µ½¶ÔÓ¦µÄ×ÊÔ´µÄʱºò£¬ÔÚä¯ÀÀÆ÷ÉÏ¿ÉÒÔ¿´µ½£¬×îÖÕ·µ»ØµÄ״̬ÂëÊÇ200£¬Õâ¿éÐèҪעÒâÏ£¬±àдerror_pageºóÃæµÄÄÚÈÝ£¬404ºóÃæÐèÒª¼Ó¿Õ¸ñ£¬200Ç°Ãæ²»Äܼӿոñ

½«±¾Ò³ÃæÁ´½Óhttp://www.itcast.cn/news/20210716/1626170109.shtml·¢Ë͸øQQ£º435946716£¬Ãâ·Ñ»ñÈ¡ÉÏÃæ¿Î³ÌÈ«Ì×ÊÓÆµ¡¢±Ê¼ÇºÍÔ´Âë¡£



²ÂÄãϲ»¶£º

NginxÊÓÆµ½Ì³ÌÏÂÔØ

nginxÅäÖÃÎļþÏê½â

Nginx°²×°½Ì³Ì£ºÈýÖÖ·½Ê½ÊÖ°ÑÊÖ½Ìѧ

ÔõÃ´ÖØÆônginxºÍ¹Ø±Õ·þÎñ£¿

ÀÖÓãµç¾ºjava¿ª·¢Åàѵ¿Î³Ì

0 ·ÖÏíµ½£º
ºÍÎÒÃÇÔÚÏß½»Ì¸£¡
¡¾ÍøÕ¾µØÍ¼¡¿¡¾sitemap¡¿