Nginx 위치 설정 자세히 알 아 보기
1. www. domain. com / a 는 / var / www / domain. com / a / index. html 2. www. domain. com / b 로 돌아 가 야 합 니 다. / var / www / domain. com / b / index. html 는 Nginx 를 어떻게 설정 하여 효력 을 발생 시 킵 니까?
이 문 제 를 해결 하 는 첫 번 째 반응 은 Nginx 의 location 명령 을 직접 사용 하여 해결 하 는 것 입 니 다. 그러나 답 을 주기 전에 우 리 는 먼저 Nginx location 명령 의 기 초 를 알 아 보 겠 습 니 다.
Nginx 블록 설정 개념
Nginx 설정 파일 에 서 는 보통 두 개의 블록 (Block) 으로 설정 합 니 다.
1. 서버 블록
2. Location 블록
이 블록 은 Block 을 말 합 니 다. 뒤의 {} 사이 의 설정 내용 으로 이해 할 수 있 습 니 다.
Sever 블록 은 주로 실제 호스트 의 설정 입 니 다. 예 를 들 어 호스트 의 도 메 인 이름, IP, 포트 등 내용 을 설정 합 니 다.물론 Nginx 설정 파일 에서 여러 개의 Sever 블록 설정 을 지정 할 수 있 습 니 다.
한편, Location 블록 은 Sever 블록 에서 서로 다른 경로 와 요청 에 대한 설정 으로 세분 화 됩 니 다.한 사이트 에 URI 가 많 기 때문에 Location 블록 에 이 부분 을 설정 하면 여러 Location 설정 을 쓸 수 있 습 니 다.
다음은 Location 설정 의 기본 문법 을 살 펴 보 겠 습 니 다. 먼저:
location optional_modifier location_match {
# {} Block
}
위의 optionalmodifier 설정 항목 은 정규 표현 식 을 사용 할 수 있 습 니 다.자주 사용 하 는 몇 가 지 는 다음 과 같다.
Nginx 가 Location 블록 을 처리 하 는 순서
위 에 location 명령 의 기본 개념 과 자주 사용 되 는 설정 을 알 게 되 었 습 니 다.우리 다시 Location 발효 순 서 를 봅 시다!이것 도 중요 하 다.
모든 요청 이 Nginx 에 들 어 오 면 Nginx 는 Location 의 가장 좋 은 일치 항목 을 선택 하여 응답 합 니 다. 처리 하 는 구체 적 인 절 차 는 location 의 설정 과 비교 하 는 것 입 니 다. 이 절 차 는 다음 과 같은 몇 단계 로 나 눌 수 있 습 니 다.
선진 줄 접두사 의 일치 (즉, location 의 optional modifier 가 비어 있 는 설정).
Nginx Location 설정 의 예:
많이 말 하면 무익 하 다. 그렇게 많은 이론 을 보 았 는데 구체 적 인 사례 가 뒷받침 되 지 않 아 도 소용없다. 그래서 우 리 는 구체 적 인 배치 예 를 살 펴 보 자.
location = / {
# = , /
}
location /data {
# , /data , 。
}
location ^~ /img/ {
# ^~ , /img/ , 。
}
location ~* .(png|gif|ico|jpg|jpeg)$ {
# png, gif, ico, jpg or jpeg ; 。
}
매우 실 용적 인 두 가지 예:
1. 간단 한 이미지 도 난 방지 체인
location ~ .(png|gif|jpe?g)$ {
valid_referers none blocked yourwebsite.com *.yourwebsite.com;
#
if ($invalid_referer) {
return 403;
}
}
2. 기록 가능 한 경로 에 대해 phop 또는 js 의 발걸음 을 금지 합 니 다.
location ~* /(media|images|cache|tmp|logs)/.*.(php|jsp|pl|py|asp|cgi|sh)$ {
return 403;
}
문제 의 답안
마지막 으로 우 리 는 문제 의 답 을 다시 보면 이와 비슷 할 수 있다.
location /a {
root /var/www/domain.com/a;
}
location /b {
root /var/www/domain.com/b;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.