第一部分——下载

1.1: 百度搜索apache httpd关键字,第一个链接既是官方下载地址。如果这一步不会,此篇文章不适合你阅读,请自行停止。

1.2:进入官网http://httpd.apache.org/,点击左边菜单download链接进入下载页,选择稳定版最新版httpd2.4.26

 1.3 点击windows下载链接

 1.4 点击ApacheHaus链接

1.5 根据自己电脑位数选择下载包,我选择的是windows 64位的下载包

1.6 下载完成后名字为httpd-2.4.26-x64-vc14.zip,解压后,

进入httpd-2.4.26-x64-vc14\Apache24\bin目录,看到了启动集群程序的httpd.exe,

和httpd-2.4.26-x64-vc14\Apache24\conf目录下,看到了集群配置文件httpd.conf

至此,下载完成。

第二部分——启动

 2.1 编辑C:\Windows\System32\drivers\etc\hosts文件,用文本编辑器打开hosts,添加新的两行IP映射:

127.0.0.1   www.joyce.com
localhost    www.joyce.com

 2.2 httpd-2.4.26-x64-vc14\Apache24\conf\httpd.conf 修改如下:

修改SRVROOT变量为实际路径:

修改集群监听IP及端口: ServerName  www.joyce.com:80

修改log日志文件名: ErrorLog  "logs/httpd-error.log"  (非常重要!启动中除了80端口被占用错误不能被记录其中,其它所有错误都记录其中!尤其是httpd.exe启动窗口一闪而过问题。起一个与众不同的名字,方便在不知道log日志具体位置的时候,全局查找。 如果发现80端口被占用,请参考文章: http://www.cnblogs.com/gsls200808/p/4506301.html  )

2.3 选择集群策略。放开以下XXX.so注释,方便添加集群tomcat

 ##############################################################################
# 以下3种负载均衡策略,只开放一种即可
##############################################################################
#按照繁忙程度,总是给活跃请求数最少的服务器
LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so
#按照请求次数
LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
#按照流量均衡
LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so
 ##############################################################################
# 以下是代理相关及ajp协议相关的功能模块,使session共享
##############################################################################
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so

2.4 双击D:\jiqun\Apache24\bin\httpd.exe,打开一个窗口并且不关闭,则集群服务器启动成功。

鼠标会一直闪啊闪,并且黑色窗口不关闭。

2.5 验证启动成功,在浏览器地址栏输入www.joyce.com展示如下:

第三部分  tomcat集群例子

3.1 准备两个集群tomcat。我这里用的是apache-tomcat2-8.0.44,由于是集群本机运行,需要不同的tomcat分别设置不同端口,确保其正常运行:

准备两个tomcat进行集群测试。

3.2 修改集群tomcat端口及jvmRoute

第一个集群tomcat: 修改apache-tomcat1-8.0.44\conf\server.xml端口以及配置:

修改Server port为8001:                      <Server port="8001" shutdown="SHUTDOWN">

修改HTTP端口为8002:                        <Connector port="8002" protocol="HTTP/1.1"

修改AJP集群用到的端口为50001:       <Connector port="50001" protocol="AJP/1.3" redirectPort="8443" />

增加集群用到的jvmRoute="tomcat1":                    <Engine name="Catalina" defaultHost="localhost"  jvmRoute="tomcat1">

第二个集群tomcat: 修改apache-tomcat2-8.0.44\conf\server.xml端口以及配置:

修改Server port为8003:                      <Server port="8003" shutdown="SHUTDOWN">

修改HTTP端口为8004:                        <Connector port="8004" protocol="HTTP/1.1"

修改AJP集群用到的端口为50002:       <Connector port="50002" protocol="AJP/1.3" redirectPort="8443" />

增加集群用到的jvmRoute="tomcat2":                    <Engine name="Catalina" defaultHost="localhost"  jvmRoute="tomcat2">

3.3 修改集群配置文件httpd.conf。修改D:\jiqun\Apache24\conf\httpd.conf,在最末尾处添加:

 ProxyPass /distributed balancer://cluster01/ stickysession=JSESSIONID
ProxyPassReverse / balancer://cluster01/
<proxy balancer://cluster01>
BalancerMember ajp://www.joyce.com:50001/distributed loadfactor=1 route=tomcat1
BalancerMember ajp://www.joyce.com:50002/distributed loadfactor=1 route=tomcat2
</proxy>

3.4 集群tomcat session共享

当我们需要多个tomcat集群,并且tomcat之间共享session时,需要做如下配置:

1,在tomcat配置文件server.xml中以下这行代码放开注释:

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

2,要在要将web.xml文件<web-app>元素的最后加上: <distributable/>   两个地方的web.xml,一个是应用程序的WEB-INF\web.xml,另一个是tomcat/conf/web.xml(不知道有没有用,反正我加上了)

3.5 添加分布式应用程序。在两个tomcat下模拟增加application应用程序:

在apache-tomcat1-8.0.44\webapps和apache-tomcat2-8.0.44\webapps两个目录下新建myapp文件夹,代替我们的发布应用,两个myapp文件夹下新建index.jsp内容为:

<html>
<head>
<title>helloapp</title>
</head>
<body>
<h2>tomcat2</h2> <br/> <br/>
<% System.out.println("call index.jsp"); %>
SessionID: <%=session.getId() %>
</body>
</html>

各自取名tomcat1和tomcat2

3.6 验证集群以及session共享

tomcat2的session是 *AA39F

tomcat1的session是 *AA39F ,说明两个tomcat  session共享成功,虽然sessionid 的 .tomcat1后缀表明该session来自服务器tomcat1,但你提交的写入session中的属性值仍然可以读出。

验证成功!集群部署成功!session共享成功!

集群项目管理文档截图:

windows下apache httpd2.4.26集群完整搭建例子:下载、启动、tomcat集群例子的更多相关文章

  1. Windows下apache+tomcat负载均衡

    Windows下apache+tomcat负载均衡 网上已经有很多的资料,但是很多都比较零碎,需要整合一起才能搭建出理想的负载均衡,正好前段时间搭建了windows与linux下的负载均衡,在此记录, ...

  2. windows下apache+https环境配置

    windows下apache+https环境配置 转 https://www.cnblogs.com/sandaizi/p/7519370.html 1.修改配置文件conf/httpd.conf,去 ...

  3. Windows下Apache+mod_python+Django配置

    Windows下Apache+mod_python+Django配置 Apache 首先要安装Apache,我安装的版本是2.2.*: Python python肯定是要安装的,我安装的版本是2.5的 ...

  4. windows下 apache 二级域名相关配置

    小编今天给大家总结下 windows 下 apache的二级域名的相关配置 利用.htaccess将域名绑定到子目录 下面就利用本地127.0.0.1进行测试 我们这里以 www.jobs.com 为 ...

  5. Apache Windows下Apache安装步骤

    1.apache官网下载Apache HTTP Server服务器 我相信有些朋友刚用apache服务器时,都希望从官网上下载,而面对着官网上众多的项目和镜像以及目录,也许有点茫然.下面是具体步骤: ...

  6. Windows下Apache应用环境塔建安全设置(目录权限设置)

    目的:为Apache,php配置受限制的用户权限.保护系统安全.需要的朋友可以参考下. 环境配置情况: apache安装目录:d:\www-s\apache php目录:d:\www-s\php5 m ...

  7. windows下apache + mod_wsgi + python部署flask接口服务

    windows下apache + mod_wsgi + python部署flask接口服务 用python3安装虚拟环境 为啥要装虚拟环境? 原因1:安装虚拟环境是为了使项目的环境和全局环境隔离开,在 ...

  8. windows下 apache 二级域名相关配置 【转】

    转至: http://www.th7.cn/Program/php/201306/141305.shtml 今天给大家总结下 windows 下 apache的二级域名的相关配置 下面就利用本地127 ...

  9. hadoop集群环境搭建之安装配置hadoop集群

    在安装hadoop集群之前,需要先进行zookeeper的安装,请参照hadoop集群环境搭建之zookeeper集群的安装部署 1 将hadoop安装包解压到 /itcast/  (如果没有这个目录 ...

随机推荐

  1. 『TensorFlow』读书笔记_降噪自编码器

    『TensorFlow』降噪自编码器设计  之前学习过的代码,又敲了一遍,新的收获也还是有的,因为这次注释写的比较详尽,所以再次记录一下,具体的相关知识查阅之前写的文章即可(见上面链接). # Aut ...

  2. mongoengine 分页 切片与 skip + limit 的区别

    首先要了解切片与 skip 的原理 切片原理是将 index(索引) 或 cursor(游标)移动到 start 位置再 进行切分: skip原理是跳过start条数据后再获取 1. 单纯的普通分页用 ...

  3. 在git服务器上创建项目过程及遇到的问题

    一: 登录git服务器,输入用户名,密码等 二: New Project 添加项目 设置组可见,项目名称等. 创建成功的项目可以看到该项目的clone地址,可以通过http,ssh两种方式来获取: 三 ...

  4. 实践:搭建基于Load Balancer的MySql Cluster

    服务器规划: 整套系统全部在rhel5u1 server 64位版本下,由基于xen的虚拟机搭建,其中集群管理节点*2.SQL节点*2.数据节点*4.Web服务节点*2组成,其中数据节点做成2个组,每 ...

  5. windows10下安装mysql-8.0.15-winx64以及连接服务器过程中遇到的一些问题

    一.下载安装配置mysql-8.0.15 1.官网(https://dev.mysql.com/downloads/mysql/)下载zip包 2.解包到我的D:\mysql目录下 3.为mysql配 ...

  6. Forth嵌套定义的执行过程图示

    body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...

  7. css实现半圆和圆

    1.半圆 半圆分为:上半圆.下半圆.左半圆.右半圆,我们只要学会制作某一个方向的半圆,其他方向的半圆都可以轻松实现,其原理都一样. 假如我们要制作上半圆,实现原理:把高度height设置为宽度widt ...

  8. nodejs - 1)上传图片 ,并显示 , 2)模块 formidable

    1.代码: 1-1: 入口文件: index.js var server = require('./server'); var router = require("./router" ...

  9. .net ORM框架(Dapper简单应用)

    1.引入 Dapper.dll类库 2.创建书籍模型book using System; using System.Collections.Generic; using System.Linq; us ...

  10. Quartz在Spring中动态设置cronExpression

    什么是动态定时任务:是由客户制定生成的,服务端只知道该去执行什么任务,但任务的定时是不确定的(是由客户制定). 这样总不能修改配置文件每定制个定时任务就增加一个trigger吧,即便允许客户修改配置文 ...