일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- APNS
- 페이스북 번역
- 웹사이트 성능
- nginx설치
- JPA
- 웹사이트최적화기법
- 자바스크립트
- 성능
- kafka
- notification
- nginx설정
- nginx
- 푸시 번역
- Design Pattern
- 카프카 트랜잭션
- 푸시
- php
- GCM
- Java
- git
- 도메인 주도 개발
- GCM 번역
- Push
- gcm 푸시 번역
- graphql
- ddd
- 디자인패턴
- 웹사이트성능
- 카프카
Archives
- Today
- Total
간단한 개발관련 내용
[Nginx] 기본 구성 정리 본문
반응형
설정 파일 목록
Centos에 nginx를 설치하게되면 /usr/local/nginx/conf에 설정파일들이 위치하게 됩니다.
파일명 | 설명 |
nginx.conf | 웹 서버의 기본 구성 |
mime.types | 파일 확장자와 연관된 MIME 타입의 목록 |
fastcgi_params | Fast CGI 관련 구성 |
proxy.conf | 프록시 관련 구성 |
sites.conf | nginx로 제공되는 웹 사이트(v호스트) 구성, 도메인 단위로 분리하기를 권장 |
Base-Module
nginx는 기본적으로 master 프로세스와 worker 프로세스로 동작하기 때문에 기본적인 동작과 설정은 이해할 필요가 있습니다. nginx의 기본적인 기능들을 정의하도록 지시어를 제공하고 크게 3가지로 분류합니다.
- core-module : 프로세스 관리나 보안같은 필수 기능 및 지시어로 이루어져있다.
- master_process {on|off};
- thread_pool {name} threads={number} max_queue={number};
- worker_processes {number | auto};
- event-module : 네트워크 기능의 내부 동작 방식을 구성한다.
- use {select | poll | epoll | kqueue | rtsig | /dev/poll | eventport}
- configuration-module : 구성을 외부 파일에서 가져와 포함시킨다.
꼭 확인해야 할 설정값들
- user root root;
- 파일시스템 전체 권한을 nginx에 부여하기 때문에 보안상 취약함
- worker_processes 1;
- 멀티코어 환경에서 CPU의 코어1개로 실행됨을 의미한다. auto로 하거나 코어수에 맞춘다.
- worker_priority 0;
- 시스템의 다른 프로세스 실행순서를 고려하여 설정하라. -20~19 사이로 설정 가능하며, 커널프로세스가 -5의 우선순위를 갖기 때문에 더 낮은 값은 설정하면 안 된다.
- log_not_found on;
- 404 errors 로그를 남길 것인지 아닌지 지정한다. 쓸데없는 로그가 남을 수 있기 때문에 주의해야 한다.
- worker_connections 1024;
- worker 프로세스의 수와 함께 서버가 동시에 수용할 수 있는 연결 수를 결정한다. worker당 연결수이다.
기본 nginx.conf 예시
더보기
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root html
index index.html index.htm
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
반응형