环境:centos7, Tomcat7, redis-3.2,Nginx1.8,jdk-8u60-linux-x64

Nginx反向代理tomcat,redis作会话共享

一、Nginx安装

  解决依赖(后续安装时有提示什么依赖类的错误,安装即可):

  1、yum install gcc gcc-c++ autoconf automake -y

  2、yum install zlib zlib-devel openssl openssl-devel -y

  3、yum install pcre pcre-devel -y

  安装Nginx:

  1、tar xvf nginx-1.8.0.tar.gz -C /usr/local/src/ && cd /usr/local/src/nginx-1.8.0

  2、./configure --prefix=/usr/local/nginx --with-http_dav_module .......

  3、make && make install

二、redis安装

  1、tar -xvf redis-3.2.8.tar.gz

  2、cd redis-3.2.8

  3、make

  4、那些像redis-server   redis-cli等命令,可能在redis-3.2.8下的src中;

  5、vim redis.conf     修改此处为   daemonize yes

  5、cd src

  6、./redis-server 配置文件所在路径     #指定配置文件启动

  7、redis-cli  #测试客户端连接

三、Tomcat安装,此处为多实例

  JDK安装:

  1、rpm -ivh jdk-8u60-linux-x64.rpm      #找个包

  2、会安装到/usr/java下:

    vim /etc/profile.d/java.sh 写入:
    export JAVA_HOME=/usr/java/jdk1.8.0_60
    export PATH=$PATH:$JAVA_HOME/bin
    java -version    #测试

  Tomcat安装:

  1、tar -xvf apache-tomcat-7.0.82.tar.gz -C /usr/local

  2、cd  /usr/local

  3、mv apache-tomcat-7.0.82 ./tomcat

  4、在解压、移动一个 tomcat1

  5、在/etc/profile文件中加入下面内容配置环境变量:    

    ##########first tomcat###########
    CATALINA_BASE=/usr/local/tomcat
    CATALINA_HOME=/usr/local/tomcat
    TOMCAT_HOME=/usr/local/tomcat
    export CATALINA_BASE CATALINA_HOME TOMCAT_HOME
    ##########first tomcat############

    ##########second tomcat##########
    CATALINA_2_BASE=/usr/local/tomcat1
    CATALINA_2_HOME=/usr/local/tomcat1
    TOMCAT_2_HOME=/usr/local/tomcat1
    export CATALINA_2_BASE CATALINA_2_HOME TOMCAT_2_HOME
    ##########second tomcat##########

  6、进入tomcat1的bin目录, 修改startup.sh和shutdown.sh 两个文件,都添加如下内容:   

    export JAVA_HOME=/usr/local/java/jdk1.8.0_60
    export PATH=$PATH:$JAVA_HOME/bin
    export CLASSPATH=$JAVA_HOME/lib
    export CATALINA_HOME=$CATALINA_2_HOME
    export CATALINA_BASE=$CATALINA_2_BASE

  7、修改tomcat1端口,第一个不变,修改server.xml

    修改后示例如下:
   
      <Server port="9005" shutdown="SHUTDOWN">  端口:8005->9005
          <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
          <Connector port="8181" maxHttpHeaderSize="8192"        端口:8080->8181
          maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true" />
          <!-- Define an AJP 1.3 Connector on port 8009 -->
          <Connector port="9009"                                  端口:8009->9009
               enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />

   8、启动两个Tomcat

三、配置

  1、在/usr/local/tomcat(1)/webapps/ROOT中编辑index.jsp文件,内容如下:

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>获取session id</title>
</head>
<body>
Session Id : <%= request.getSession().getId() %>
</body>
</html>

  2、添加依赖的jar包到两个Tomcat的lib目录中:

  commons-logging-1.2.jar       jedis-2.8.2.jar       tomcat-redis-session-manage-tomcat7.jar
  commons-pool2-2.4.2.jar       tomcat-juli.jar

  3、编辑两个Tomcat的conf/context.xml,加入以下内容:

  <Valve className="com.orangefunction.tomcat.redissessions.RedisSessionHandlerValve" />
  <Manager className="com.orangefunction.tomcat.redissessions.RedisSessionManager"
  host="172.16.0.79"  #redis地址
  port="6379"
  database="0"
  maxInactiveInterval="60" />

  4、启动各个服务

