03 nginx lcoation 설정 쓰기

3313 단어 nginx
1. location 일치 명령
식별 자
묘사 하 다.
=
정확 한 일치;표준 uri 에 사용 하기 전에 요청 문자열 이 uri 와 엄 격 히 일치 하도록 요구 합 니 다.일치 에 성공 하면 일치 하지 않 고 이 location 의 요청 을 즉시 실행 합 니 다.
~
정규 일치;정규 uri 에 사용 하기 전에 uri 에 정규 가 포함 되 어 있 음 을 나타 내 고 대소 문 자 를 구분 합 니 다.
~*
정규 일치;정규 uri 앞 에 사용 하면 uri 에 정규 가 포함 되 어 있 고 대소 문 자 를 구분 하지 않 습 니 다.
^~
비정규 일치;표준 uri 에 사용 하기 전에 nginx 서버 가 접두사 가 가장 많은 uri 와 일치 하면 끝 납 니 다. 이 모드 가 일치 하면 정규 매 칭 을 사용 하지 않 습 니 다.
없다
일반 일치 (최 장 문자 일치);location 순서 와 상 관 없 이 일치 하 는 장단 점 에 따라 일치 하 는 결 과 를 얻 습 니 다.완전히 일치 하면 일치 하지 않 습 니 다.
비고:
1. uri 에 정규 표현 식 이 포함 되 어 있 으 면 ~ 또는 ~ * 식별 자 를 사용 해 야 합 니 다.
2 、 ~ * 와 일치 하 는 식별 자 를 앞에서 추가 할 수 있 습 니 다!반대로 다음 과 같다.
!~정규 가 일치 하지 않 음 을 나타 내 고 대소 문 자 를 구분 합 니 다.
!~*정규 가 일치 하지 않 고 대소 문 자 를 구분 하지 않 음 을 나타 낸다.
2. location 매 칭 실전
2.1 "=" 정확 한 일치 사례
location  = /login {
#      /login ,     ,    
}

2.2 "~" 대소 문자 구분 정규 일치 사례
location ~ /images/ {
#    ,     ,     ,    
}

2.3 "~ *" 대소 문자 정규 일치 사례 구분 없 음
location ~* /images/ {
#    ,      ,     ,    
}

2.4 "^ ~" 정규 일치 하 는 표준 일치 하지 않 음
location ^~ /images/ {

#       /images/      ,      ,        ,     。

}

2.5 일반 일치 (최 장 문자 일치)
location  /blog/ {
#  location    
#        ,       ,          
}

3 일치 우선 순위 (일치 순서)
식별 자가 없 는 요청 에서 일치 하 는 규칙 은 다음 과 같 습 니 다.
1. nginx 서버 는 먼저 server 블록 의 여러 location 블록 에서 표준 uri 와 요청 문자열 이 일치 하 는 지 검색 합 니 다.여러 표준 uri 가 일치 할 수 있다 면 일치 도가 가장 높 은 location 와 일치 합 니 다.
2. 그리고 nginx 는 location 블록 에서 정규 uri 와 요청 문자열 을 사용 하여 일치 합 니 다.정규 일치 에 성공 하면 일치 하 는 것 을 끝내 고 이 위치 로 요청 을 처리 합 니 다.정규 일치 에 실패 하면 표준 uri 에서 일치 도가 가장 높 은 location 을 사용 합 니 다.
비고:
1. 정확 한 일치 가 있 으 면 먼저 정확 한 일치, 일치 성공, 즉시 결 과 를 되 돌려 줍 니 다.
2. 일반적인 매 칭 은 순서 와 무관 합 니 다. 일치 하 는 길이 에 따라 일치 하 는 결 과 를 얻 기 때 문 입 니 다.
3. 정규 매 칭 은 순서 와 관련 이 있 습 니 다. 위 에서 아래로 매 칭 되 기 때 문 입 니 다.(우선 일치 하면 분석 과정 을 끝 냅 니 다)
4. location 에서 통 일 된 location 이 있 습 니 다. 모든 요청 이 일치 할 수 있 습 니 다. 다음 과 같 습 니 다.
location  / {
#           /   ,              
#                
}

식별 자 를 결합 하여 일치 하 는 순 서 는 다음 과 같 습 니 다.
(location =) > (location 전체 경로) > (location ^ ~ 경로) > (location ~, ~ * 정규 순서) > (location 부분 시작 경로) > (location /) 즉: (정확 한 일치) > (최 장 문자열 은 일치 하지만 완전히 일치) > (정규 가 아 닌 일치) > (최 장 문자열 은 일치 하고 완전히 일치 하지 않 음) > (location 연결)
실천 하 다.
location = / {  
   //    / ,             
    echo "  A";
}
 
location = /login {
  //     /login      ,      ,         
    echo "  B";
}
 
location ^~ /blog/ { 
  //     ,  /blog/ ,        ,     
  echo "  C";
}
 
 
location ~  \.(gif|jpg|png|js|css)$ {
    //                 ,        ,     
    echo "  D";
}
 
 
location ~* \.png$ {  
   //           ,        ,     
    echo "  E";
}
 
location / {
  //          /   ,              
  //          ,       
    echo "  F";
}
 
location /blog/detail { 
  //       ,       ,       ,          
  echo "  G";
}
 
location /images {  
    //       ,   
    echo "  Y";
}
 
location ^~ /static/files {  
    //     ,     ,       
    echo "  X";
}

좋은 웹페이지 즐겨찾기