菜单

Apache+modproxy布置tomcat集群

2019年11月4日 - 电脑百科
Apache+modproxy布置tomcat集群

本文情况:OS:CentOS
5.3 x86_64
Apache 一台(Apache/2.2.3,本文是rpm 安装的)ip 为:192.168.10.251
Tomcat 两台(apache-tomcat-6.0.20.tar.gz)
Tomcat-1 IP 为:192.168.10.252
Tomcat-2 IP 为:192.168.10.253

一、环境:

Apache: 2.2.14;

  下载地址:

Tomcat: 7.0.82

JDK1.7

Win7 64位系统

  1. 首先分别设置Apache,jdk,tomcat 何况能够健康运营(略卡塔尔国

  2. 配置Apache

二、Apache设置:

1、修改httpd.conf文件:

LoadModule proxy_module modules/mod_proxy.so

LoadModule negotiation_module modules/mod_negotiation.so

LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

LoadModule proxy_connect_module modules/mod_proxy_connect.so

LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

LoadModule proxy_http_module modules/mod_proxy_http.so

 

此段代码前边的注释松手。

只顾:必要确定保证这一个so文件在modules文件夹下存在,若无则要求到网络下载后并内置modules目录下;

 

2、将上边这段代码放手注释:

# Virtual hosts

Include conf/extra/httpd-vhosts.conf

 

3、文件末尾插手代码:

ProxyRequests On

   <proxy balancer://cluster>  

       BalancerMember ajp://127.0.0.1:9009 loadfactor=1 route=tomcat1 

       BalancerMember ajp://127.0.0.1:8109 loadfactor=1 route=tomcat2 

   </proxy>

 

4、在conf/extra/httpd-vhosts.conf中增加代码:

<VirtualHost *:80>   // 对应httpd.conf  服务器端口号

    ServerAdmin test@163.com

    ServerName 127.0.0.1 

    ServerAlias localhost  

    ProxyPass / balancer://cluster/ stickysession=jsessionid
nofailover=On

    ProxyPassReverse / balancer://cluster/

    ErrorLog “logs/proxyTest-error.log”

    CustomLog “logs/lbtest-access.log” common

</VirtualHost>

 

ServerAdmin参数对应httpd.conf文件中的ServerAdmin参数内容;

 

5、运营apache,若是开发银行不了能够利用命令行运转httpd.exe文件,通过翻看报错音信来缓慢解决;

 

[root@linuxidc ]# cd /etc/httpd/conf
[root@linuxidc ]# vi httpd.conf
(1卡塔尔 运营代理模块(去掉如下模块后边的笺注卡塔 尔(英语:State of Qatar)
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

三、Tomcat设置:

1、
假使七个tomcat实例是运作在风流洒脱台机器上,要求改善对应的端口,要是是在两台机械上,则足以不用改正端口;供给修正的端口号如下:

图片 1

图片 2

图片 3

2、增加jvmRoute参数:

 图片 4

3、放开Cluster参数:

 图片 5

4、分别运营tomcat1和tomcat2;

(2卡塔 尔(阿拉伯语:قطر‎ 在文件的最后面参预如下代理负载均衡信息
ProxyRequests Off
<proxy balancer://cluster>
BalancerMember ajp://192.168.10.252:8009/b loadfactor=1 route=jvm1
BalancerMember ajp://192.168.10.253:8009/a loadfactor=1 route=jvm2
</proxy>
分解:此中192.168.10.252:8009/b 和192.168.10.253:8009/a
分别为几个tomcat
的连串,jvm1 和jvm2 是标记,要和下文的tomcat 配置文件保持生机勃勃致,当中端
8009 为ajp 协议的Apache 和tomact 的通信端口

四、测试:

(3卡塔 尔(英语:State of Qatar) 配置虚构主机
<VirtualHost *:80>
ServerAdmin www.linuxidc.com
ProxyPass / balancer://cluster/ stickysession=jsessionid
nofailover=On
ProxyPassReverse / balancer://cluster/
</VirtualHost>

新建一个测验的web工程,在web.xml文件中追加生机勃勃行:

    <distributable/>

  1. 重启Apache 服务
    [root@linuxidc ]# /etc/init.d/httpd restart

  2. Tomcat 的配置
    (1) 分别把开始的一段时期盘算好的多少个war
    包丢到/usr/local/tomcat/webapps/目录中,那样当
    tomcat 运营的时候就能够自动解包,war 包的名称分别为b.war 和a.war 分别归于
    192.168.10.252 和192.168.10.253
    即访谈格局为: 和

    和aaaaaaaaaaa(此处是为了区
    分)
    (2) 配置主配置文件
    [root@linuxidc-2 conf]# cd /usr/local/tomcat/conf/
    [root@linuxidc-2 conf]# vi server.xml
    找到如下风流罗曼蒂克行
    <Engine name=”Standalone” defaultHost=”localhost”
    jvmRoute=”jvm1″>
    小心这里的 jvm1 必定会将在和Apache 的代办配置肖似即192.168.10.253
    此处应该改为
    jvm2
    (3) 重新起动tomcat

  3. 到现在就足以作证结果了, 在测试机的host 文件里内定www.linuxidc.com
    对应该为
    192.168.10.251,然后在浏览器里拜望:http:// www.linuxidc.com
    会发现再次来到的是八个tomcat
    的类型页面而且是轮询,为了更加直观的查看能够用如下命令
    [root@linuxidc-2 conf]# curl www.linuxidc.com
    <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>
    <html>
    <head>
    <base href=”;
    <title>My JSP ‘index.jsp’ starting page</title>
    <meta http-equiv=”pragma” content=”no-cache”>
    <meta http-equiv=”cache-control” content=”no-cache”>
    <meta http-equiv=”expires” content=”0″>
    <meta http-equiv=”keywords”
    content=”keyword1,keyword2,keyword3″>
    <meta http-equiv=”description” content=”This is my page”>
    <!–
    <link rel=”stylesheet” type=”text/css” href=”styles.css”>
    –>
    </head>
    <body>
    <h1>aaaaaaaaaaaaa</h1>
    </body>
    </html>
    [root@linuxidc-2 conf]#curl
    <!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>
    <html>
    <head>
    <base href=”;
    <title>My JSP ‘index.jsp’ starting page</title>
    <meta http-equiv=”pragma” content=”no-cache”>
    <meta http-equiv=”cache-control” content=”no-cache”>
    <meta http-equiv=”expires” content=”0″>
    <meta http-equiv=”keywords”
    content=”keyword1,keyword2,keyword3″>
    <meta http-equiv=”description” content=”This is my page”>
    <!–
    <link rel=”stylesheet” type=”text/css” href=”styles.css”>
    –>
    </head>
    <body>
    <h1>bbbbbbbbbbbbb</h1>
    </body>
    </html>

构建测验页面文件index.jsp:

<%@ page contentType=”text/html; charset=gbk”%> 

<%@ page import=”java.util.*”%> 

<html> 

<head> 

<title>Cluster App Test</title> 

</head> 

<body> 

    Server Info: 

    <% 

    out.println(request.getLocalAddr() + ” : ” + request.getLocalPort() 

            + “<br>”); 

    %> 

    <% 

        out.println(“<br> ID ” + session.getId() + “<br>”); 

        // 假使有新的 Session 属性设置 

        String dataName = request.getParameter(“dataName”); 

        if (dataName != null && dataName.length() > 0) { 

            String dataValue = request.getParameter(“dataValue”); 

            session.setAttribute(dataName, dataValue); 

        } 

        out.println(“<b>Session 列表</b><br>”); 

        System.out.println(“============================”); 

        Enumeration e = session.getAttributeNames(); 

        while (e.hasMoreElements()) { 

            String name = (String) e.nextElement(); 

            String value = session.getAttribute(name).toString(); 

            out.println(name + ” = ” + value + “<br>”); 

            System.out.println(name + ” = ” + value); 

        } 

    %>

</body>

</html> 

 

起始Apache,在浏览器中开拓:

图片 6

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图