• Tengine(nginx) 搭建Tomcat集群


        好久没有更新学习的内容了,就是得强迫自己写点东西 记录自己的学习,才能更好的进步!

                 Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。

        首先将Tengin上传到Linux服务器上,然后进行解压

    1. 安装依赖 yum -y install gcc openssl-devel pcre-devel zlib-devel
    2. 编译三步走       ./configure

      --prefix=/opt/sxt/soft/tengine-2.1.0/

      --error-log-path=/var/log/nginx/error.log

      --http-log-path=/var/log/nginx/access.log

      --pid-path=/var/run/nginx/nginx.pid  

      --lock-path=/var/lock/nginx.lock

      --with-http_ssl_module

      --with-http_flv_module

      --with-http_stub_status_module

      --with-http_gzip_static_module

      --http-client-body-temp-path=/var/tmp/nginx/client/

      --http-proxy-temp-path=/var/tmp/nginx/proxy/

      --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/

      --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi

      --http-scgi-temp-path=/var/tmp/nginx/scgi

      --with-pcre

    make && make install

    1. 注意:一定要从windows复制粘贴过来

        在/etc/init.d下面建立nginx文件,粘贴内容,修改路径

    1. 修改ngxin文件执行权限
    2. 配置chkconfig

      然后使用命令  service  nginx start 

    出现如下的效果图就是配置成功

    准备两台Linux  每个Linux都安装一个tomcat   

    在Nginx上配置反向代理

    1.反向代理

    首先在两台服务器分别配置并启动tomcat,修改tomcat首页为tomcat1和tomcat2

    配置反向代理和upstream

    upstream backend {

        server 192.168.2.141:8080 ;

        server 192.168.2.142:8080;

    }

    server {

        location / {

            proxy_pass http://backend;

    }

    }

    从上面可以看出定义一组服务器。 这些服务器可以监听不同的端口。 而且,监听在TCPUNIX域套接字的服务器可以混用

    访问分别显示tomcat1和tomcat2

    两个tomcat出现的问题

    Session共享
    – 首先我们应该明白,为什么要实现共享,如果你的网站是存放在一个
    机器上,那么是不存在这个问题的,因为会话数据就在这台机器,但
    是如果你使用了负载均衡把请求分发到不同的机器呢?这个时候会话id
    在客户端是没有问题的,但是如果用户的两次请求到了两台不同的机
    器,而它的session数据可能存在其中一台机器,这个时候就会出现取
    不到session数据的情况,于是session的共享就成了一个问题

     解决Session共享的方法

    memcached缓存方案安装memcached

    1.抛出Session一致性问题

    2.安装memcached缓存数据库

        通过命令安装    yum –y install memcached

        通过telnet测试memcached数据库

    3.tomcat配置名称session一致性配置

    jar包拷贝到tomcatlib

    在tomcatserver.xml配置jvmRoute

    Linux1

    <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">

    Linux2

    <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2">

    在context.xmlContext配置Manager

    Linux1

    <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"

    memcachedNodes="n1:192.168.2.141:11211"

        sticky="false"

        lockingMode="auto"

        sessionBackupAsync="false"

    requestUriIgnorePattern=".*.(ico|png|gif|jpg|css|js)$"

        sessionBackupTimeout="1000" transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"

    />

    Linux2 的配置如上

    4.index.jsp配置

    <%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8"%>

    SessionID:<%=session.getId()%>

    <br/>

    SessionIP:<%=request.getServerName()%>

    <br/>

    <h1>tomcat2 page</h1>

    配置好后  记得刷新 Nginx和 重启tomcat

    然后在浏览器访问  就能看见访问不同的tomcat但是Session一致。

  • 相关阅读:
    用VBS脚本查询纯真IP库QQWry.dat(转)
    微软的进程监视器监视进程注册表,文件系统和线程等活动process monitor
    纯真IP库详解(转)
    VBS的开发利器WMI信息绑定参考地址
    VBS去除指定的字符串中的重复项返回重复后的字符串
    WMI中相关的操作说明execquery 或者是instancesof
    VBS字符编码的说明
    VBS中的Asc/AscB/AscW和Chr/ChrB/ChrW函数之间的区别(转)
    随笔我的想法
    关于ANSI字符编码的BUG问题(转)
  • 原文地址:https://www.cnblogs.com/kangxinxin/p/9037659.html
Copyright © 2020-2023  润新知