一. nginx_upstream_jvm_route模块功能
这个模块通过session cookie的方式来获取session粘性。如果在cookie和url中并没有session,则这只是个简单的round-robin 负载均衡。
1. 一开始请求过来,没有带session信息,jvm_route就根据round robin的方法,发到一台tomcat上面。
2. tomcat添加上session 信息,并返回给客户。
3. 用户再此请求,jvm_route看到session中有后端服务器的名称,它就把请求转到对应的服务器上。
暂时jvm_route模块还不支持默认fair的模式。jvm_route的工作模式和fair是冲突的。对于某个特定用户,当一直为他服务的 tomcat宕机后,
默认情况下它会重试max_fails的次数,如果还是失败,就重新启用round robin的方式,而这种情况下就会导致用户的session丢失。
总的说来,jvm_route是通过session_cookie这种方式来实现session粘性,将特定会话附属到特定tomcat上,从而解决session不同步问题,
但无法解决宕机后会话转移问题。
二. 下载模块nginx_upstream_jvm_route
模块网站地址:http://code.google.com/p/nginx-upstream-jvm-route/
采用svn方式下载源代码:
svn checkout http://nginx-upstream-jvm-route.googlecode.com/svn/trunk/ nginx-upstream-jvm-route-read-only
下载后 目录地址如下(pwd):
/work/tmp/nginx-upstream-jvm-route-read-only
三. 下载nginx
wget http://nginx.org/download/nginx-1.5.3.tar.gz (编译过程中发生问题, 没有编译通过, 最后更换 nginx 1.29)
wget http://nginx.org/download/nginx-1.2.9.tar.gz
解压缩nginx
进入nginx目录
执行 patch -p0 < /work/tmp/nginx-upstream-jvm-route-read-only/jvm_route.patch
发现没有 patch命令. 因此运行: yum install patch 安装相关命令
[root@iig nginx]# patch -p0 < /work/tmp/nginx-upstream-jvm-route-read-only/jvm_route.patch
patching file src/http/ngx_http_upstream.c
Hunk #1 succeeded at 4462 (offset 620 lines).
Hunk #3 succeeded at 4594 (offset 620 lines).
Hunk #5 succeeded at 4664 (offset 620 lines).
patching file src/http/ngx_http_upstream.h
Hunk #1 succeeded at 92 (offset 7 lines).
四. 编译nginx
./configure –add-module=/work/tmp/nginx-upstream-jvm-route-read-only
后发现缺少 相关 pcre程序, 然后yum install pcre成功后,还是找不到相关pcre程序, 最后源码安装 pcre(http://www.pcre.org/
安装中也遇到些问题,已经解决,见前一篇文章),
安装prce通过后.但是缺少gzip相关模块, 为了简单, 先临时关闭这个功能模块如下
./configure –add-module=/work/tmp/nginx-upstream-jvm-route-read-only –without-http_gzip_module
再次make, 成功
最后 make install 成功
最后到
[root@n2 nginx]# pwd
/usr/local/nginx
[root@n2 nginx]# ls
conf html logs sbin
[root@n2 nginx]#
查看nginx的安装情况, 发现完全安装完毕
分享到:
相关推荐
【标题】"nginx-upstream-jvm-route-1.15" 涉及的核心知识点是Nginx的upstream模块与JVM路由的整合,特别针对Nginx 1.15版本。这个项目旨在解决在配置Nginx时遇到的特定错误提示“nginx: [emerg] invalid parameter ...
linux nginx nginx_upstream_jvm_route
此资源有两个文件,含 nginx-upstream-jvm-route 和 nginx 对应版本,都是tar.gz文件。 安装方法网上很多就不写了,亲测可用。 不用担心版本不匹配造成安装失败,再浪费积分去到处下载尝试的烦恼。 此资源有两个文件...
nginx_upstream_jvm_route 是一个 Nginx 的扩展模块,用来实现基于 Cookie 的 Session Sticky 的功能。 安装方法(进入Nginx源码目录): #patch -p0 < /path/to/this/directory/jvm_route.patch # ./configure -...
nginx_upstream_jvm_route 是一个 Nginx 的扩展模块,用来实现基于 Cookie 的 Session Sticky 的功能。 安装方法(进入Nginx源码目录): #patch -p0 < /path/to/this/directory/jvm_route.patch # ./configure -...
- 检查Nginx配置,确保`jvm_route`参数被正确设置。 - 确认Java应用服务器端的Session管理配置是否正确处理`srun_id`。 - 检查是否存在编码问题,比如URL编码不正确。 - 调试后端服务,查看是否接收到`srun_id`...
代码如下:cd /optwget ... /opt/nginx_upstream_jvm_route/jvm_route.patc
在解压后的"nginx_upstream_jvm_route"目录中,我们可以找到Nginx的配置示例、Java应用程序的部署配置以及可能的脚本文件。这些资源可以帮助我们配置Nginx以识别和利用JVM Route,确保Session数据在Tomcat集群中的...
HTTP图片服务器及HTTPS一、负载均衡简介二、负载均衡实验配置~~0.Tomcat安装:~~1.负载服务器配置2.负载均衡配置3.测试三、Nginx负载均衡算法四、Nginx相关文章链接 演示环境: 系统版本:CentOS Linux release 7.7...
a)在server1 上安装配置 nginx + nginx_upstream_jvm_route - 22 - b)分别在两台机器上 安装 resin - 22 - c)配置两台机器 的 resin - 23 - d)整合 ngxin resin - 24 - e)测试,打开浏览器,输入 ...
在 Nginx 的配置中,upstream 模块扮演了重要的角色,它允许我们定义一组服务器,根据不同的策略将请求分发到这些服务器上。`nginx-upstream-manager.zip` 提供了一个开源项目,用于更方便地管理和操作 Nginx 的 ...
patch -p0 < ../nginx-upstream-jvm-route.tar.gz/jvm_route.patch useradd www ./configure --user=www --group=www --prefix=/usr/local/nginx --with-...
patch -p0 < /opt/software/nginx_upstream_jvm_route/jvm_route.patch ``` 如果成功,你会看到类似 "Hunk #x succeeded" 的输出。 3. 记录下 Nginx 的原始配置参数,通常可以通过 `nginx -V` 查看。 4. 备份 ...
- `patch -p0 ${nginx-upstream-jvm-route解压目录}/jvm_route.patch` 5. 配置并编译Nginx: - `./configure --prefix=/usr/local/nginx --with-pcre=${pcre解压目录} --with-...
[root@localhost ~]# patch -p0 ${nginx-upstream-jvm-route解压目录}/jvm_route.patch [root@localhost ~]# ./configure --prefix=/usr/local/nginx --with-pcre=${pcre解压目录} --with-...
对于"README"文件,通常包含了关于如何使用和配置这些组件的详细说明,例如如何应用"jvm_route.patch"到Tomcat源码,以及如何编译和安装Nginx自定义模块。 在集群环境下,还需要考虑会话持久化问题,以保证用户在与...
nginx-upstream-jvm-route-0.1.tar.gz #nginx会话记录的必须模块 (用于tomcat集群,单tomcat就直接忽略相关操作) pcre-8.10.tar.gz #包括 perl 兼容的正规表达式库 (shell>rpm -qa|grep pcre 可以检查系统是否已...