nginx 설정 (location, prefix match, regular expression match)
Cloud Computing/unix, sh, network 2016. 6. 28. 10:42nginx 설정 설명
server {
listen 80;
server_name demo.abc.com;
charset utf-8;
access_log /home/ubuntu/app/log/nginx/demo_abc_com_access.log;
error_log /home/ubuntu/app/log/nginx/demo_abc_com_error.log;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
location block의 모습
location optional_modifier location_match {
. . .
}
location을 match할때는 다음 순서로 이루어진다.
- URL의 prefix가 일치하는지 먼저 검사하여, 일치하는 것이 발견되면 기억해 놓고, 다음 location match를 수행한다. 즉 멈추지 않는다.
- regular expression과 일치하는 것이 있는 검사한다.
- 최종적으로 일치하는 regular expression이 있으면 그것을 선택하고, 없으면 1번에서 발견한 prefix 일치하였던 것을 리턴한다.
- prefix match 중에 '=', '^~' 로 수식된 것에서 prefix 일치가 발견되면 regular expression 비교 수행하지 않고 바로 리턴한다. (1번의 예외상황)
location block에서 optional_modifier 의미
- = 는 exact match를 의미. RE 진행하지 않음
- / 및 /abc 는 prefix를 의미
- ~는 regular expression(대소문자 구분함)을 의미. ~*는 대소문자 구분없는 RE(regular expression)
- ^~는 match된 경우에 RE 진행하지 않음 이라는 의미.
location = / { [ configuration A ] } location / { [ configuration B ] } location /documents/ { [ configuration C ] } location ^~ /images/ { [ configuration D ] } location ~* \.(gif|jpg|jpeg)$ { [ configuration E ] }
nginx 설정
/etc/nginx/sites-available 아래에 파일을 생성하고,
/etc/nginx/sites-enabled 에서 링크를 연결한다 (ln -s /etc/nginx/sites-available/xyz . )
'Cloud Computing > unix, sh, network' 카테고리의 다른 글
cpu, core, processor 정보 구하기 (0) | 2013.05.24 |
---|---|
[curl, wget] 다운로드 속도 조절, 부분 받기 (0) | 2013.03.29 |
WRITTEN BY
- manager@
Data Analysis, Text/Knowledge Mining, Python, Cloud Computing, Platform
,