文档章节

NGINX源码安装+nginx_upstream_jvm_route

仁江
 仁江
发布于 2017/04/06 17:17
字数 678
阅读 1.4K
收藏 1

「深度学习福利」大神带你进阶工程师,立即查看>>>

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
广州
程序员
私信 提问
加载中
请先登录后再评论。
Netty那点事(三)Channel与Pipeline

Channel是理解和使用Netty的核心。Channel的涉及内容较多,这里我使用由浅入深的介绍方法。在这篇文章中,我们主要介绍Channel部分中Pipeline实现机制。为了避免枯燥,借用一下《盗梦空间》的...

黄亿华
2013/11/24
2W
22
记一次失败的Perl + Nginx + FastCGI 配置过程

这两天心血来潮,不知道为什么和 Perl + Nginx + FastCGI 配置 耗上了。但是失败了,记录如下: 1)安装Nginx 1.4.3 ,我的是WINDOWS 7 系统,修改配置文件如下: location ~ .(pl|cgi|perl)?...

通吃岛-低手哥
2013/10/27
1.7K
7
Flappy Bird(安卓版)逆向分析(一)

更改每过一关的增长分数 反编译的步骤就不介绍了,我们直接来看反编译得到的文件夹 方法1:在smali目录下,我们看到org/andengine/,可以知晓游戏是由andengine引擎开发的。打开/res/raw/at...

enimey
2014/03/04
6.1K
18
我的架构演化笔记 功能1: 基本的用户注册

“咚咚”,一阵急促的敲门声, 我从睡梦中惊醒,我靠,这才几点,谁这么早, 开门一看,原来我的小表弟放暑假了,来南京玩,顺便说跟我后面学习一个网站是怎么做出来的。 于是有了下面的一段...

强子哥哥
2014/05/31
976
3
beego API开发以及自动化文档

beego API开发以及自动化文档 beego1.3版本已经在上个星期发布了,但是还是有很多人不了解如何来进行开发,也是在一步一步的测试中开发,期间QQ群里面很多人都问我如何开发,我的业余时间实在...

astaxie
2014/06/25
2.7W
22

没有更多内容

加载失败,请刷新页面

加载更多

创建myBatis项目

1、简介 1.1、核心组件 SqlSessionFactoryBuilder(构造器):根据配置信息或者代码生成SqlSessionFactory SqlSessionFactory(工厂接口):依靠工厂来生成SqlSession(会话) SqlSession(会话): ...

执键走天涯
23分钟前
5
0
Tomcat集群带来的问题和解决思路

Tomcat集群 存在问题 解决方案 基于Redis+Cookie+Jackson+Filter的原生解决集群Session共享问题 使用Spring Session零侵入解决Session共享 单点登录实现 Redis构建Session服务器 使用Redis+C...

code-ortaerc
43分钟前
17
0
小福利

点击有福利 本文分享自微信公众号 - V5codings(gh_c1ec2d16ec93)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。...

V5codings
2019/11/19
0
0
ubuntu 安装 oh my zsh

https://github.com/ohmyzsh/ohmyzsh https://ohmyz.sh/#install 安装 sudo apt-get install zsh -ysh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh ......

阿豪boy
55分钟前
7
0
自然语言处理中的语言模型简介

作者|Devyanshu Shukla 编译|Flin 来源|medium 在这篇文章中,我们将讨论关于语言模型(LM)的所有内容 什么是LM LM的应用 如何生成LM LM的评估 介绍 NLP中的语言模型是计算句子(单词序列)...

人工智能遇见磐创
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部