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. HTML页面间传值

    页面一: window.location="./showUserMsg.html?IDno="+IDno+"&&thedate="+thedat ...

  2. 【VBA】学习中出现的错误

    1.自定义函数 自定义函数尽量不要使用,容易导致excel卡,让你怀疑人生!!!

  3. EPOLL内核原理极简图文解读(转)

    预备知识:内核poll钩子原理内核函数poll_wait把当前进程加入到驱动里自定义的等待队列上 当驱动事件就绪后,就可以在驱动里自定义的等待队列上唤醒调用poll的进程 故poll_wait作用:可 ...

  4. Jmeter如何使用数据库返回值实践

    Jmeter如何使用数据库返回值实践 最近使用Jmeter针对产品做性能测试,测试内容是要模拟300并发用户审批休假申请时的性能.由于每个申请人的主管不同,且会根据不同的休假类型,会有一级审批或者二级 ...

  5. 2019.11.29 SAP SMTP郵件服務器配置 發送端 QQ郵箱

    今天群裏的小夥伴問了如何配置郵件的問題,隨自己在sap裏面配置了一個 1.    RZ10配置參數 a)       参数配置前,先导入激活版本 执行完毕后返回 b)      输入参数文件DEFAU ...

  6. pyQt点击事件和数据传输

    首先是PushButton点击事件,点击按钮之后发送textEdit框里输入的文字到后台. def retranslateUi(self, MainWindow): _translate = QtCo ...

  7. python中的set集合

    当使用爬虫URL保存时,一般会选择set来保存urls,set是集合,集合中的元素不能重复,其次还有交集,并集等集合的功能, 爬虫每次获取的网页中提取网页中的urls,并保存,这就需要利用urls = ...

  8. python数据存储--JSON

    HTML正文存储为两种格式:JSON和CSV. 存储为JSON: 首先利用Requests访问http://seputu.com获取HTML文档: #!coding:utf-8 import requ ...

  9. Qt qss问题总结

    1.在QWidget中设定了setObjectName,就是不起作用. 解决方法重写paintEvent. #ifndef BROWSEWIDGET_H #define BROWSEWIDGET_H ...

  10. 【Python开发】使用python中的matplotlib进行绘图分析数据

    matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 它的文档相当完备, ...