文档章节

NGINX源码安装+nginx_upstream_jvm_route

仁江
 仁江
发布于 2017/04/06 17:17
字数 678
阅读 49
收藏 1
点赞 0
评论 0

1、准备安装包

  • nginx-1.4.7.tar.gz
  • nginx_upstream_jvm_route

nginx扩展包,使得nginx能根据客户端的cookie实现粘性转发,保证同一客户端的请求转发到相同的tomcat,解决session问题。由于安装此模板对nginx版本有一定要求,所以请务必按照文档所写的版本进行安装。基于各个服务器的差异,下面的安装步骤可能会有所差异,但是原理是一样的,请安装人员在安装过程中,按照实际提示进行安装。

  • 把这两个包都放到安装目录中,解压nginx-1.4.7.tar.gz
#tar zxvf nginx-1.4.7.tar.gz

输入图片说明

2、编译安装nginx 如果之前有用yum在服务器上安装了nginx,请先卸载

# yum remove nginx

进入nginx安装包解压之后的目录

# cd /dhsq/nginx-1.4.7

安装nginx_upstream_jvm_route模块补丁

# patch -p0 < /dhsq/nginx_upstream_jvm_route/jvm_route.patch

显示如下信息表示补丁安装成功。 输入图片说明

然后我们对源码进行编译

./configure --with-http_stub_status_module --with-http_ssl_module --add-module=/dhsq/nginx_upstream_jvm_route/

输入图片说明

提示我们还没有安装PCRE库,使用yum安装

# yum install pcre
# pcre-devel

安装之后再次编译 编译还是不通过,提示缺少OpenSSL库 输入图片说明

使用yum安装

# yum install openssl
# yum install openssl-devel

安装之后再次编译,编译成功

输入图片说明

注意红色地方的路径为nginx安装的相关路径,当然你也可以在编译的时候指定安装的路径,这里我们使用默认的安装路径。 然后进行安装

# make

输入图片说明

# make install

输入图片说明

我们来到nginx的目录

# cd /usr/local/nginx/

可以看到各文件已经有了。

输入图片说明

启动nginx。由于源码安装没有把nginx安装成服务,我们不能使用service nginx start这些命令。

# /usr/local/nginx/sbin/nginx

启动之后我们可以在浏览器输入服务器的ip地址 看到如下界面,说明nginx安装成功。 输入图片说明

3、基于nginx_upstream_jvm_route模块粘性session负载均衡配置

worker_processes  4;
worker_rlimit_nofile 4096;
worker_connections  4096;
upstream www.mytest.com{
        #ip_hash;
        server 127.0.0.1:8080 srun_id=tomcat1;
        server 127.0.0.1:9090 srun_id=tomcat2;
        jvm_route $cookie_JSESSIONID|sessionid reverse;
}
location / {
            proxy_pass http://www.mytest.com;
            root   html;
            index  index.html index.htm;
 }

输入图片说明

还需要修改tomcat的server.xml配置文件

# vi /dhsq/apache-tomcat-app-t2/conf/server.xml
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">

在后面增加jvmRoute标签,内容即为在nginx中的名字。注意在集群的tomcat中名字唯一。 输入图片说明

最后重启tomcat和nginx

# /www/apache-tomcat-app-t1/bin/shutdown.sh
# /www/apache-tomcat-app-t1/bin/startup.sh

Nginx的重启方法

# ps -ef|grep nginx

查询nginx的进程,然后使用kill杀掉进程,然后再重新启动即可。

# /usr/local/nginx/sbin/nginx

这时候再在浏览器中输入ip地址可以看到请求被转发到tomcat中了

输入图片说明

© 著作权归作者所有

共有 人打赏支持
仁江
粉丝 8
博文 12
码字总数 7176
作品 0
广州
程序员
tomcat安装配置及nginx负载均衡

tomcat安装配置及nginx负载均衡 以下内容为centos6.5的环境下做的。 结构如下 nginx :192.168.43.66 tomcat1 :192.168.43.60 tomcat2 :192.168.43.3 tomcat是Java写的,需要jdk的运行环境所...

优惠券活动 ⋅ 05/06 ⋅ 0

使用Docker搭建Java环境

准备 首先需要准备一个CentOS的操作系统,虚拟机也可以。具体配置要求如下: 必须是64位操作系统 建议内核在3.8以上 安装Docker 只需要通过以下命令即可安装Docker软件 yum -y install docke...

qq_16030133 ⋅ 04/18 ⋅ 0

hi-nginx-1.4.9 正式发布,支持 Javascript 后端开发

hi-nginx-1.4.9已经发布。 更新: 支持javascript后端开发 修复脚本搜索的一个bug 从这一版开始,hi-nginx开始支持javascript,这意味着把javascript应用于后端开发,将不再只有nodejs这唯一...

所以呢 ⋅ 05/14 ⋅ 0

hi-nginx-1.5.2 发布,优化 cpp 支持,添加 groovy 支持

高性能web和application服务器hi-nginx-1.5.2正式发布。 主要更新: 更新nginx至1.5.0 优化cpp支持 升级文档 添加groovy语言支持说明 hi-nginx完全支持任意实现jsr-223规范的JVM语言。 以下是...

所以呢 ⋅ 06/07 ⋅ 0

