티스토리 뷰
최근 회사일로 Nginx 설정을 하면서 참고할 만한 사이트를 찾아 공유합니다.
기본설정인 nginx.conf를 튜닝한 버전인데 최대한의 속도를 내기 위한 튜닝이라고 합니다.
아직 정확하게 파악이 되지 않은 부분들이 많아서 거르고 봐주시길바랍니다.
시간날때마다 각 파라미터가 무엇을 뜻하는지 풀어나가보고자 합니다.
user www-data;
pid /var/run/nginx.pid;
worker_processes auto;
worker_rlimit_nofile 100000;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
events {
worker_connections 2048;
multi_accept on;
use epoll;
}
http {
server_tokens off;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
access_log off;
error_log /var/log/nginx/error.log crit;
keepalive_timeout 10;
client_header_timeout 10;
client_body_timeout 10;
reset_timedout_connection on;
send_timeout 10;
limit_conn_zone $binary_remote_addr zone=addr:5m;
limit_conn addr 100;
include /etc/nginx/mime.types;
default_type text/html;
charset UTF-8;
gzip on;
gzip_http_version 1.0;
gzip_disable "msie6";
gzip_proxied any;
gzip_min_length 1024;
gzip_comp_level 6;
gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript application/json;
open_file_cache max=100000 inactive=20s;
open_file_cache_valid 30s;
open_file_cache_min_uses 2;
open_file_cache_errors on;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
해설
- worker_process - Nginx의 프로세스수. auto로 하면 서버의 core수와 동일하게 설정됨
- worker_rlimit_nofile - worker프로세스가 최대 열수 있는 파일 수 제한 *worker다 합한수에 해당하는건가?
- worker_connections - 하나의 worker프로세스가 열수있는 최대 커넥션 수(core2개, worker_connections 2048 = 2*2048)
- multi_accept on - 가능한한 클라이언트로부터의 요청을 받음 *뭔소리지
- use epoll - 리눅스커널 2.6이상인경우는 epoll, BSD인 경우에는 kqueue
- server_tokens - 보안대책으로 에러화면의 nginx버전번호를 표시/비표시 on/off
- sendfile on - 하드디스크io처리와 socket-io처리의 밸런스를 얻기위해 on으로 해주세요 *뭔소리지..
- tcp_nopush - 하나의 데이터 패키지에 모든 헤더 정보가 포함되다 *뭔소리지..
- tcp_nodelay - 데이터를 캐쉬하지 않고 계속 송신시킨다. 리얼타임에 최적 *캐쉬하면 어떻게 동작하는거지?
- keepalive_timeout - keep-alive타임아웃시간, 조금 짧게 해둔다. *keep-alive하지 않으면 자료가 많을시 자료를 하나 내려받고 접속을 끊고 다시 접속해서 정보 내려받는 과정을 반복하게 되므로 비효율적이됨(파일하나당 접속한번이 되는건가?)
- client_header_timeout - 클라이언트 타임아웃 시간
- client_body_timeout - 클라이언트 타임아웃 시간
- reset_timedout_connection - 비활동클라이언트의 커넥션을 종료
- send_timeout - 클라이언트에 송신 타임아웃
- limit_conn_zone $binary_remote_addr zone=addr:5m - 각종key의 공유메모리설정 *뭔말이지..
- limit_conn addr 100 - 키의 최대 커넥션수 addr은 100에 설정(하나의 IP어드레스는 100커넥션를 요청가능) *뭔말..
- gzip on - 전송내용을 gzip으로 압축 *쓰면안되는 예외경우가 있나..?
- gzip_http_version - 압축http버전
- gzip_disable "msie6" - ie6압축금지 *이게 예외버전인가?
- gzip_proxied any - 전프록시도압축 *뭔소릴까
- gzip_comp_level 6 - 압축레벨 설정. 1-9
- gzip_types - 압축파일타입
- open_file_cache max=100000 inactive=20s - 캐쉬를오픈하는동시에 최대수와 캐쉬시간도 지정한다. 20초이상 비활동파일은 클리어한다. *위에 tcp_nodelay랑은 관련없는 캐쉬인가??
- open_file_cache_valid - open_file_cache의 감지간격시간을 체크 *open_file_cache는 또 뭐람
- open_file_cache_min_uses - open_file_cache의 비액티브파일의최소파일수
- open_file_cache_errors - 파일의 에러정보도 캐쉬한다
차근차근 정리해보겠습니다! - 수정중
'개발관련 > Nginx' 카테고리의 다른 글
Nginx 멀티도메인 default server만 동작시 (0) | 2020.10.09 |
---|
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 일본 장터
- StringBuilder
- 후증가
- 선증가
- string
- 엔진엑스 멀티도메인 404에러
- 선감소
- 일본 비비고
- 자바
- 누가_쏙쏙_바로바로_알려줄사람_어디없나
- 연산자
- 엔진엑스 ssl 멀티도메인 404
- VelocityPluginImages
- 일본 한인마트
- velocity
- 일본 만두
- 벨로시티
- 후감소
- 자바책
- nginx multiple domain
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함