`

Nginx 下 安装nginx_upstream_jvm_route模块

 
阅读更多
一. 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-route-1.15" 涉及的核心知识点是Nginx的upstream模块与JVM路由的整合,特别针对Nginx 1.15版本。这个项目旨在解决在配置Nginx时遇到的特定错误提示“nginx: [emerg] invalid parameter ...

    linux nginx nginx_upstream_jvm_route

    linux nginx nginx_upstream_jvm_route

    nginx-upstream-jvm-route 和 nginx 对应版本,亲测可用

    此资源有两个文件,含 nginx-upstream-jvm-route 和 nginx 对应版本,都是tar.gz文件。 安装方法网上很多就不写了,亲测可用。 不用担心版本不匹配造成安装失败,再浪费积分去到处下载尝试的烦恼。 此资源有两个文件...

    nginx-upstream-jvm-route-1.6.tar.gz

    nginx_upstream_jvm_route 是一个 Nginx 的扩展模块,用来实现基于 Cookie 的 Session Sticky 的功能。 安装方法(进入Nginx源码目录): #patch -p0 &lt; /path/to/this/directory/jvm_route.patch # ./configure -...

    nginx-upstream-jvm-route-1.12.0.tar.gz

    nginx_upstream_jvm_route 是一个 Nginx 的扩展模块,用来实现基于 Cookie 的 Session Sticky 的功能。 安装方法(进入Nginx源码目录): #patch -p0 &lt; /path/to/this/directory/jvm_route.patch # ./configure -...

    nginx-upstream-jvm-route nginx共享Session

    - 检查Nginx配置,确保`jvm_route`参数被正确设置。 - 确认Java应用服务器端的Session管理配置是否正确处理`srun_id`。 - 检查是否存在编码问题,比如URL编码不正确。 - 调试后端服务,查看是否接收到`srun_id`...

    linux下为nginx添加jvmroute模块的方法

    代码如下:cd /optwget ... /opt/nginx_upstream_jvm_route/jvm_route.patc

    nginx-upstream-jvm-route-0.1.tar.gz

    在解压后的"nginx_upstream_jvm_route"目录中,我们可以找到Nginx的配置示例、Java应用程序的部署配置以及可能的脚本文件。这些资源可以帮助我们配置Nginx以识别和利用JVM Route,确保Session数据在Tomcat集群中的...

    从零开始的Nginx详解(5)【Nginx-负载均衡】

    HTTP图片服务器及HTTPS一、负载均衡简介二、负载均衡实验配置~~0.Tomcat安装:~~1.负载服务器配置2.负载均衡配置3.测试三、Nginx负载均衡算法四、Nginx相关文章链接 演示环境: 系统版本:CentOS Linux release 7.7...

    Nginx安装配置、Resin安装配置说明文档

    a)在server1 上安装配置 nginx + nginx_upstream_jvm_route - 22 - b)分别在两台机器上 安装 resin - 22 - c)配置两台机器 的 resin - 23 - d)整合 ngxin resin - 24 - e)测试,打开浏览器,输入 ...

    nginx-upstream-manager.zip

    在 Nginx 的配置中,upstream 模块扮演了重要的角色,它允许我们定义一组服务器,根据不同的策略将请求分发到这些服务器上。`nginx-upstream-manager.zip` 提供了一个开源项目,用于更方便地管理和操作 Nginx 的 ...

    linux安装nginx和tomcat

    patch -p0 &lt; ../nginx-upstream-jvm-route.tar.gz/jvm_route.patch useradd www ./configure --user=www --group=www --prefix=/usr/local/nginx --with-...

    Nginx + Tomcat +session共享.docx

    patch -p0 &lt; /opt/software/nginx_upstream_jvm_route/jvm_route.patch ``` 如果成功,你会看到类似 "Hunk #x succeeded" 的输出。 3. 记录下 Nginx 的原始配置参数,通常可以通过 `nginx -V` 查看。 4. 备份 ...

    linux环境下通过nginx实现tomcat集群.pdf

    - `patch -p0 ${nginx-upstream-jvm-route解压目录}/jvm_route.patch` 5. 配置并编译Nginx: - `./configure --prefix=/usr/local/nginx --with-pcre=${pcre解压目录} --with-...

    linux环境下通过nginx实现tomcat集群借鉴.pdf

    [root@localhost ~]# patch -p0 ${nginx-upstream-jvm-route解压目录}/jvm_route.patch [root@localhost ~]# ./configure --prefix=/usr/local/nginx --with-pcre=${pcre解压目录} --with-...

    linux nginx tomcat 集群搭建

    对于"README"文件,通常包含了关于如何使用和配置这些组件的详细说明,例如如何应用"jvm_route.patch"到Tomcat源码,以及如何编译和安装Nginx自定义模块。 在集群环境下,还需要考虑会话持久化问题,以保证用户在与...

    nginx整合tomcat

    nginx-upstream-jvm-route-0.1.tar.gz #nginx会话记录的必须模块 (用于tomcat集群,单tomcat就直接忽略相关操作) pcre-8.10.tar.gz #包括 perl 兼容的正规表达式库 (shell&gt;rpm -qa|grep pcre 可以检查系统是否已...

Global site tag (gtag.js) - Google Analytics