web服务器:Apache、Nginx、IIS等

应用服务器:Tomcat、JBoss、Weblogic等

现在web服务器和应用服务器其实界限已经不是太清晰了,大部分的应用服务器也包含一些web服务器的功能,使用什么服务器大部分取决与架构场景和技术解决方案。

在服务器集群中,主要场景是一下几种:

  1,静态资源优化

  2,多环境应用整合

  3,负载均衡

  4,其他复合场景

接下来准备将Apache(web服务器)与两个Tomcat(应用服务器)集成在一起。

1.环境准备

1.1 Apache安装

windows下面安装Apache简单很多,直接类似软件点击下一步安装一下,配置一下端口号(默认80)。启动就好了。

访问localhost:80/index.html

1.2 Tomcat1与Tomcat2准备

在tomcat官网下载两个免安装的zip包直接解压出来tomcat1和tomcat2;

在tomcat1的目录下打开tomcat1/conf/server.xml,修改HTTP/1.1端口号为:8081

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

在tomcat1的目录下打开tomcat1/conf/server.xml,修改HTTP/1.1端口为:8082,AJP端口为:8010,redirectPort:8444,Server port:8006,避免与tomcat1端口冲突,因为我这里使用的一台机器搭建的集成环境。

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

在tomcat/bin目录下点击startup.bat,启动两个tomcat,这里有一个控制台乱码问题,修改一下tomcat/conf/logging.properties,把编码改为GBK

在idea控制台里面有时也会出现类似问题,修改字符集就可以解决。

1.3 在tomcat1和tomcat2的webapps清空,并放入自己测试的资源sample1和sample2的index.html

hello,tomcat1!
hello,tomcat2!

重启tomcat1和tomcat2访问

localhost:8081/sample1/index.html

localhost:8082/sample2/index.html

2.集群配置

2.1修改httpd.conf,加载模块

这里为什么加载mod_jk模块,Apache与tomcat集成是可以通过AJP协议也可以通过HTTP协议,可以使用mod_jk(AJP)和mod_proxy+mod_proxy_ajp(AJP)集成也可以使用mod_proxy+mod_proxy_http(HTTP),这里使用是mod_proxy+mod_proxy_http。

在Apache目录下的modules找一下,没有mod_jk.so,他是tomcat提供的,可以按照自己的机器和Apache版本找一个放在modules下面。

mod_jk.so下载地址http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/

我这里为了方便,直接使用mod_proxy.so+mod_proxy_http.so

接下来修改httpd.conf,加载mod_proxy.so、mod_proxy_http.so模块去掉#

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_module modules/mod_proxy_http.so

在httpd.conf的最后一行,重新开一行,没有任何结束符号的空白地方增加

ProxyPass "/sample1" "http://localhost:8081/sample1"
ProxyPassReverse "/sample1" "http://localhost:8081/sample1"
ProxyPass "/sample2" "http://localhost:8082/sample2"
ProxyPassReverse "/sample2" "http://localhost:8082/sample2"

访问localhost:80/sample1

访问localhost:80/sample2

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

  1. apache和tomcat搭建集群

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

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

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

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

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

  4. Linux平台上搭建apache+tomcat负载均衡集群

    传统的Java Web项目是通过tomcat来运行和发布的.但在实际的企业应用环境中,采用单一的tomcat来维持项目的运行是不现实的.tomcat 处理能力低,效率低,承受并发小(1000左右).当 ...

  5. 用apache和tomcat搭建集群,实现负载均衡

    型的企业应用每天都需要承受巨大的访问量,在着巨大访问量的背后有数台服务器支撑着,如果一台服务器崩溃了,那么其他服务器可以使企业应用继续运行,用户对服务器的运作是透明化的,如何实现这种透明化呢?由如下问 ...

  6. Apache + Tomcat + mod_jk实现集群服务

    Tomcat中的集群原理是通过组播的方式进行节点的查找并使用TCP连接进行会话的复制. 实现效果:用apache 分发请求到tomcat中的对应的项目 环境说明: 操作系统:window xp Jav ...

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

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

  8. 2.Apache + Tomcat + mod_jk实现集群服务

    转自:http://www.cnblogs.com/dennisit/p/3370220.html Tomcat中的集群原理是通过组播的方式进行节点的查找并使用TCP连接进行会话的复制. 实现效果:用 ...

  9. Apache + Tomcat + mod_jk实现集群服务及session共享

    实现效果:用apache 分发请求到tomcat中的对应的项目 原理:

  10. Apache + Tomcat +mod_jk 实现集群

    实现效果:用apache 分发请求到tomcat中的对应的项目 环境说明: 操作系统:window7 Javasdk: 1.7 Apache: 2.2.14    (本地安装路径:D:\Apache2 ...

随机推荐

  1. LC 959. Regions Cut By Slashes

    In a N x N grid composed of 1 x 1 squares, each 1 x 1 square consists of a /, \, or blank space.  Th ...

  2. druid连接池各属性说明

    转: druid连接池各属性说明 2018年10月17日 04:56:57 ht_kasi 阅读数:374   版权声明: https://blog.csdn.net/ht_kasi/article/ ...

  3. 【转】java导出多个excel表格,并压缩成zip输出

    转自:http://blog.csdn.net/qq_14861089/article/details/53169414    感谢作者分享 /** * 导出支付宝批量支付文件excel * * @p ...

  4. FAQ_1

    FAQ LoadRunner录制脚本时为什么不弹出IE浏览器? 当一台主机上安装多个浏览器时,LoadRunner录制脚本经常遇到不能打开浏览器的情况,可以用下面的方法来解决. 启动浏览器,打开Int ...

  5. (3)TinyXml2的详解及使用

        TinyXml2是开源的c++xml文件解析库,简单实用,非常适合存储简单数据,配置文件,对象序列化等数据量不是很大的操作.   (1)DOM DOM(Document Object Mode ...

  6. ROC曲线详解

    转自https://blog.csdn.net/qq_26591517/article/details/80092679 1 ROC曲线的概念 受试者工作特征曲线 (receiver operatin ...

  7. httplib/urllib实现

    httplib模块是一个底层基础模块,可以看到建立HTTP请求的每一步,但是实际的功能比较少.在python爬虫开发中基本用不到 下面详细介绍httplib提供的常用类型和方法: httplib.HT ...

  8. C#编程 线程,任务和同步(1) 基础认识

    线程 对于所有需要等待的操作,例如移动文件,数据库和网络访问都需要一定的时间,此时就可以启动一个新的线程,同时完成其他任务.一个进程的多个线程可以同时运行在不同的CPU上或多核CPU的不同内核上. 线 ...

  9. Django学习笔记(一)Django基础

    新建项目 django-admin startproject my_site #会在当前目录新建my_site目录,可自行修改目录名 django-admin startproject my_site ...

  10. Metinfo5.1 /include/common.php 变量覆盖+SQL注入漏洞