–使用方法
当做http服务器使用 静态资源的http服务
配置虚拟机
基于ip的虚拟机
基于域名的虚拟机
基于端口的虚拟机
反向代理
负载均衡
–nginx对静态资源的缓存
nginx的高可用keepalived-nginx(了解)
1.什么是nginx
一般是一个高性能的http和反向代理的服务器
2.正向代理和反向代理
3.正则表达式
\x27 是’
–真正的难点在于:如何根据实际需求,编写出准确的、严谨的正则表达式.
–验证ip
0~255范围 分成
0~99 [1-9]?\d
100~199 1\d{2}
200~255 2([0-4]\d|5[0-5])
则0-255 [1-9]?\d|1\d{2}|2([0-4]\d|5[0-5])
假设匹配 0.0.0.0
则 ^(0.){3}0$
换成ip 0.0.0.0~255.255.255.255
^(([1-9]?\d|1\d{2}|2([0-4]\d|5[0-5])).){3}([1-9]?\d|1\d{2}|2([0-4]\d|5[0-5]))$
–验证日期
验证年 [1-9]\d{3}
验证月 [1-9]|1[0-2]
验证天 [1-9]|[1-2]\d|3[01]
完整的正则 2010-09-08
^([1-9]\d{3})-(0[1-9]|1[0-2])-(0[1-9]|[1-2]\d|3[01])$
–只要分析出指定格式的规律 就可以通过正则表达式实现验证
–重新加载网卡配置命令 start_udev
–访问控制 权限+范围
权限 allow deny
同一块下的两个权限指令 先出现的配置会覆盖后出现的配置相同的范围,未被覆盖的范围依然生效
不同块下的权限指令 内层块的要比外层块的权限级别高
–location
location [一些前缀] uri {…} #语法1
location @name {…} #语法2
前缀含义
= 精确匹配[根据其后的指令模式]
~ 正则表达式匹配 区分大小写
~* 正则表达式匹配 不区分大小写
^~ 非正则匹配(禁止往下正则匹配)
@ 定义一个location块
则分为 普通location 正则location
–root和alias区别
alias 在映射路径是不会追加location匹配到的部分
root 追加location匹配到的部分
–正则location 先匹配前面顺序的
–(除精确匹配外)普通location 遵循最大前缀匹配 就是 匹配度最高的location被执行
–正则优于普通location
–普通location的精确匹配 禁止继续搜索的 提高匹配效率
–总结
=匹配优先于^~匹配
^~优先于正则匹配
正则匹配优先于普通的最大前缀匹配
只要优先的location匹配成功了,就不会执行其他的location
(按我的理解是,nginx会分类型去匹配location,只要优先location的匹配了,那么其他类型的location就不找了,但是如果匹配到普通location下的还是要找匹配度最高的)