http {
include mime.types;
default_type application/octet-stream;
#log_format main ‘$remote_addr – $remote_user [$time_local] “$request” ‘
# ‘$status $body_bytes_sent “$http_referer” ‘
# ‘”$http_user_agent” “$http_x_forwarded_for”‘;
client_max_body_size 20m;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
#access_log logs/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodely on;
#keepalive_timeout 0;
keepalive_timeout 65;
client_header_timeout 60;
client_body_timeout 10;
send_timeout 10;
include是个主模块命令,实现配置文件所包含的文件设定,可以减少主配置文件的复杂度,类似于apache中的include方法
default_type 属于HTTP核心模块的指定,这里设定默认类型为二进制流,也就是当文件类型未定义时使用这种方式,例如没有PHP环境时,浏览PHP文件就会提示下载
log_format 是nginx的httplog模块指令,用于指定nginx日志输出格式,main为此日志输出格式的名称,可以在下面的access_log指令中引用
client_max_body_size 用来设置允许客户端请求的最大单个文件字节数
client_header_buffer_size 用于指定来自客户端请求头的headerbuffer大小,对于大多数情况,1KB的缓冲区已经足够,如果自定义了消息头或者有更大的cookie,可以增加缓冲区大小
large_client_header_buffers 用来指定客户端请求中较大的消息头的缓存最大数量和大小,4为个数,128KB为大小,最大缓存为4个128KB
sendfile参数用于开启高效文件传输模式,将tcp_nopush和tcp_nodely设置为on,可用于防止网络阻塞
keepalive_timeout用于设置客户端连接保持活动的超时时间,在超过这个时间之后,服务器会关闭该连接
client_header_timeout 用于设置客户端请求头读取超时时间,如果超过这个时间,客户端还没有发送任何数据,nginx将返回request time out(408)错误
send_timeout 用于制定响应客户端的超时时间,这个超时时间仅限于两个连接活动之间的时间,如果超过这个时间,客户端没有活动,nginx将会关闭连接