라이브러리
[NGINX] location - URL 패턴에 따른 위치 블록을 정의합니다.
NGINX 에서 `location`은 요청 URL을 처리하는 방법을 지정하는 지시자입니다. NGINX는 요청 URL을 분석하여 `location` 지시자가 지정한 블록에 해당하는지 확인하고, 해당 블록의 지시자를 적용합니다.
NGINX location 지시자의 기본 구조
- `modifier`: 옵션으로, `~` (정규 표현식), `^~` (정규 표현식, 우선순위가 높음), `=` (정확한 문자열), `~*` (정규 표현식, 대소문자 무시), `^~*` (정규 표현식, 우선순위가 높음, 대소문자 무시), `=` (정확한 문자열, 대소문자 무시) 중 하나를 지정할 수 있습니다.
- `uri`: 처리할 URL의 경로를 지정합니다.
NGINX location 지시자의 예제
# 1. 정적 파일 처리
- 이 예제에서는 `/static` 경로에 접근할 때 `/var/www/html` 디렉토리의 파일을 처리합니다.
# 2. 정규 표현식으로 URL 처리
- 이 예제에서는 `.php` 확장자를 가진 파일에 접근할 때 FastCGI를 사용하여 PHP를 처리합니다.
# 3. 우선순위가 높은 정규 표현식으로 URL 처리
- 이 예제에서는 `/admin` 경로에 접근할 때 우선순위가 높은 정규 표현식으로 처리합니다. 이 블록 내의 지시자는 `/admin` 경로에만 적용됩니다.
# 4. 정확한 문자열로 URL 처리
- 이 예제에서는 `/index.html` 경로에 정확히 접근할 때 `/var/www/html` 디렉토리의 파일을 처리합니다.
# 5. 대소문자 무시로 URL 처리
- 이 예제에서는 `.css` 확장자를 가진 파일에 접근할 때 대소문자 무시로 처리합니다. 이 블록 내의 지시자는 `.css` 확장자를 가진 모든 파일에 적용됩니다.
NGINX location 지시자의 참고 사항
- `location` 지시자는 여러 블록을 중첩할 수 있습니다.
- `location` 지시자는 우선순위가 높은 블록을 먼저 처리합니다.
- `location` 지시자는 정적 파일 처리를 위해 `root` 지시자를 사용할 수 있습니다.
- `location` 지시자는 동적 파일 처리를 위해 FastCGI를 사용할 수 있습니다.
이러한 예제와 지시자는 NGINX에서 `location` 지시자를 사용하는 방법을 이해하는 데 도움이 될 것입니다.
NGINX location 지시자의 기본 구조
#hostingforum.kr
nginx
location [modifier] uri {
# 지시자
}
- `modifier`: 옵션으로, `~` (정규 표현식), `^~` (정규 표현식, 우선순위가 높음), `=` (정확한 문자열), `~*` (정규 표현식, 대소문자 무시), `^~*` (정규 표현식, 우선순위가 높음, 대소문자 무시), `=` (정확한 문자열, 대소문자 무시) 중 하나를 지정할 수 있습니다.
- `uri`: 처리할 URL의 경로를 지정합니다.
NGINX location 지시자의 예제
# 1. 정적 파일 처리
#hostingforum.kr
nginx
location /static {
root /var/www/html;
}
- 이 예제에서는 `/static` 경로에 접근할 때 `/var/www/html` 디렉토리의 파일을 처리합니다.
# 2. 정규 표현식으로 URL 처리
#hostingforum.kr
nginx
location ~ .php$ {
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
- 이 예제에서는 `.php` 확장자를 가진 파일에 접근할 때 FastCGI를 사용하여 PHP를 처리합니다.
# 3. 우선순위가 높은 정규 표현식으로 URL 처리
#hostingforum.kr
nginx
location ^~ /admin {
auth_basic "Admin Area";
auth_basic_user_file /etc/nginx/htpasswd;
}
- 이 예제에서는 `/admin` 경로에 접근할 때 우선순위가 높은 정규 표현식으로 처리합니다. 이 블록 내의 지시자는 `/admin` 경로에만 적용됩니다.
# 4. 정확한 문자열로 URL 처리
#hostingforum.kr
nginx
location = /index.html {
root /var/www/html;
}
- 이 예제에서는 `/index.html` 경로에 정확히 접근할 때 `/var/www/html` 디렉토리의 파일을 처리합니다.
# 5. 대소문자 무시로 URL 처리
#hostingforum.kr
nginx
location ~* .css$ {
expires 1d;
}
- 이 예제에서는 `.css` 확장자를 가진 파일에 접근할 때 대소문자 무시로 처리합니다. 이 블록 내의 지시자는 `.css` 확장자를 가진 모든 파일에 적용됩니다.
NGINX location 지시자의 참고 사항
- `location` 지시자는 여러 블록을 중첩할 수 있습니다.
- `location` 지시자는 우선순위가 높은 블록을 먼저 처리합니다.
- `location` 지시자는 정적 파일 처리를 위해 `root` 지시자를 사용할 수 있습니다.
- `location` 지시자는 동적 파일 처리를 위해 FastCGI를 사용할 수 있습니다.
이러한 예제와 지시자는 NGINX에서 `location` 지시자를 사용하는 방법을 이해하는 데 도움이 될 것입니다.
댓글목록
등록된 댓글이 없습니다.