环境: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. YUV格式

    http://blog.csdn.net/u011270282/article/details/50696616 http://blog.csdn.net/acs713/article/details ...

  2. angularJS contenteditable 指令双向绑定

    项目遇到需求有点奇葩:双击div使其可编辑,失去焦点后进行数据绑定 通过自定义指令完成 好了上代码: .directive('contentEditable', function() { return ...

  3. Linux 下编译安装OpenCV(zhuanzai)

    http://www.cnblogs.com/emouse/archive/2013/02/22/2922940.html Cmake的安装 OpenCV 2.2以后版本需要使用Cmake生成make ...

  4. LeetCode(155)题解--Min Stack

    https://leetcode.com/problems/min-stack/ 题目: Design a stack that supports push, pop, top, and retrie ...

  5. Ubuntu 13.10上用户怎样获得root权限,用户怎样获得永久root权限,假设配置root登录

    一.用户怎样获得root权限: 1. 进入terminal 2. 输入sudo  passwd root   并设置password,提示要你输入两次password.自己设定password,一定要 ...

  6. # Playables API(翻译)

        The Playables API provides a way to create tools, effects or other gameplay mechanisms by organi ...

  7. EasyDarwin Streaming Server对Task的调用方法

    我们在EasyDarwin流媒体服务器的二次开发过程中,经常会需要定义自己的Task类,例如在EasyDarwin中,RTSPSessioin.HTTPSession.RTCPTask等,都是Task ...

  8. wepy开发

    工欲善其事必先利其器 ide安装.配置] https://tencent.github.io/wepy/document.html VS Code   1. 在 Code 里先安装 Vue 的语法高亮 ...

  9. keybd_event、SendInput笔记

    void keybd_event(BYTE bVk, BYTE bScan, DWORD dwFlags, ULONG_PTR dwExtraInfo); bVk:虚拟键码 bScan:键的硬件扫描码 ...

  10. 怎样解决 no jzmq in java.library.path

    1. 确保zmq的各种library有安装正确.检查方法:查看/usr/local/lib, 看里面有没有libjzmq.a, libjzmq.dylib, libzmq.a, libjzmq.dyl ...