nginx配置


nginx生产环境配置案例

user nobody nobody;                                                                                             ## 指定运行用户和组
worker_processes 4;                                                                                             ## 指定worker数量,建议此处auto
worker_rlimit_nofile 51200;                                                                                   ## 最大打开文件描述符

error_log logs/error.log notice;

pid /var/run/nginx.pid;

events {
use epoll;                                                                                                             ## 使用epoll事件驱动模型
worker_connections 51200;                                                                                ## 一个worker能处理的最大并发
}

http {

server_tokens off;                                                                                               ## 隐藏nginx版本
include mime.types;

proxy_redirect off;                                                                                              ## 关闭代理重定向

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 20m;                                                                             ## 设置客户端请求body的最大允许大小
client_body_buffer_size 256k;                                                                          ## 设置客户端请求body的缓冲区大小
proxy_connect_timeout 90;                                                                              ## 与后端服务器连接的超时时长
proxy_send_timeout 90;                                                                                   ## 把请求发送给后端服务器的超时时长
proxy_read_timeout 90;                                                                                    ## 等待后端服务器发送响应报文的超时时长
proxy_buffer_size 128k;                                                                                    ## 从代理服务器接收的响应的第一部分缓冲区
proxy_buffers 4 64k;                                                                                         ## 从代理服务器读取响应的缓冲区number和size
proxy_busy_buffers_size 128k;                                                                        ## 限制size在响应尚未完全读取时可能忙于向客户端发送响应的缓冲区总数
proxy_temp_file_write_size 128k;                                                                    ## 该指令设置缓冲临时文件的最大值

default_type application/octet-stream;
charset utf-8;                                                                                                       ## 字符集

client_body_temp_path /var/tmp/client_body_temp 1 2;                                    ## 请求body临时目录
proxy_temp_path /var/tmp/proxy_temp 1 2;                                                       ## 代理服务器接受数据临时目录
fastcgi_temp_path /var/tmp/fastcgi_temp 1 2;                                                    ## FastCGI服务器接收临时目录
uwsgi_temp_path /var/tmp/uwsgi_temp 1 2;                                                      ## uwsgi 服务器接收临时目录
scgi_temp_path /var/tmp/scgi_temp 1 2;                                                           ##scgi服务器接收临时目录

ignore_invalid_headers on;                                                                               ## 开启控制忽略具有无效名称的标头字段
server_names_hash_max_size 256;                                                                ## 服务器名称哈希表的最大值
server_names_hash_bucket_size 64;                                                              ## 服务器名称哈希表存储bucket大小
client_header_buffer_size 8k;                                                                          ## 设置缓冲区以读取客户端请求标头
large_client_header_buffers 4 32k;                                                                 ## 设置缓冲区以读取客户端请求标头最大值number和size
connection_pool_size 256;                                                                             ## 允许精确调整每个连接的内存分配
request_pool_size 64k;                                                                                  ## 允许精确调整每个请求的内存分配

output_buffers 2 128k;                                                                                   ## 设置用于从磁盘读取响应的缓冲区number和size
postpone_output 1460;                                                                                 ## 客户端数据的传输最小值,单位字节

client_header_timeout 1m;                                                                          ## 定义读取客户端请求标头的超时时长
client_body_timeout 3m;                                                                             ## 定义读取客户端请求主体的超时时长
send_timeout 3m;                                                                                      ## 设置将响应传输到客户端的超时时长


log_format main '$server_addr $remote_addr [$time_local] $msec+$connection '
'"$request" $status $connection $request_time $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';

open_log_file_cache max=1000 inactive=20s min_uses=1 valid=1m;

access_log logs/access.log main;
log_not_found on;


sendfile on;
tcp_nodelay on;                                                                                      ## 启用长连接马上响应,提高性能
tcp_nopush off;                                                                                      ## 关闭套接字选项

reset_timedout_connection on;                                                            ## 启用重置超时连接
keepalive_timeout 10 5;                                                                       ## 第一个参数设置长连接超时时长,第二个浏览器识别为keep-alive:timeout=5
keepalive_requests 100;                                                                     ## 设置可通过一个保持活动连接提供的最大请求数


gzip on;                                                                                              ## 开启压缩
gzip_http_version 1.1;                                                                        ## 启用压缩时协议最小版本
gzip_vary on;
gzip_proxied any;                                                                              ## 为所有代理请求启用压缩
gzip_min_length 1024;                                                                     ## 设置将被gzip压缩的响应的最小长度
gzip_comp_level 6;                                                                          ## 设置压缩等级
gzip_buffers 16 8k;                                                                             ## 设置用于压缩响应的缓冲区number和size
gzip_proxied expired no-cache no-store private auth no_last_modified no_etag;
gzip_types text/plain application/x-javascript text/css application/xml application/json;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";

include /etc/nginx/conf.d/*.conf;
}

上一篇:iOS基础 - XML & JSON


下一篇:基于SSL(TLS)的HTTPS网页下载——如何编写健壮的可靠的网页下载