worker_processes 设置为CPU总核数量的两倍,
如8核;
worker_processes 8;
worker_cpu_affinity 多少个cpu多少个0
如4个 worker_cpu_affinity 0001 0010 0100 1000; 8个 worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;
worker_rlimit_nofile配置要和系统的单进程打开文件数一致
ulimit -n 查看
worker_rlimit_nofile 65536;
events {
#作为http时worker_processes*worker_connections
#作为代理时worker_processes * worker_connections/4
worker_connections 64;#worker工作进程并发处理(发起)的最大连接数(包含所有连接数)。
##语法 use [ kqueue | rtsig | epoll | /dev/poll |select | poll ];
use epoll; # 使用epoll(linux2.6的高性能方式)
}
http{
#文件扩展名与文件类型映射表
include mime.types
#默认文件类型,普通的文件流,并提示用户下载文件
default_type application/octet-stream;
gzip on; //开启gzip压缩功能
gzip_min_length 1k; //这里表示如果文件小于1k,就不用压缩,因为没有意义,本来就很小
# 设置压缩响应的缓冲块的大小和个数
gzip_buffers 4 16k;
#设置压缩响应所需的最小HTTP请求版本
gzip_http_version 1.0;
#可以是0到9中的任一个,级别越高,压缩就越小,节省了带宽资源,但同时也消耗CPU资源
gzip_comp_level 3;
#表示我在传送数据时,给客户端说明我使用了gzip压缩
gzip_vary on;
#除了“ text/html
” 之外,还可以针对指定的MIME类型启用gzip的响应。特殊值“ *
”匹配任何MIME类型(0.8.29)。“ text/html
”类型是默认压缩。
gzip_types text/plain text/css text/xml application/x-javascript application/xml application/atom-xml text/javascript;
#隐藏nginx版本号
server_tokens Off;
#nginx作为代理服务器的时候,当被代理的一台服务器出现error的时候,直接将请求转给下一台服务器处理
proxy_next_upstream error;
#设置为on表示启动高效传输文件的模式
sendfile on;
#参数设置保持活动客户端连接在服务器端保持打开状态的超时时间,保持连接的超时时间
keepalive_timeout 60;
#与FastCGI服务器建立连接的超时时间
fastcgi_connect_timeout 600;
#设置向FastCGI服务器发送请求的超时时间
fastcgi_send_timeout 600;
#设置从FastCGI服务器读取响应的超时时间
fastcgi_read_timeout 600;
#限制同一客户端ip地址带宽为100M;
limit_conn_zone $binary_remote_addr zone=perip:100m;
#限制同一server最大并发数
limit_conn_zone $server_name zone=perserver:100m;
#设置读取客户端请求标头的缓冲区大小
client_header_buffer_size 32k;
#设置用于读取大型客户端请求标头的最大值和缓冲区
large_client_header_buffers 4 32k;
#设置缓存源服务器的静态文件
proxy_temp_path /tmp;
#如果省略此参数或将其设置为该值on
,则将使用proxy_temp_path指令为给定位置设置的目录
#*levels设置目录层次
#keys_zone设置缓存名字和共享内存大小
#inactive在指定时间内没人访问则被删除在这里是1天
#max_size最大缓存空间*
proxy_cache_path /dev/shm/cache levels=1:2 keys_zone=cache_one:400m inactive=1d max_size=4g;
#nginx使用请求的端口,而不是使用被代理端返回的端口,被代理的服务器返回的http里的header,加入了location告诉客户端跳转,这时候nginx收到返回的信息后,在location里加入了自己的端口号,在返回给客户端
port_in_redirect on;
#独立出不同网站不同配置文件
include selfconf/*.conf;
}