nginx.conf (1) 글에 이어서 작성
- block directive
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
# Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /etc/nginx/conf.d/*.conf;
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
}
② http
httpd 애플리케이션 layer와 3, 4 layer 사이에 관련된 설정을 지정하는 영역
log_format
nginx에 의해 요청이 처리된 직후 client 요청에 대한 정보를 access log에 기록
default로 acceslog는 logs/access.log에 위치하고 미리 정의된 결합 형식으로 정보들이 로그에 기록됨
이 default 설정을 재 정의하기 위해 log_format 설정을 사용
access_log
log_format 설정에 맞게 저장될 access_log의 위치와 파일 이름을 지정
sendfile
sendfile() 사용 여부를 지정
한 파일의 디스크립터와 다른 파일의 디스크립터 간에 데이터를 복사하는 것으로 커널 내부에서 복사가 진행
tcp_nopush
client로 패킷이 전송되기 전에 버퍼가 가득 찼는지 체크하여 다 찼다면 패킷을 전송하도록 하여 네트워크 오버헤드를 줄이도록 설정 가능
tcp_nodelay
활성화하게 되면 소켓이 패킷의 크기에 상관없이 버퍼에 데이터를 보내도록 함
keepalive_timeout
client에서 해당 서버로 keeplive 커넥션을 유지할 시간을 설정
types_hash_max_size
hash table의 최대 크기를 설정
서비이름, 맵 지시문 값, MIME 유형, 요청 헤더 문자열의 이름과 같은 정적 데이터 세트를 빠르게 처리하기 위해 nginx는 hash table을 사용
include /etc/nginx/mime.type
해당 nginx 웹 서버의 기본 context-type를 설정
default_type application/octet-stream
일반적으로 nginx에서 해석할 수 없는 프로그램일 경우 기본 값으로 octet-stream 값을 사용하겠다는 의미
해당 부분은 mime.type의 타입 중 application에 속하는 부분으로 바이너리 형태의 데이터를 의미
→ 대부분의 브라우저는 이를 이진 파일로 인식 및 처리하여 렌더링을 시도하지 않고 파일 다운로드를 진행
③ server
listen
nginx 웹 서버의 Listen port를 설정
server_name
nginx 웹 서버가 사용할 domain name 등록
root
OHS의 context-root와 같이 nginx가 사용할 기본 파일의 경로를 지정
location
location 뒤에 이어지는 path로 들어오는 요청에 대한 설정
아래의 설정대로라면 nginx를 통해 들어오는 모든 요청에 대한 설정을 반영
location / {
}
error_page
각 에러 요청에 대한 에러 페이지를 보여주는 설정
root로 설정한 경로를 따라가기 때문에 해당 경로 설정이 중요
'WEB > NGINX' 카테고리의 다른 글
nginx & WAS 연동 (0) | 2024.07.30 |
---|---|
nginx Load Balancing (0) | 2024.07.29 |
nginx ssl 설정 (0) | 2024.07.29 |
nginx.conf (1) (0) | 2024.07.26 |
nginx 설치 (0) | 2024.07.25 |