nginx: root vs alias

발생일: 2015.01.02

키워드: nginx, root, alias

문제:
`root` 디렉티브와 `alias` 디렉티브는 쓸 때마다 헷갈린다.
이참에 정리!


해결책:

root: location 으로 넘어온 부분을 root로 설정한 경로에 추가한다.
alias: location 에 매칭된 부분을 제거하고, alias 로 설정한 경로에서 찾는다.

  location /static/ {
    root /var/www/app/static;
    autoindex off;
  }

/var/www/app/static/static 경로에서 찾는다.

  location /static/ {
    alias /var/www/app/static/;
    autoindex off;
  }

/var/www/app/static/ 에서 찾는다.


논의:

위와 같이 디렉토리처럼 찾는 건, location 에서 정의한 path가 디렉토리일 때만이다.
디렉토리가 아니라면, 아래 예제처럼 특정 파일을 지정해줘야 한다.

location = /robots.txt {
    alias /usr/share/nginx/html/dir/robots.txt;
}

참고:


저작자 표시 비영리 변경 금지
신고