├── conf.d # nginx.conf에서 읽을 파일 저장
├── fastcgi.conf # FastCGI 설정
├── fastcgi_params
├── koi-utf
├── koi-win
├── mime.types
├── modules-available
├── modules-enabled
│ ├── 50-mod-http-geoip.conf -> /usr/share/nginx/modules-available/mod-http-geoip.conf
│ ├── 50-mod-http-image-filter.conf -> /usr/share/nginx/modules-available/mod-http-image-filter.conf
│ ├── 50-mod-http-xslt-filter.conf -> /usr/share/nginx/modules-available/mod-http-xslt-filter.conf
│ ├── 50-mod-mail.conf -> /usr/share/nginx/modules-available/mod-mail.conf
│ └── 50-mod-stream.conf -> /usr/share/nginx/modules-available/mod-stream.conf
├── nginx.conf # 접속자 수, 프로세스 수 등 nginx의 기본 설정
├── proxy_params
├── scgi_params
├── sites-available # 비활성화된 사이트 설정 파일
│ └── default
├── sites-enabled
│ └── default -> /etc/nginx/sites-available/default # 활성화된 사이트들의 설정 파일
├── snippets
│ ├── fastcgi-php.conf
│ └── snakeoil.conf
├── uwsgi_params
└── win-utf
Nginx의 기본 설정 파일인 nginx.conf의 내용 입니다.
user www-data; # 워커 프로세스의 권한 계정
worker_processes auto; # 실행할 워커 프로세스의 수
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768; # 워커당 동시 처리할 접속 수
# multi_accept on;
}
http {
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
# server_tokens off;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
##
# SSL Settings
##
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
##
# Logging Settings
##
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
##
# Gzip Settings
##
gzip on;
# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
#mail {
# # See sample authentication script at:
# # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
#
# # auth_http localhost/auth.php;
# # pop3_capabilities "TOP" "USER";
# # imap_capabilities "IMAP4rev1" "UIDPLUS";
#
# server {
# listen localhost:110;
# protocol pop3;
# proxy on;
# }
#
# server {
# listen localhost:143;
# protocol imap;
# proxy on;
# }
#}
user
user는 Nginx 워커 프로세서가 실행하는 계정입니다.
user의 값이 root로 되어 있다면 보안상 매우 취약하니 변경하는것이 좋습니다.
user의 값이 root일경우, 워커프로세서는 root권한으로 실행되고, 악의적인 사용자가 이를 제어하면, 서버를 root로 제어는 셈이니 보안상 위험합니다.
www-data
, www
, nginx
등 대표성 있는 이름을 사용하면 됩니다.
worker_process
워커 프로세스를 몇개 실행할지를 지정합니다.
만약 여러 cpu코어의 서버라면, 코어 수많큼 설정해도 좋습니다.
worker_connections
워커 프로세스당 몇개의 동시접속을 처리할 것인지를 지정합니다.
만약 worker_process
값이 4, worker_connections
값이 1024면 4x1024 = 4096의 접속을 처리 할 수 있습니다.
나머지 설정은 기본값으로 두어도 좋습니다.
Nginx 설정파일 적용
Nginx서비스를 재시작하면 설정이 적용됩니다.
sudo service nginx reload
혹은
sudo systemctl restart nginx