linux下nginx tomcat负载均衡 基于nginx-sticky-module进行session黏性

羊禄
2023-12-01

版本信息:

linux: Red Hat Enterprise Linux Server>nginx_upstream_jvm_route 是一个 Nginx 的扩展模块,用来实现基于 Cookie 的 Session Sticky 的功能(中国人写的)。

jvm_route的原理(from 作者 Weibin Yao):
1. 一开始请求过来,没有带session信息,jvm_route就根据round>

 --with-pcre  配置PCRE库,该库是实现正则表达式的基础,如果缺少此库,nginx无法支持HTTP中的URL重写功能

 --with-openssl

 --with-zlib

--add-module 添加上jvm模块的路径

ps:第一次弄的话出错是难免的,我弄了近一个星期啊,我都怀疑我的智商了,总的来说在网上多看看多试试,等成功后在回头看就发现简单多了。安装后的配置就和别人说的一样,根据自己的要求来配置和优化就行了。

2.http://wiki.nginx.org上面的nginx_sticky_module模块。

重点说说这个模块吧,这个模块是我采用的方案。


在http://wiki.nginx.org/3rdPartyModules下的Known>

点进去可以看见他的英文说明,很简单应该都能懂。选择Downloads栏目下载.


所需tar包nginx1.5.8> 注意事项

nginx-1.5.x和nginx-sticky-module-1.1编译会有点问题,应该是nginx新版本没有相应的nginx-sticky-module,解决办法是把nginx-sticky-module-1.1/ngx_http_sticky_misc.c的281行修改为:

digest->len = ngx_sock_ntop(in,sizeof(struct sockaddr_in), digest->data, len, 1);


给个参考吧:http://my.oschina.net/766/blog/156693

这个比上个的过程要简单点。

在实际过程中遇到的问题:

1.一开始以为nginx可以和apache一样进行配置的,结果发现都是要编译的。

 http://wiki.nginx.org/Modules

  Nginx modules must be selected during compile, run-time selection of modules is not currently supported.

2.编译的是需要一些辅助程序,这个要自己查然后下载的。

3.在./configure的时候 有的人添加了用户和用户组,一开始我就以root进行操作的,这步也没进行用户设置 ,nginx.conf里的“#user>http://my.oschina.net/u/878259/blog/172491

 类似资料: