当前位置:网站首页>使用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吧~
边栏推荐
- Simulation of LS -al command in C language
- C language to realize mine sweeping
- Dllexport and dllimport
- Class part2
- Yolov5 advanced 8 format conversion between high and low versions
- 4-33--4-35
- Pytorch深度学习和目标检测实战笔记
- Global and Chinese market of optical fiber connectors 2022-2028: Research Report on technology, participants, trends, market size and share
- The picture quality has been improved! LR enhancement details_ Lightroom turns on AI photo detail enhancement: picture clarity increases by 30%
- el-switch 赋值后状态不变化
猜你喜欢
![[wechat applet] wxss template style](/img/28/f9d12bf761e25f9564d92697cf049d.png)
[wechat applet] wxss template style

Influxdb2 sources add data sources

Yolov5系列(一)——网络可视化工具netron
![[ue4] geometry drawing pipeline](/img/30/9fcf83a665043fe57389d44c2e16a8.jpg)
[ue4] geometry drawing pipeline

Pytoch deep learning and target detection practice notes

What is one hot encoding? In pytoch, there are two ways to turn label into one hot coding

Byte practice plane longitude 2

Dllexport et dllimport

High quality workplace human beings must use software to recommend, and you certainly don't know the last one

创业团队如何落地敏捷测试,提升质量效能?丨声网开发者创业讲堂 Vol.03
随机推荐
Global and Chinese markets of AC electromechanical relays 2022-2028: Research Report on technology, participants, trends, market size and share
[graphics] real shading in Unreal Engine 4
How does vs+qt set the software version copyright, obtain the software version and display the version number?
Yolov5 series (I) -- network visualization tool netron
Yolov5系列(一)——網絡可視化工具netron
High quality workplace human beings must use software to recommend, and you certainly don't know the last one
Global and Chinese market of marketing automation 2022-2028: Research Report on technology, participants, trends, market size and share
Chapter 14 class part 1
远程服务器后台挂起 nohup
[combinatorics] permutation and combination (set combination, one-to-one correspondence model analysis example)
QT - draw something else
Container of symfony
【Transform】【实践】使用Pytorch的torch.nn.MultiheadAttention来实现self-attention
Remote server background hangs nohup
Zzuli:1056 lucky numbers
Zzuli:1059 highest score
Rasterization: a practical implementation (2)
【微信小程序】WXSS 模板样式
Zzuli:1058 solving inequalities
Influxdb2 sources add data sources