Tomcat-redis-Nginx的更多相关文章

  1. Tomcat+redis+nginx配置

    为客户开发的一个绩效系统,采用了java web的开发方式,使用了一些spring mvc, mybatis之类的框架.相比于oracle ebs的二次开发,这种开发更加灵活,虽然和ebs集成的时候遇 ...

  2. 转 Tomcat+redis+nginx配置

    为客户开发的一个绩效系统,采用了java web的开发方式,使用了一些spring mvc, mybatis之类的框架.相比于oracle ebs的二次开发,这种开发更加灵活,虽然和ebs集成的时候遇 ...

  3. Tomcat+Redis+Nginx实现session共享(Windows版)

    redis安装:xx nginx安装:xx 步骤: 1.下载tomcat-redis-session-manager相应的jar包,主要有三个: wget https://github.com/dow ...

  4. 【转】 Tomcat+redis+nginx配置

    为客户开发的一个绩效系统,采用了java web的开发方式,使用了一些spring mvc, mybatis之类的框架.相比于oracle ebs的二次开发,这种开发更加灵活,虽然和ebs集成的时候遇 ...

  5. Nginx+Tomcat+Redis实现负载均衡、资源分离、session共享

    Nginx+Tomcat+Redis实现负载均衡.资源分离.session共享 CentOS安装Nginx http://centoscn.com/CentosServer/www/2013/0910 ...

  6. 通过Nginx+tomcat+redis实现反向代理 、负载均衡及session同步

    一直对于负载均衡比较陌生,今天尝试着去了解了一下,并做了一个小的实验,对于这个概念有一些认识,在此做一个简单的总结 什么是负载均衡 负载均衡,英文 名称为Load Balance,指由多台服务器以对称 ...

  7. 基于nginx tomcat redis分布式web应用的session共享配置

    一.前言 nginx 作为目前最流行的开源反向代理HTTP Server,用于实现资源缓存.web server负载均衡等功能,由于其轻量级.高性能.高可靠等特点在互联网项目中有着非常普遍的应用,相关 ...

  8. nginx+tomcat+redis的集群+session共享

    nginx+tomcat+redis的集群+session共享 环境准备 1.tomcat版本:tomcat7 tomcat下载及安装,目前很多好的资源和步骤,此处省略. 2.jdk版本:jdk1.7 ...

  9. nginx+tomcat+redis负载均衡及session共享

    概述 本文档是用来详细描述 nginx+tomcat+redis负载均衡实现session共享 所需软件及下载地址 软件名称 下载地址 功能说明 Nginx-v1.6.0 http://nginx.o ...

  10. nginx之 nginx + tomcat + redis 负载均衡且session一致性

    说明: 本文描述的是 nginx + tomcat + redis 实现应用负载均衡且满足session一致性,从安装到配置的全部过程,供大家学习!nginx 代理服务器ip: 10.219.24.2 ...

随机推荐

  1. do export method of oracle all database tables with dmp files.

    usually we need to export the database tables to backup and others use. So we must know what to do e ...

  2. Can&#39;t open named pipe to host: . pipe: MySQL

    今天遇到mysql连接odbc时报例如以下错误:Can't open named pipe to host: . pipe: MySQL 错误截图例如以下: 依照网上说的方法包含mysql的官方说法都 ...

  3. 笔记本POWER部分的应用——(MOS/LDO/BUCK BOOST)

    一.MOSFET 简介: 金属-氧化物半导体场效应晶体管,简称金氧半场效晶体管(Metal-Oxide-Semiconductor Field-Effect Transistor, MOSFET)是一 ...

  4. 编码知识 (Unicode、UTF-8、ANSI)

    1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串.每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte). ...

  5. CSS盒模型之三角形

    W3上介绍盒模型: 这里教程,但是太过于简单了,http://www.w3.org/community/webed/wiki/CSS/Training/Box_model. 如图,盒模型和背景属性控制 ...

  6. 算法NB三人组

    #快速排序-除了python自带的sort排序模块之外就这个最好用,只需会这个就行,其他的排序了解就好,能用冒泡,插入..的都可以用快排快速实现 import random from timewrap ...

  7. 零基础学python-4.5 标准类型分类

    1.按存储分:原子类型和容器类型 原子类型:仅仅能包括一个对象 容器类型:能够包括多个对象 分类 python类型 原子类型 数值和字符串 容器类型 列表.元组和字典 2.按能否够变化分:可变和不可变 ...

  8. mnesia练习及基本操作

    Mnesia基本用法 查看表结构 查看mnesia表的结构: mnesia:info(). 查看此表的基本信息: mnesia:table_info(<tableName>, all). ...

  9. 九度OJ 1112:拦截导弹 (DP、最长下降子序列)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3124 解决:1525 题目描述: 某国为了防御敌国的导弹袭击,开发出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能 ...

  10. 九度OJ 1108:堆栈的使用 (堆栈)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:6705 解决:1974 题目描述: 堆栈是一种基本的数据结构.堆栈具有两种基本操作方式,push 和 pop.Push一个值会将其压入栈顶, ...