Nginx的学习,指令配置详解( 二 )


其他属性配置:
gzip_min_length 1k;设置允许压缩的页面最小字节数,页面字节数从header头的Content-Length中获取 。默认值是0,不管页面多大都进行压缩 。建议设置成大于1K的字节数,小于1K可能会越压越大 。
gzip_buffers 4 16k;表示申请4个单位为16K的内存作为压缩结果流缓存,默认值是申请与原始数据大小相同的内存空间来存储gzip压缩结果
gzip_http_version 1.1;于设置识别HTTP协议版本,默认是1.1,目前大部分浏览器已经支持GZIP解压,使用默认即可 。
gzip_comp_level 2;#压缩级别大小,最小1,最大9,值越小,压缩后比例越小,CPU处理更快,为1时,原10M压缩完后8M,但设为9时,压缩完可能只有2M了
gzip_types text/plain application/x-JAVAscript text/css application/xml; 压缩类型:text,js css xml 都会被压缩
gzip_vary on; #作用是在http响应中增加一行目的是改变反向代理服务器的缓存策略
server虚拟主机配置

Nginx的学习,指令配置详解

文章插图
 
  • listen:用于指定虚拟主机的服务端口 。
  • server_name:用来指定IP地址或者域名,多个域名之间用空格分开 。
  • index:用于设定访问的默认首页地址,root指令用于指定虚拟主机的网页根目录,这个目录可以是相对路径,也可以是绝对路径 。
  • Charset:用于设置网页的默认编码格式 。
  • access_log logs/www.ixdba.net.access.log main:access_log用来指定此虚拟主机的访问日志存放路径,最后的main用于指定访问日志的输出格式 。
在实际应用可以做如下配置 。基于域名,端口,IP的虚拟主机 。
1.基于域名的虚拟主机
Nginx的学习,指令配置详解

文章插图
 
2.基于端口的虚拟主机
Nginx的学习,指令配置详解

文章插图
 
3.基于Ip地址的虚拟主机
Nginx的学习,指令配置详解

文章插图
 
location段配置Location主要做定位功能,根据uri来进行不同的定位 。
语法:location [=|~|~*|^~] /uri/ { …}
= 开头表示精确匹配
^~ 表示uri以某个常规字符串开头,相当于匹配uri路径
~ 区分大小写的正则匹配
!~ 区分大小写不匹配
!~* 不区分大小不匹配
~* 不区分大小写的正则匹配
/ 通用匹配
匹配优先级
1. 首先匹配精准路径
2. 如果两个location都是一般匹配规则,那么会按照最长路径匹配
3. 一般匹配和正则匹配的过程是:首先会选择一般匹配过程中的大前缀匹配,但是匹配过程不会停止,最大前缀匹配只是一个临时结果,nginx还会继续检查正则location 。
按照正则location在配置文件的物理顺序做匹配,如果匹配到一条正则location,就不会考虑后面的规则
以下这段设置是通过location指令来对网页URL进行分析处理,所有扩展名以.gif、.jpg、.jpeg、.png、.bmp、.swf结尾的静态文件都交给nginx处理,而expires用来指定静态文件的过期时间,这里是30天 。
location ~ .*.(gif|jpg|jpeg|png|bmp|swf)${root/web/wwwroot/www.ixdba.net;expires 30d;}以下这段设置是将upload和html下的所有文件都交给nginx来处理,当然,upload和html目录包含在/web/wwwroot/www.ixdba.net目录中 。
location ~ ^/(upload|html)/{root/web/wwwroot/www.ixdba.net;expires 30d;}在最后这段设置中,location是对此虚拟主机下动态网页的过滤处理,也就是将所有以.jsp为后缀的文件都交给本机的8080端口处理 。
location ~ .*.jsp$ {index index.jsp;proxy_pass http://localhost:8080;}参考文献:https://blog.51cto.com/ixdba/790611




推荐阅读