최근에 Apache Mod_wsgi에서 Nginx로 옮겼는데 속도가 크게 향상되고 메모리 사용량이 감소하는 것을 확인했으며 일반적으로 이에 매우 만족합니다.
저는 서버 전문가가 아니니 양해 부탁드립니다.
제가 놓친 작은 구성이 있는지 궁금합니다. 이로 인해 장기적으로 문제가 발생할 수 있습니다...
내 것을 봐주세요nginx.conf파일
user nginx nginx;
worker_processes 4;
error_log /var/log/nginx/error_log info;
events {
worker_connections 1024;
use epoll;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main
'$remote_addr - $remote_user [$time_local] '
'"$request" $status $bytes_sent '
'"$http_referer" "$http_user_agent" '
'"$gzip_ratio"';
client_header_timeout 10m;
client_body_timeout 10m;
send_timeout 10m;
connection_pool_size 256;
client_header_buffer_size 1k;
large_client_header_buffers 4 2k;
request_pool_size 4k;
gzip on;
gzip_min_length 1100;
gzip_buffers 4 8k;
gzip_types text/plain;
output_buffers 1 32k;
postpone_output 1460;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 75 20;
ignore_invalid_headers on;
index index.html;
server {
listen 80;
server_name localhost;
location /media/ {
root /www/django_test1/myapp; # Notice this is the /media folder that we create above
}
location /mediaadmin/ {
alias /opt/python2.6/lib/python2.6/site-packages/django/contrib/admin/media/; # Notice this is the /media folder that we create above
}
location / {
# host and port to fastcgi server
fastcgi_pass 127.0.0.1:8080;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_pass_header Authorization;
fastcgi_intercept_errors off;
client_max_body_size 100M;
}
access_log /var/log/nginx/localhost.access_log main;
error_log /var/log/nginx/localhost.error_log;
}
}
답변1
Keepalive 시간 제한을 더 낮게 설정하는 것이 좋습니다. 75는 너무 많고 실질적으로 쓸모가 없습니다. 저는 보통 10~20초 정도 사용하는데, 그 정도면 충분합니다. 하지만 많은 요청을 기대하지 않는다면 75도 괜찮습니다.