环境: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. LINUXFOUNDATION EVENTS

    http://events.linuxfoundation.org/ #lflks This invitation-only event focuses on development and inno ...

  2. [笔记] sed and awk

    / awk程序的典型示例是将数据转换成格式化的报表,当数据拥有某种结构时就能最好的体现awk的好处:可以使用awk脚本对数据的列重新排序,甚至可以将列变成行以及将行变成列:awk的功能将文本编辑的思想 ...

  3. VS快速生成JSON数据类

    1.复制Json数据 2.

  4. Python中cv2库和matplotlib库色彩空间排布不一致

    今天在python中读如图片时发现以下问题: 1.在from matplotlib import pyplot as plt之后,再import cv2 cv2.imshow()不能正常使用,还不知道 ...

  5. iphone手机连接USB时出现须要Mobile device setup disk上的usbaapl.sys文件

    问题: iphone5 手机连接USB出现例如以下弹框 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYW5nZWwyMnh1/font/5a6L5L2T/ ...

  6. 构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统(62)-EF链接串加密

    前言: 这一节提供一个简单的功能,这个功能看似简单,找了一下没找到EF链接数据库串的加密帮助文档,只能自己写了,这样也更加符合自己的加密要求 有时候我们发布程序为了避免程序外的SQL链接串明文暴露,需 ...

  7. Nothing but the key 属性全部依赖于主键 third norm form

    全依赖 Designs that Violate 1NF CustomerCustomer ID First Name Surname Telephone Number123 Pooja Singh ...

  8. 【Effective C++】资源管理

    资源:动态分配的内存.文件描述器.互斥锁.图形界面中的字型与笔刷.数据库连接以及网络sockets等,无论哪一种资源,重要的是,当你不再使用它时,必须将它还给系统. 条款13:以对象管理资源 当我们向 ...

  9. Vue中的methods、watch、computed

    看到这个标题就知道这篇文章接下来要讲的内容,我们在使用vue的时候methods.watch.computed这三个特性一定经常使用,因为它们是非常的有用,但是没有彻底的理解它们的区别和各自的使用场景 ...

  10. Dubbo与Zookeeper、SpringMVC整合与使用(干货-理论放一遍。。。还未完结!)

    Dubbo跟Zookeeper的简介分享两个不错的链接: Dubbo简介:http://shiyanjun.cn/archives/325.html Zookeeper简介:http://www.op ...