nginx的详细使用说明(下)
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的设置是禁用IE6的gzip压缩,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
}