一、       工具

  nginx-1.8.0

  apache-tomcat-6.0.33

二、    目标

  实现高性能负载均衡的Tomcat集群:

  

三、    步骤

  1、首先下载Nginx,要下载稳定版:

  

  2、然后解压两个Tomcat,分别命名为apache-tomcat-6.0.33-1和apache-tomcat-6.0.33-2:

  

  3、然后修改这两个Tomcat的启动端口,分别为18080和28080,下面以修改第一台Tomcat为例,打开Tomcat的conf目录下的server.xml:

  

  共需修改3处端口:

  

  当然第二台Tomcat也一样,如下图:

  

  4、然后启动两个Tomcat,并访问,看是否正常:

  

  

  5、然后修改上面两个Tomcat的默认页面(为了区分下面到底访问的是那一台Tomcat,随便改一下即可):

  

  改完以后,进行访问,如下图:

  

  

  6、OK,现在我们可以开始配置Nginx来实现负载均衡了,其实非常的简单,只需要配置好Nginx的配置文件即可:

  

  配置如下(这里只进行了简单的配置,实际生产环境可以进行更详细完善配置):

  核心配置如下:

worker_processes  1;#工作进程的个数,一般与计算机的cpu核数一致

events {
    worker_connections  1024;#单个进程最大连接数(最大连接数=连接数*进程数)
}

http {
    include       mime.types; #文件扩展名与文件类型映射表
    default_type  application/octet-stream;#默认文件类型

sendfile        on;#开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。
    
    keepalive_timeout  65; #长连接超时时间,单位是秒

gzip  on;#启用Gizp压缩
    
    #服务器的集群
    upstream  netitcast.com {  #服务器集群名字    
        server    127.0.0.1:8080  weight=1;#服务器配置   weight是权重的意思,权重越大,分配的概率越大。
        server    127.0.0.1:8081  weight=2;
    }

#当前的Nginx的配置
    server {
        listen       80;#监听80端口,可以改成其他端口
        server_name  localhost;##############    当前服务的域名

location / {
            proxy_pass http://netitcast.com;
            proxy_redirect default;
        }

error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

核心配置如下:

 7、首先,我们启动Nginx:

  

  8、然后我们即可输入:localhost/index.jsp查看运行状况了

  第一次访问,发现访问的是Tomcat2上的程序:

  

  然后刷新,访问的还是Tomcat2上的程序:

  

  再刷新,发现变为了Tomcat1上的程序:

  

  再刷新,发现又变为了Tomcat2上的程序:

  

  到此,我们利用Nginx已经实现了负载均衡的Tomcat集群。我们不断的刷新,发现访问Tomcat2的概率大概是Tomcat1的2倍,这是因为我们在Nginx中配置的两台Tomcat的权重起的作用,如下图:

  

nginx+tomcat 分布时服务部署的更多相关文章

  1. 分享一例测试环境下nginx+tomcat的视频业务部署记录

    需求说明:在测试环境下(192.168.1.28)部署一套公司某业务环境,其中:该业务前台访问地址: http://testhehe.wangshibo.com该业务后台访问地址: http://te ...

  2. Nginx+Tomcat发布时不间断服务的提供

    原理 1.使用Nginx反向代理事项负载均衡,至少两个Tomcat(tomcatA+TomcatB)同时提供服务. 2.发布时配置Nginx的nginx.conf,只让其中的TomcatA临时提供所有 ...

  3. windows下nginx+tomcat分布式集群部署

    首先官网下载  http://nginx.org/en/download.html,我的本地环境为 实现的架构: 从图上可以看出,nginx作为负载均衡请求分发器,当请求A应用时候,分发到A集群,同理 ...

  4. nginx - 反向代理 - 配置文件模板 - nginx 代理tcp的服务 - 部署示意图

    danjan01deiMac:~ danjan01$ cat /usr/local/etc/nginx/nginx.conf|grep -v '^$' worker_processes 1; even ...

  5. jenkins+docker+nginx+tomcat实现vue项目部署

    一.项目准备 1.新建一个vue的项目,确保能在浏览器正常访问.然后在项目的根目录下新建一个Dockerfile的文件,内容如下 FROM nginx COPY dist /usr/share/ngi ...

  6. 使用docker部署nginx+tomcat架构(3):使用docker-compose简化部署操作

    经历了之前的两篇,我们已经大体上了解了docker部署容器的过程. 使用docker部署nginx+tomcat架构 使用docker部署nginx+tomcat架构():访问mysql数据库 不过, ...

  7. Java Web开发Tomcat中三种部署项目的方法

    第一种方法:在tomcat中的conf目录中,在server.xml中的,<host/>节点中添加: <Context path="/hello" docBase ...

  8. Tomcat简介、安装部署、上线网站

    资源池 本章资源:点击这里 提取码:upbf tomcat官网:https://tomcat.apache.org/ jpress博客系统安装包下载地址(不是官网):https://gitee.com ...

  9. Nginx+Tomcat+Memcached 实现集群部署时Session共享

    Nginx+Tomcat+Memcached 实现集群部署时Session共享 一.简介 我们系统经常要保存用户登录信息,有Cookie和Session机制,Cookie客户端保存用户信息,Sessi ...

随机推荐

  1. 编译原理 #03# 龙书中缀转后缀JS实现版

    // 来自龙书第2章2.5小节-简单表达式的翻译器 笔记 既然是语法制导翻译(Syntax-directed translation),那么最重要的东西当然是描述该语言语法的文法,以下为中缀表达式文法 ...

  2. 设计模式理解(十)结构型——享元(Flyweight)

    最后一个结构型,享元.没有太多的项目经验,对这种模式只有一种概念上的理解,就是为了节约内存等资源,把可重用的东西只申请一次,然后处处调用,同时用Hash进行管理. 直接上图: 代码: /******* ...

  3. 常用sql语句总结(一)(查询)

    常用sql语句总结(一)(查询) 数据操作语句:DML 数据定义语句:DDL 数据控制语句:DCL (执行顺序------序号) 一.基本查询: 1. SELECT * ----- 2 FROM 数据 ...

  4. continue #结束本次循环,继续下一次代码

    for i in range(10):     if i <5:         continue     print(i)     for j in range(10):         pr ...

  5. 深度学习环境搭建(ubuntu16.04+Titan Xp安装显卡驱动+Cuda9.0+cudnn+其他软件)

    一.硬件环境 ubuntu 16.04LTS + windows10 双系统 NVIDIA TiTan XP 显卡(12G) 二.软件环境 搜狗输入法 下载地址 显卡驱动:LINUX X64 (AMD ...

  6. 销售及SAP销售业务方案思维导图

    销售: SAP销售方案:

  7. DAY 21内存处理与正则

    一.python的垃圾回收机制 1.引用计数(垃圾回收机制的根本) 1.引用计数是用来记录值的内存地址被记录的次数的 2.每一次对值地址的引用都可以使该值的引用计数+1 3.每一次对值地址的释放都可以 ...

  8. C++实现的一些功能代码

    将当前时间输出到txt中: 调用c++中的fstream流文件,用tm结构获取日期和时间,其在time.h中定义 用ofstream的时候,ofstream out(txtpath,ios::app) ...

  9. Activity与Fragment数据传递之Fragment从Activity获取数据

    整理Fragment与Activity之间的数据交换,大体上包括三种: 1.Fragment从Activity获取数据 2.Activity从Fragment获取数据 3.Fragment之间获取数据 ...

  10. pip安装库时报错,使用国内镜像加速

    pip install requests或pip --trusted-host pypi.python.org install requests报错: 原因:网上解释为网速太慢,或被防火墙 解决方法: ...