라이브러리

[NGINX] location - URL 패턴에 따른 위치 블록을 정의합니다.


NGINX 에서 `location`은 요청 URL을 처리하는 방법을 지정하는 지시자입니다. NGINX는 요청 URL을 분석하여 `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` 지시자를 사용하는 방법을 이해하는 데 도움이 될 것입니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 25 페이지

검색

게시물 검색