nginx的相关使用事项
2018-11-29 13:29
381 查看
版权声明:lex https://blog.csdn.net/qq_36258498/article/details/84627679
文章目录
- 1.nginx中location使用正则表达式
- 2.nginx根据域名不同拦截不同的项目名称
- 3.四级负载均衡和六级负载均衡
- 4.负载均衡的作用
- 5.负载均衡带来的问题
- 6.配置负载均衡上游服务器
- 7.常见的三种负载均衡算法配置
- 8.负载均衡的故障后转移功能
1.nginx中location使用正则表达式
已=开头表示精确匹配
如 A 中只匹配根目录结尾的请求,后面不能带任何字符串。
- ^~ 开头表示uri以某个常规字符串开头,不是正则匹配
- 开头表示区分大小写的正则匹配;
~* 开头表示不区分大小写的正则匹配
/ 通用匹配, 如果没有其它匹配,任何请求都会匹配到
2.nginx根据域名不同拦截不同的项目名称
server { ##监听的端口号 listen 80; ### 服务名称 server_name www.lex.com; ### 匹配项目名称为tomcat_8080开头 #例如www.lex.com/tomcat_8080 location /tomcat_8080/ { ### 配置反向代理 proxy_pass http://127.0.0.1:8080/; index index.html index.htm; } ### 匹配项目名称为tomcat_8081开头 #例如www.lex.com/tomcat_8081 location /tomcat_8081/ { ### 配置反向代理 proxy_pass http://127.0.0.1:8081/; index index.html index.htm; } }
3.四级负载均衡和六级负载均衡
四级负载均衡主要是基于tcp协议的负载均衡,六级负载均衡主要是基于http的负载均衡
4.负载均衡的作用
负载均衡就是,将所有请求先到负载均衡器,在由负载均衡器采用负载均衡算法(轮训、IP绑定、权重)分发到不同实际的服务器中,这也就是服务器集群,集群的目的 是为了减轻单台服务器压力。
5.负载均衡带来的问题
使用负载均衡后,实际用到的服务器会被集群多台,那么这时候就会产生很多分布式相关问题。
比如:
分布式Session一致性问题
分布式定时任务调度幂等性问题
分布式生成全局订单
6.配置负载均衡上游服务器
###定义上游服务器(需要被nginx真实代理访问的服务器) 默认是轮训机制 upstream backServer{ server 127.0.0.1:8080; server 127.0.0.1:8081; } server { listen 80; server_name www.itmayiedu.com; location / { ### 指定上游服务器负载均衡服务器 proxy_pass http://backServer; index index.html index.htm; } }
7.常见的三种负载均衡算法配置
1.默认为轮询算法,常用于服务器之前的配置相差不多的情况
2.权重算法,常用与服务器配置差距较大的情况,配置低的服务器权重大一些多访问几次,配置低的少访问几次,权重配的少一些
upstream backServer{ #在需要负载均衡的服务器后面配置权重 server 127.0.0.1:8080 weight=1; server 127.0.0.1:8081 weight=2; } server { listen 80; server_name www.itmayiedu.com; location / { ### 指定上游服务器负载均衡服务器 proxy_pass http://backServer; index index.html index.htm; } }
3.ip绑定算法, 每个请求按访问IP的哈希结果分配,使来自同一个IP的访客固定访问一台后端服务器,并且可以有效解决动态网页存在的session共享问题。俗称IP绑定。
upstream backServer{ server 127.0.0.1:8080 ; server 127.0.0.1:8081 ; #这一行代表使用ip绑定 ip_hash; } server { listen 80; server_name www.itmayiedu.com; location / { ### 指定上游服务器负载均衡服务器 proxy_pass http://backServer; index index.html index.htm; } }
8.负载均衡的故障后转移功能
当某个Tomcat服务器出现宕机时,为了不让nginx做负载均衡是一直等待,需要做容错处理,当出现宕机或延迟时自动访问下一台服务器
server { listen 80; server_name www.itmayiedu.com; location / { ### 指定上游服务器负载均衡服务器 proxy_pass http://backServer; ###nginx与上游服务器(真实访问的服务器)超时时间 后端服务器连接的超时时间_发起握手等候响应超时时间 proxy_connect_timeout 1s; ###nginx发送给上游服务器(真实访问的服务器)超时时间 proxy_send_timeout 1s; ### nginx接受上游服务器(真实访问的服务器)超时时间 proxy_read_timeout 1s; index index.html index.htm; } }阅读更多
相关文章推荐
- Nginx的编译及安装相关事项
- Qt中如何使用样式表QPalette以及相关注意事项
- NSBundle(获取资源路径方法)的相关使用方法和注意事项
- 线程安全使用相关注意事项
- Json相关包及JSON使用注意事项
- Qt中如何使用样式表QPalette以及相关注意事项
- WebSphere应用服务器中https 请求协议的相关注意事项(服务器使用代理上Internet)
- Qt中如何使用样式表QPalette以及相关注意事项(转)
- 使用apache和nginx部署graphite的相关配置
- 关于长沙理工大学如何使用路由器的一些相关事项
- HBase Thrift 接口的一些使用问题及相关注意事项
- (转)Qt中如何使用样式表QPalette以及相关注意事项
- nginx lua 配合使用时的注意事项(汇总)
- nginx相关指令及使用(三)
- Qt中如何使用样式表QPalette以及相关注意事项
- nginx相关指令及使用(四)
- 使用nginx的 一些初级事项
- 详解Nginx服务器中HTTP Headers相关的模块配置使用
- 线程安全使用相关注意事项
- 使用OpenCV开发人脸识别及相关注意事项