详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南

Nginx是一种服务器软件,也是一种高性能的http和反向代理服务器,同时还是一个代理邮件服务器。也就是说,我们在Nginx上可以发布网站,可以实现负载均衡(提高应答效率,避免服务器崩溃),还...

zwtestsky ⋅ 05/11 ⋅ 0

Nginx+Weblogic集群及session共享复制(生产案例)

生产环境: 系统: Redhat6.6.x8664 负载反向代理工具: Nginx-1.8.1 Session工具: nginx-upstream-jvm-route-0.2.tar.gz nginx-upstream-jvm-route下载地址:https://code.google.com/arc......

linuxzkq ⋅ 2016/08/11 ⋅ 0

Jenkins 教程(一)实现自动化打包及邮件通知

个人不喜欢装腔作势一堆专业术语放上去,让大多数人看不懂来提升逼格(所谓的专家),所以我简单的介绍jenkins是干啥的。本文使用jenkins,就是让它把git仓库里的东西取出来,然后在jenkins容器...

FantJ ⋅ 05/26 ⋅ 0

Nginx+gunicorn + Flask负载均衡配置

nginx版本:1.12.2,gunicorn和flask都是用pip安装的 1.nginx.conf内容 worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/oc......

cep ⋅ 01/18 ⋅ 0

Docker seaweedfs

关于seaweedfs的介绍我就不在此文赘述,本文的主要目的是讲述我在docker中运行seaweedfs遇到的一些问题。 这是我搜集的一些关于SeaWeedFS的资料 ps.不管是在物理机还是docker之中运行seaweed...

os1cheng ⋅ 05/30 ⋅ 0

hi-nginx-1.4.8 正式发布,新增一组命令

hi-nginx-1.4.8正式发布。 更新: nginx升级至1.14.0 升级hi-project脚本,创建工程更灵活方便 支持java 10 添加hiluapackagepath 和 hiluapackagecpath 命令. 添加三个缓存控制命令:hinee...

所以呢 ⋅ 05/09 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

BS与CS的联系与区别【简】

C/S是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、InFORMix或 SQL Server。客户端需要安装专用的客户端软件。 B/S是Brower/...

anlve ⋅ 34分钟前 ⋅ 0

发生了什么?Linus 又发怒了?

在一个 Linux 内核 4.18-rc1 的 Pull Request 中,开发者 Andy Shevchenko 表示其在对设备属性框架进行更新时,移除了 union 别名,这引发了 Linus 的暴怒。 这一次 Linus Torvalds 发怒的原...

问题终结者 ⋅ 54分钟前 ⋅ 0

在树莓派上搭建一个maven仓库

在树莓派上搭建一个maven仓库 20180618 lambo init 项目说明 家里有台树莓派性能太慢。想搭建一个maven私服, 使用nexus或者 jfrog-artifactory 运行的够呛。怎么办呢,手写一个吧.所在这个...

林小宝 ⋅ 今天 ⋅ 0

Spring发展历程总结

转自与 https://www.cnblogs.com/RunForLove/p/4641672.html 目前很多公司的架构,从Struts2迁移到了SpringMVC。你有想过为什么不使用Servlet+JSP来构建Java web项目,而是采用SpringMVC呢?...

onedotdot ⋅ 今天 ⋅ 0

Python模块/包/库安装(6种方法)

Python模块/包/库安装(6种方法) 冰颖机器人 2016-11-29 21:33:26 一、方法1: 单文件模块 直接把文件拷贝到 $python_dir/Lib 二、方法2: 多文件模块,带setup.py 下载模块包(压缩文件zip...

cswangyx ⋅ 今天 ⋅ 0

零基础学习大数据人工智能,学习路线篇!系统规划大数据之路?

大数据处理技术怎么学习呢?首先我们要学习Python语言和Linux操作系统,这两个是学习大数据的基础,学习的顺序不分前后。 Python:Python 的排名从去年开始就借助人工智能持续上升,现在它已经...

董黎明 ⋅ 今天 ⋅ 0

openJdk和sun jdk的区别

使用过LINUX的人都应该知道,在大多数LINUX发行版本里,内置或者通过软件源安装JDK的话,都是安装的OpenJDK, 那么到底什么是OpenJDK,它与SUN JDK有什么关系和区别呢? 历史上的原因是,Ope...

jason_kiss ⋅ 今天 ⋅ 0

梳理

Redux 是 JavaScript 状态容器,提供可预测化的状态管理。 它是JS的状态容器,是一种解决问题的方式,所以即可以用于 react 也可以用于 vue。 需要理解其思想及实现方式。 应用中所有的 stat...

分秒 ⋅ 今天 ⋅ 0

Java 后台判断是否为ajax请求

/** * 是否是Ajax请求 * @param request * @return */public static boolean isAjax(ServletRequest request){return "XMLHttpRequest".equalsIgnoreCase(((HttpServletReques......

JavaSon712 ⋅ 今天 ⋅ 0

Redis 单线程 为何却需要事务处理并发问题

Redis是单线程处理,也就是命令会顺序执行。那么为什么会存在并发问题呢? 个人理解是,虽然redis是单线程,但是可以同时有多个客户端访问,每个客户端会有 一个线程。客户端访问之间存在竞争...

码代码的小司机 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部