0 Comments

配置与调试Nginx(2)

发布于:2013-02-27  |   作者:广州网站建设  |   已聚集:人围观
配置与调试Nginx(2)

default_type属于HTTP核心模块指令,这里设定默认类型为二进制流,也就是当文件类型未定义时使用这种方式,例如在没有配置PHP环境时,Nginx是不予解析的,此时,用浏览器访问PHP文件就会出现下载窗口。

下面的代码实现对日志格式的设定。

 


  1. log_format main '$remote_addr - $remote_user [$time_local] '  
  2. '"$request" $status $bytes_sent '  
  3. '"$http_referer" "$http_user_agent" '  
  4. '"$gzip_ratio"';  
  5. log_format download '$remote_addr - $remote_user [$time_local] '  
  6. '"$request" $status $bytes_sent '  
  7. '"$http_referer" "$http_user_agent" '  
  8. '"$http_range" "$sent_http_content_range"'; 

log_format是Nginx的HttpLog模块指令,用于指定Nginx日志的输出格式。main为此日志输出格式的名称,可以在下面的access_log指令中引用。

client_max_body_size用来设置允许客户端请求的最大的单个文件字节数。

client_header_buffer_size用于指定来自客户端请求头的headerbuffer大小。对于大多数请求,1KB的缓冲区大小已经足够,如果自定义了消息头或有更大的cookie,可以增加缓冲区大小。这里设置为32KB。

large_client_header_buffers用来指定客户端请求中较大的消息头的缓存最大数量和大小, “4”为个数,“128K”为大小,最大缓存为4个128KB。

sendfile参数用于开启高效文件传输模式。将tcp_nopush和tcp_nodely两个指令设置为on,用于防止网络阻塞。

keepalive_timeout用于设置客户端连接保持活动的超时时间。在超过这个时间之后,服务器会关闭该连接。

client_header_timeout用于设置客户端请求头读取超时时间。如果超过这个时间,客户端还没有发送任何数据,Nginx将返回“Request time out(408)”错误。

client_body_timeout用于设置客户端请求主体读取超时时间,默认值为60。如果超过这个时间,客户端还没有发送任何数据,Nginx将返回“Request time out(408)”错误。

send_timeout用于指定响应客户端的超时时间。这个超时仅限于两个连接活动之间的时间,如果超过这个时间,客户端没有任何活动,Nginx将会关闭连接。

3. HttpGzip模块配置

下面配置Nginx的HttpGzip模块。这个模块支持在线实时压缩输出数据流。要查看是否安装了此模块,需要使用下面的命令:                       
广州网站建设,网站建设,广州网页设计,广州网站设计


  1. [root@localhost conf]# /opt/nginx/sbin/nginx  -V  
  2. nginx version: nginx/0.7.65  
  3. configure arguments: --with-http_stub_ status_module --with-http_gzip_static_module --prefix=/opt/nginx 

通过/opt/nginx/sbin/nginx  -V命令可以查看安装Nginx时的编译选项。由输出可知,我们已经安装了HttpGzip模块。

下面是HttpGzip模块在Nginx配置中的相关属性设置:


  1. gzip  on;  
  2. gzip_min_length  1k;  
  3. gzip_buffers     4  16k;  
  4. gzip_http_version  1.1;  
  5. gzip_comp_level  2;  
  6. gzip_types  text/plain application/x-javascript text/css application/xml;  
  7. gzip_vary  on; 

gzip用于设置开启或者关闭gzip模块,“gzip on”表示开启gzip压缩,实时压缩输出数据流。

gzip_min_length用于设置允许压缩的页面最小字节数,页面字节数从header头的Content-Length中获取。默认值是0,不管页面多大都进行压缩。建议设置成大于1K的字节数,小于1K可能会越压越大。

gzip_buffers表示申请4个单位为16K的内存作为压缩结果流缓存,默认值是申请与原始数据大小相同的内存空间来存储gzip压缩结果。

gzip_http_version用于设置识别HTTP协议版本,默认是1.1,目前大部分浏览器已经支持gzip解压,使用默认即可。

gzip_comp_level用来指定gzip压缩比,1 压缩比最小,处理速度最快;9 压缩比最大,传输速度快,但处理最慢,也比较消耗CPU资源。

gzip_types用来指定压缩的类型,无论是否指定,“text/html”类型总是会被压缩的。       广州网站建设,网站建设,广州网页设计,广州网站设计

gzip_vary选项可以让前端的缓存服务器缓存经过gzip压缩的页面,例如,用Squid缓存经过Nginx压缩的数据。

标签:
飞机