Nginx作为互联网最常用的web服务器,高性能的HTTP和反向代理使它经常作为Tomcat集群的方案。Nginx官方只支持使用HTTP协议的集成,但是如果你想使用AJP协议集成,可以使用阿里开源的nginx_ajp_module。接下来我们使用HTTP的方式集成:

1.准备Nginx、Tomcat1、Tomcat2

Nginx下载并启动:http://nginx.org/en/download.html

nginx默认端口80,我这里为了方便也就不修改了,直接启动

server {
listen ;
server_name localhost; location / {
root html;
index index.html index.htm;
} error_page /50x.html;
location = /50x.html {
root html;
} }

Tomcat下载并启动:https://tomcat.apache.org/download-80.cgi#8.5.43

tomcat由于是同一台机器,我这里修改了端口号,配置分别是:

<Server port="" shutdown="SHUTDOWN">
<Connector port="" protocol="HTTP/1.1" connectionTimeout="" redirectPort="" />
<Connector port="" protocol="AJP/1.3" redirectPort="" />
<Server port="" shutdown="SHUTDOWN">

<Connector port="" protocol="HTTP/1.1" connectionTimeout="" redirectPort="" />
<Connector port="" protocol="AJP/1.3" redirectPort="" />

修改好配置,把示列工程sample1放在tomcat1,sample2放在tomcat2里面,启动两个tomcat:

访问http://localhost:8081/sample1/

访问http://localhost:8082/sample2/

2.配置Nginx,将Nginx与Tomcat1、Tomcat2集成

Nginx集成可以使用HTTP方式,也可以使用AJP方式,这里使用的HTTP方式。

2.1修改nginx的目录下conf下nginx.conf配置

在http{}下面配置

    #配置服务器1
upstream sample1{
server localhost:;
}
#配置服务器2
upstream sample2{
server localhost:;
}

在server{}下配置

        #映射服务器1
location /sample1/ {
proxy_pass http://sample1;
}
#映射服务器2
location /sample2/ {
proxy_pass http://sample2;
}

重启nginx,再一次访问

http://localhost/sample1/

http://localhost/sample2/

3.负载均衡配置

在http{}下面配置

#负载均衡配置服务器群组
upstream sample1{
#实例1
server localhost: weight= max_fails= fail_timeout=30s;
#实例2
server localhost: weight= max_fails= fail_timeout=30s;
}

在server{}下配置

#映射服务器集群
location /sample1/{
proxy_pass http://sample1;
}

因为这里我们配置的两个项目是不同名称的,所以负载均和1:1时候,会有一个是无法访问。

在tomcat2里面把tomcat1里面的sample1复制过来,显示改为hello,tomcat2!

访问http://localhost/sample1/,不断刷新

