소개
역할
장점
설치 방법
sudo apt-get install nginx
nginx.conf
파일에서 설정을 조작할 수 있다worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
server {
listen 80;
location / {
root html;
index index.html index.htm;
}
}
}
worker_processes
: 몇개의 워커 프로세스를 생성할 것인지 지정하는 지시어. 1이면 모든 요청을 하나의 프로세스로 실행하겠다는 뜻. CPU 멀티코어 시스템에서 1이면 하나의 코어만으로 요청을 처리하는 셈이다. auto로 놓는 경우가 많다.events - worker_connections
worker_processes
X worker_connections
http
블록 : 하위에 server 블록, 그리고 location 블록을 갖는 루트 블록 이다. 여기서 선언된 값은 하위 블록에 상속된다. 서버의 기본값이 된다.include
: server 블록에서도 사용할 수 있다. conf.d
에 정의해놓은 파일들을 적용하는데 사용된다.server
블록: 하나의 웹사이트를 선언하는데 사용된다. server 블록이 여러개이면, 한대의 머신(호스트)에 여러 웹사이트를 서빙할 수 있다.location
블록 : 요청을 배분server {
...
# 로컬 설정, 웹페이지, api 요청등은 캐싱하지 않고 매번 새로운 자료로 제공한다.
location ~* \.(?:manifest|html?|php?|xml|json)$ {
expires -1;
}
# 홈페이지를 구성하는 스타일, 스크립트는 1달 정도 캐싱한 후 새로운 정보를 제공한다.
location ~* \.(?:css|js)$ {
expires 1M;
access_log off;
add_header Cache-Control "public";
}
# 홈페이지를 구성하는 이미지등의 리소스는 변화가 거의 없으므로 한 번 다운로드하면 3달 정도 캐싱한다.
location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc)$ {
expires 3M;
access_log off;
add_header Cache-Control "public";
}
}
add_header Cache-Control "public", max-age=[초];
초 단위로도 사용 가능