nginx的详细使用说明(下)

jopen 8年前

1.gzip_comp_levle 

  设置gzip压缩等级,等级越底压缩速度越快文件压缩比越小,反之速度越慢文件压缩比越大

param:1-9

example:gzip_com_level 1;

2.gzip_types

设置需要压缩的MIME类型,非设置值不进行压缩

param:text/html|application/x-javascript|text/css|application/xml

example:gzip_types text/html;

3.gzip_vary on

 和http头有关系,加个vary头,给代理服务器用的,有的浏览器支持压缩,有的不支持,所以避免浪费不支持的也压缩,所以根据客户端的HTTP头来判断,是否需要压缩

4.gzip_proxied

Nginx作为反向代理的时候启用,根据某些请求和应答来决定是否在对代理请求的应答启用gzip压缩,是否压缩取决于请求头中的“Via”字段,指令中可以同时指定多个不同的参数,意义如下:

expired - 启用压缩,如果header头中包含 "Expires" 头信息

no-cache - 启用压缩,如果header头中包含 "Cache-Control:no-cache" 头信息

no-store - 启用压缩,如果header头中包含 "Cache-Control:no-store" 头信息

private - 启用压缩,如果header头中包含 "Cache-Control:private" 头信息

no_last_modified - 启用压缩,如果header头中不包含 "Last-Modified" 头信息

no_etag - 启用压缩 ,如果header头中不包含 "ETag" 头信息

auth - 启用压缩 如果header头中包含 "Authorization" 头信息

any - 无条件启用压缩

5. gzip_disable的设置是禁用IE6gzip压缩,IE6对一些压缩会造成崩溃(这个选项暂时用的少)

6.server_tokens off;   隐藏版本号

7.log_format 

nginx服务器日志相关指令主要有两条,一条是log_format,用来设置日志格式,另外一条是access_log(可以在server的配置里重新指定),用来指定日志文件的存放路径、格式和缓存大小.

默认的格式:

log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '

    '$status $body_bytes_sent "$http_referer" '

        '"$http_user_agent" "$http_x_forwarded_for"';

对应的字段

表示客户端的ip地址,  $remote_addr

客户端用户名称,       $remote_user

访问时间和时区         $time_local

 请求的HTTP协议。     $request

访问的状态码,         $status

发送给客户端的文件大小。 $body_bytes_sent

URL跳转来源(如果有的话)  $http_referer

用户终端浏览器信息   $http_user_agent

经过的代理信息      $http_x_forwarder_for


 

Server的单机配置(反向代理需要进行一定设置,在nginx的部署里做说明)

1.listen 用来锁定设置端口

2.Server_name   域名可以用正则nginx.*这种格式来匹配多个域名,一般我们是默认使用

 www.nginx.com 这种做设置

3.index    默认访问的首页,没有默认访问的首页,直接输入ip或者网址的时候,是无法显示的

4.Root 网站访问的根目录(类似我们的常常建站时候的一个网络空间)

5.Include  enable-php.conf 加载使用php的格式(在nginx的配置里,include就是加载某个指定目录指定任务的配置)

6.Location   匹配的意思(匹配比较复杂) 这里仅仅做语法说明(在nginx的部署里会详细说明)

7.location [=|~|~*|^~] /uri/ { … }

   = 开头表示精确匹配

   ^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)

   ~ 开头表示区分大小写的正则匹配

   ~*  开头表示不区分大小写的正则匹配

   !~!~*分别为区分大小写不匹配及不区分大小写不匹配 的正则

   摘抄匹配的样本:

例子,有如下匹配规则:

location = / {精确匹配,必须是127.0.0.1/

#规则A

}

location = /login {精确匹配,必须是127.0.0.1/login

#规则B

}

location ^~ /static/ {非精确匹配,并且不区分大小写,比如127.0.0.1/static/js.

#规则C

}

location ~ \.(gif|jpg|png|js|css)$ {区分大小写,以gif,jpg,js结尾

#规则D

}

location ~* \.png$ {不区分大小写,匹配.png结尾的

#规则E

}

location !~ \.xhtml$ {区分大小写,匹配不已.xhtml结尾的

#规则F

}

location !~* \.xhtml$ {

#规则G

}

location / {什么都可以

#规则H

}

 

 

 

 


来自: http://my.oschina.net/xiongyuanliang/blog/600261