nginx HTTP服务器配置

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将会关闭连接