• windows下apache httpd2.4.26集群完整搭建例子:下载、启动、tomcat集群例子


    第一部分——下载

    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-vc14Apache24in目录,看到了启动集群程序的httpd.exe,

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

    至此,下载完成。

    第二部分——启动

     2.1 编辑C:WindowsSystem32driversetchosts文件,用文本编辑器打开hosts,添加新的两行IP映射:

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

     2.2 httpd-2.4.26-x64-vc14Apache24confhttpd.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

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

    2.4 双击D:jiqunApache24inhttpd.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.44confserver.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.44confserver.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:jiqunApache24confhttpd.conf,在最末尾处添加:

    1 ProxyPass /distributed balancer://cluster01/ stickysession=JSESSIONID
    2 ProxyPassReverse / balancer://cluster01/
    3 <proxy balancer://cluster01>
    4     BalancerMember ajp://www.joyce.com:50001/distributed loadfactor=1 route=tomcat1
    5     BalancerMember ajp://www.joyce.com:50002/distributed loadfactor=1 route=tomcat2
    6 </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-INFweb.xml,另一个是tomcat/conf/web.xml(不知道有没有用,反正我加上了)

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

    在apache-tomcat1-8.0.44webapps和apache-tomcat2-8.0.44webapps两个目录下新建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共享成功!

    集群项目管理文档截图:

  • 相关阅读:
    最近在搞微信支付,说说流程,免得遗忘
    好记性不如烂笔头-Mysql查找如何判断字段是否包含某个字符串
    用jquery操作字体颜色覆盖当前页面的css设置
    页面白屏并且报错PHP Parse error: syntax error, unexpected end of file in 试了很久总算解决了
    bootstrap的datetimepicker.js的结束时间大于开始时间,当前日期之前的代码
    使用ClassLoader类装载器获取系统资源
    关于App class loader的总结
    ClassLoader 详解及用途(写的不错)
    webRequest
    Tomcat学习之ClassLoader
  • 原文地址:https://www.cnblogs.com/zhuwenjoyce/p/7125277.html
Copyright © 2020-2023  润新知