Nginx(web服务器)与Tomcat(应用服务器)搭建集群的更多相关文章

  1. Nginx学习笔记(反向代理&搭建集群)

    一.前言 1.1 大型互联网架构演变历程 1.1.1 淘宝技术 淘宝的核心技术(国内乃至国际的 Top,这还是2011年的数据) 拥有全国最大的分布式 Hadoop 集群(云梯,2000左右节点,24 ...

  2. 使用Nginx在windows和linux上搭建集群

    Nginx Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器 特点:反向代理 负载均衡 动静分离… 反向代理(Reverse Pro ...

  3. Nginx 在 Linux 下安装与搭建集群

    搭建集群图例 集群搭建图如下,为了简单一点,使用一个Nginx服务器+两个Tomcat服务器,省略数据库部分: 环境说明 Linux 为 CentOS 7.2 发行版 + Java jdk 1.8 + ...

  4. nginx+apache+mysql+php+memcache+squid搭建集群web环境

    服务器的大用户量的承载方案 一.前言 二.编译安装 三. 安装MySQL.memcache 四. 安装Apache.PHP.eAccelerator.php-memcache 五. 安装Squid 六 ...

  5. apache和tomcat搭建集群

    最近在学习简单的apache服务器和两个tomcat一起搭建集群,这里简单记录一下 1.准备工作 ①搭建一个可以运行的web项目 用maven搭建springmvc项目 ,只要将这里面的web.xml ...

  6. [link] 构建负载均衡服务器之一 负载均衡与集群详解

    一.什么是负载均衡 首先我们先介绍一下什么是负载均衡: 负载平衡(Load balancing)是一种计算机网络技术,用来在多个计算机(计算机集群).网络连接.CPU.磁盘驱动器或其他资源中分配负载, ...

  7. Nginx+Tomcat搭建集群,Spring Session+Redis实现Session共享

    小伙伴们好久不见!最近略忙,博客写的有点少,嗯,要加把劲.OK,今天给大家带来一个JavaWeb中常用的架构搭建,即Nginx+Tomcat搭建服务集群,然后通过Spring Session+Redi ...

  8. Windows7系统中nginx与IIS服务器搭建集群实现负载均衡

    10分钟搭建服务器集群——Windows7系统中nginx与IIS服务器搭建集群实现负载均衡   分布式,集群,云计算机.大数据.负载均衡.高并发······当耳边响起这些词时,做为一个菜鸟程序猿无疑 ...

  9. 架构之路:nginx与IIS服务器搭建集群实现负载均衡(二)

    [前言] 在<架构之路:nginx与IIS服务器搭建集群实现负载均衡(一)>中小编简单的讲解了Nginx的原理!俗话说:光说不练假把式.接下来,小编就和大家一起来做个小Demo来体会一下N ...

  10. 架构之路:nginx与IIS服务器搭建集群实现负载均衡(三)

    参考网址:https://blog.csdn.net/zhanghan18333611647/article/details/50811980 [前言] 在<架构之路:nginx与IIS服务器搭 ...

随机推荐

  1. Spring学习之==>IoC

    一.概述 Spring的三大核心思想:IoC(控制反转),DI(依赖注入),AOP(面向切面编程).本问讲着重介绍一下控制反转. 何谓控制反转:Spring 通过一种称作控制反转(IoC)的技术促进了 ...

  2. Python实现将不规范的英文名字首字母大写

    Python实现将不规范的英文名字首字母大写 这篇文章给大家主要介绍的是利用map()函数,把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字.文中给出了三种解决方法,大家可以根据需要选 ...

  3. NLP之中文自然语言处理工具库:SnowNLP(情感分析/分词/自动摘要)

    一 安装与介绍 1.1 概述 SnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个 ...

  4. Winform之跨线程更新UI

    Winform之跨线程更新UI 使用`Invoke`或者`BeginInvoke`与UI线程交互示例 参考及源码 使用Invoke或者BeginInvoke与UI线程交互示例 private void ...

  5. JAVA文件上传 ServletFileUpLoad 实例

    1.  jsp <%@ page language="java" contentType="text/html" pageEncoding="u ...

  6. Windows 下关于转码的函数

    std::string& MsgFieldList::GBToUTF8(std::string& des,const char* str) { WCHAR *strSrc; TCHAR ...

  7. Android开发 发布相关知识

    1 三种BuildSystem简介 注意:ADT不要用了,在2017版本已经没有了.而且这就是一个巨坑,以前打包cocos的时候,学习的时候用这个,ADT是eclipse中的一个集成的东东,已经绝版, ...

  8. KVM虚拟化储存管理(3)

    一.KVM 存储虚拟化介绍 KVM 的存储虚拟化是通过存储池(Storage Pool)和卷(Volume)来管理的. Storage Pool 是宿主机上可以看到的一片存储空间,可以是多种型: Vo ...

  9. mysql——创建表、修改表、删除表(概念详细讲解)

    一.创建一个数据表 create table 表名 ( 列名1 数据类型1 [完整性约束条件], 列名2 数据类型2 [完整性约束条件], 列名3 数据类型3 [完整性约束条件], 列名4 数据类型4 ...

  10. Linux 概念与快捷方式

    概念 何为shell Shell 是指"提供给使用者使用界面"的软件(命令解析器),类似于 DOS 下的 command(命令行)和后来的 cmd.exe .普通意义上的 Shel ...