1.19 nginx 의 location 설정

1.19 nginx 의 location 설정
제3자 모듈 echo - nginx - module 설치
git clone https://github.com/openresty/echo-nginx-module.git
./configure --prefix=/usr/local/nginx --add-module=/path/to/echo-nginx-module

echo 모듈 설치 작업:
cd /usr/local/src/nginx-1.8.0/
./configure --prefix=/usr/local/nginx --add-module=/usr/local/src/echo-nginx-module
make && make install 
/etc/init.d/nginx restart
# nginx -V
nginx version: nginx/1.8.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) 
configure arguments: --prefix=/usr/local/nginx --add-module=/usr/local/src/echo-nginx-module

쓰기 설정:
server {
        listen 80;
        server_name  2.com;
        root /data/t-nginx/2.com;
        location /abc/
          {
                echo 123;
          }
        }

효과: echo 정 보 를 출력 하려 면 / abc / 에 접근 하 십시오.
curl -x127.0.0.1:80 2.com/abc/1111
123

위치 문법
location [=|^~|~|~*] /uri/ { …. }
https://coding.net/u/aminglinux/p/nginx/git/blob/master/location/ruler.md 
location 우선 순위 및 사례
=  ... 보다 높다  ^~  ... 보다 높다  ~* ~ 과 같다  ... 보다 높다  /
http://coding.net/u/aminglinux/p/nginx/git/blob/master/location/priority.md 
필드 비교: / 와 ~*
server {
        listen 80;
        server_name  2.com;
        root /data/t-nginx/2.com;
        location /abc/
          {
                echo "/";
          }
        location ~* abc
          {
                echo "~*";
          } 
        }

효과:
 location / abc / 와 일치 할 때 출력 /
 location ~ * abc 와 일치 할 때 출력 ~ *
테스트 접근:
curl -x127.0.0.1:80 2.com/abc/1111

~*
실험 에 의 하면 같은 장면 ~ * 비 / 의 우선 순위 가 높다 는 것 을 증명 합 니 다.
장면 비교: ~ 와 ~ *
이 두 개가 동시에 존재 하면 가장 먼저 나타 난 location 문법 과 일치 합 니 다.
장면 비교: = 와 ^ ~
vim 2.com.conf 
server {
        listen 80;
        server_name  2.com;
        root /data/t-nginx/2.com;
        location ^~ abc
          {
                echo "^~";
          }
        location = "/abc/1.php"
          {
                echo "=";
          }
}
# curl -x127.0.0.1:80 2.com/abc/1.php
=

실험 은 같은 장면 이 ^ ~ 보다 우선 순위 가 높다 는 것 을 증명 한다.
규칙 예시
location = "/12.jpg" { ... }

예:
www.aminglinux.com/12.jpg       
www.aminglinux.com/abc/12.jpg        

일치 하지 않 는 이유: "=" 은 정확 한 일치 이기 때 문 입 니 다.
location ^~ "/abc/" { ... }

예:
www.aminglinux.com/abc/123.html   
www.aminglinux.com/a/abc/123.jpg    

일치 하지 않 는 이유: "/ abc /" 로 시작 하여 일치 하기 때 문 입 니 다.
location ~ "png" { ... }

예:
www.aminglinux.com/aaa/bbb/ccc/123.png   
www.aminglinux.com/aaa/png/123.html   

모두 일치: ~ "png" 와 일치 하면 됩 니 다.
location ~* "png" { ... }

예:
www.aminglinux.com/aaa/bbb/ccc/123.PNG   
www.aminglinux.com/aaa/png/123.html   

모두 일치: 대소 문자 가 일치 하 는 지 구분 하지 않 기 때문에 "png" 가 있 으 면 일치 합 니 다.
location /admin/ { ... }

예:
www.aminglinux.com/admin/aaa/1.php   
www.aminglinux.com/123/admin/1.php    

일치 하지 않 는 이유: uri 후 / admin / 의 시작 이기 때문에 so 두 번 째 는 어 울 리 지 않 습 니 다.

좋은 웹페이지 즐겨찾기