linux

worker_processes  auto;
worker_rlimit_nofile 65535;

events {
    worker_connections  65535;
    multi_accept on;
    use epoll;
}

http {
   access_log off;
   etag off;

}
worker_processes 8; #建议按照cpu 数目 或者auto
worker_cpu_affinity 00000001 0000001000000100 00001000 00010000 00100000 01000000 10000000;
#为每个进程分配cpu,上例中将8个进程分配到8 个cpu,当然可以写多个,或者将一个进程分配到多个cpu。

worker_rlimit_nofile 65535; #当一个nginx进程打开的最多文件描述符数目
worker_connections 65535; #每个进程允许的最多连接数

client_header_buffer_size 4k; #客户端请求头部的缓冲区大小
#分页大小可以用命令getconf PAGESIZE 取得

http{
    access_log off; #关闭日志 

    etag off; #分步式系统中关闭etag
    add_header Cache-Control no-cache;#不缓存
    add_header Cache-Control no-store;#完全不缓存    
    add_header Cache-Control no-cache;
    add_header Cache-Control private;#打开新窗口重新加载
    add_header Cache-Control max-age=3600; #强制缓存时间1h
    #设置强制缓存时间,如果资源未发生变化,则不会下载,返回304

    client_max_body_size 50m; #上传文件大小,默认1m
    client_body_buffer_size 60k;
    client_body_timeout 60;
    client_header_buffer_size 64k;
    client_header_timeout 60;

    keepalive_timeout 65;    #keepalive 超时时间
    keepalive_requests 100; #最大连接数

    large_client_header_buffers 4 64k;
    reset_timedout_connection on;
    send_timeout 60;
    sendfile_max_chunk 512k;
    server_names_hash_bucket_size 256;

    gzip  on;
    gzip_buffers 4 16k;  
    gzip_http_version 1.1; 
    gzip_comp_level 2; #压缩级别
    gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript;
    gzip_vary on; 


    underscores_in_headers on; #解决_问题
    server_names_hash_bucket_size 64; #多域名问题
}

server{
    ....
    access_log off; #关闭日志


}

location / {
    open_file_cache max=65535 inactive=60s;
    #这个将为打开文件指定缓存,默认是没有启用的,max 指定缓存数量,建议和打开文件数一致,inactive是指经过多长时间文件没被请求后删除缓存。
    open_file_cache_valid 80s;
    #多长时间检查一次缓存的有效信息
    open_file_cache_min_uses 1;
    #文件的最少使用次数,如果超过这个数字,文件描述符一直是在缓存中打开的,如上例,如果有一个文件在inactive时间内一次没被使用,它将被移除。
    open_file_cache_errors on;
}