当前位置:网站首页>使用Tengine解决负载均衡的Session问题
使用Tengine解决负载均衡的Session问题
2022-07-03 15:03:00 【星哥玩云】
事情的经过时这样的~~,我看了好多好多百度中nginx负载均衡中解决session问题的方式,我选择了研究url_hash的方式。经过一番配置之后,我越发觉得这百度搜出来的帖子也太过久远了吧,去http://wiki.nginx.org/上找了找这个模块
,在github下载的位置上看到了这样一段话:
NOTE: This module is obsolete as of Nginx 1.7.2, which includes the hashdirective. This repository remains for historical interest only. 我的理解是此版本是绝对的使用nginx1,7,2,此库仅为历史感兴趣的参考,而百度翻译则是此模块为过时的,我就无法理解了。
正在迷茫之际,我看到了tengine,这是淘宝对nginx的一种扩展的优化吧。然后我就转而研究这个了~~,发现在tengine之中有一个叫做ngx_http_upstream_session_sticky_module的模块,很是贴合我的目的,他是利用用户的cookie来保持对session的支持。具体原理还有待研究,总之得试试吧~~
安装过程可以参考这个:http://www.linuxidc.com/Linux/2015-09/123050.htm 。(指出这个文章有问题的地方,在安装nginx的时候使用 ./configure --prefix=/opt/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-openssl=/usr/local/src/openssl-1.0.1h --with-zlib=/usr/local/src/zlib-1.2.8 --with-pcre=/usr/local/src/pcre-8.35 --with-jemalloc=/usr/local/jemalloc-3.6.0这个命令)
经过各种踩坑之后,整好了:(这个界面也是尊重nginx,依然那么简约 。 - - !)
那么我们就来试试那个神奇的模块吧,配置如下:
upstream rock{ server 127.0.0.1:8081; server 127.0.0.1:8082; session_sticky; }
server { server_name www.linuxidc.com rockcoding.com; listen 80; index index.html index.htm index.jsp; location / { proxy_pass http://rock; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # access_log /data/log/rockman/www.linuxidc.com main; #日志文件 } }
公司的同事,对于外网来说ip都一样,只要访问到不同的两台服务器且连续刷新不会改变session不会失效(其实就是不会跳转到另一台服务器),那么就成功了。两台电脑访问,或者不同的浏览器访问都可以,模块式基于cookie来判断的~
嗯,比ip_hash强多了,但是要编译那么多东西,总觉得还需要再深入研究一下,才方便使用这个tengine吧~
边栏推荐
- 2021-10-16 initial programming
- Simulation of LS -al command in C language
- C language dup2 function
- Yolov5 series (I) -- network visualization tool netron
- Dllexport et dllimport
- el-switch 赋值后状态不变化
- [graphics] real shading in Unreal Engine 4
- C # realizes the login interface, and the password asterisk is displayed (hide the input password)
- 什么是embedding(把物体编码为一个低维稠密向量),pytorch中nn.Embedding原理及使用
- Explanation of time complexity and space complexity
猜你喜欢
There are links in the linked list. Can you walk three steps faster or slower
Incluxdb2 buckets create database
什么是embedding(把物体编码为一个低维稠密向量),pytorch中nn.Embedding原理及使用
【pytorch学习笔记】Datasets and Dataloaders
[wechat applet] wxss template style
4-20-4-23 concurrent server, TCP state transition;
5-1 blocking / non blocking, synchronous / asynchronous
Besides lying flat, what else can a 27 year old do in life?
[pytorch learning notes] datasets and dataloaders
Rasterization: a practical implementation (2)
随机推荐
dllexport和dllimport
Several sentences extracted from the book "leather bag"
【注意力机制】【首篇ViT】DETR,End-to-End Object Detection with Transformers网络的主要组成是CNN和Transformer
Awvs batch operation script
C language memory function
Tensor 省略号(三个点)切片
C language DUP function
Niuke bm83 string deformation (case conversion, string inversion, string replacement)
Global and Chinese markets for infrared solutions (for industrial, civil, national defense and security applications) 2022-2028: Research Report on technology, participants, trends, market size and sh
Simulation of LS -al command in C language
TPS61170QDRVRQ1
Use of form text box (I) select text
C # realizes the login interface, and the password asterisk is displayed (hide the input password)
High quality workplace human beings must use software to recommend, and you certainly don't know the last one
Yolov5 advanced seven target tracking latest environment construction (II)
从书本《皮囊》摘录的几个句子
Explanation of time complexity and space complexity
TPS61170QDRVRQ1
远程服务器后台挂起 nohup
Leetcode sword offer find the number I (nine) in the sorted array