linux搭建apache和tomcat集群

1. 准备材料:

1.1 一台安装了CentOS6.4的PC

1.2 Apache源码包httpd-2.4.6.tar.gz 

(下载地址:http://apache.fayea.com/apache-mirror/httpd/

1.3  jdk-6u45-linux-i586.bin

1.4  apache-tomcat-7.0.42.tar.gz

1.5  apr-1.4.8.tar.gz

1.6  apr-util-1.5.2.tar.gz

1.7  pcre-8.33.tar.gz

1.8  tomcat-connectors-1.2.37-src.tar.gz

2.  安装步骤:

2.1 检查CentOS的环境

2.1.1 root用户登录

2.1.2 java –version 查看是否系统默认安装了java环境

2.1.3 CentOS默认java环境安装的是1.5.0,如果发现为这个版本则需要需要卸载

        先查看 rpm -qa | grepjava

显示如下信息:

java-1.4.2-gcj-compat-1.4.2.0-40jpp.115

java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5

卸载:

rpm -e -nodepsjava-1.4.2-gcj-compat-1.4.2.0-40jpp.115

rpm -e -nodeps java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5

还有一些其他的命令

rpm -qa | grepgcj

rpm -qa | grepjdk

如果出现找不到openjdksource的话,那么还可以这样卸载

yum -y remove java java-1.4.2-gcj-compat-1.4.2.0-40jpp.115

yum -y remove java java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5

2.1.4 make 查看是否安装了gcc

2.1.5 如果发现无法使用make命令则需要安装gcc

2.2 安装jdk

   2.2.1 cd /usr/local/

   2.2.2 mkdir java

   2.2.3 将jdk-6u45-linux-i586.bin考到新建的java文件夹里面

   2.2.4 chmod 744jdk-6u45-linux-i586.bin修改权限

   2.2.5 ./jdk-6u45-linux-i586.bin执行安装

   2.2.6 vi /etc/profile设置环境变量

   2.2.7 增加:

#java enviroment variable

export JAVA_HOME=/usr/local/java/jdk1.6.0_45

exportCLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

保存退出

   2.2.8 . /etc/profile是立即生效

   2.2.9 java –version

可以看到:

java version "1.6.0_45"

Java(TM) SE Runtime Environment (build 1.6.0_45-b06)

Java HotSpot(TM) Client VM (build 20.45-b01, mixed mode, sharing)

2.3 安装apache

2.3.1 进入下载好apache httpd-2.4.6.tar.gz的目录

2.3.2 chmod 744httpd-2.4.6.tar.gz修改权限

2.3.3 tar zxvf httpd-2.4.6.tar.gz解压缩

2.3.4 cdhttpd-2.4.6

2.3.5 ./configure -prefix=/usr/local/apache配置安装路径

2.3.6 报错:configure: error: APR notfound.  Please read the documentation.

2.3.7 说明APR没有安装,需要单独安装APR

2.3.8 进入apr-1.4.8.tar.gz下载目录

2.3.9 chmod 744apr-1.4.8.tar.gz修改权限

2.3.10 tar zxvfapr-1.4.8.tar.gz解压缩

2.3.11 cdapr-1.4.8

2.3.12 ./configure -prefix=/usr/local/apr配置安装路径

2.3.13 make编译

2.3.14 makeinstall安装

2.3.15进入apr-util-1.5.2.tar.gz下载目录

2.3.16 chmod 744apr-util-1.5.2.tar.gz修改权限

2.3.17 tar zxvfapr-util-1.5.2.tar.gz解压缩

2.3.18 cdapr-util-1.5.2

2.3.19 ./configure-prefix=/usr/local/apr-util -with-apr=/usr/local/apr

2.3.20 make编译

2.3.21 makeinstall安装

2.3.22 进入pcre-8.33.tar.gz下载目录

2.3.23 chmod 744pcre-8.33.tar.gz修改权限

2.3.24 tar zxvf pcre-8.33.tar.gz解压缩

2.3.25 cdpcre-8.33

2.3.26 ./configure -prefix=/usr/local/pcre配置安装路径

2.3.27 make编译

2.3.28 makeinstall安装

2.3.29 重新进入apache解压缩的目录

2.3.30 ./configure -prefix=/usr/local/apache -enable-mods-shared=all -enable-proxy -enable-proxy-connect -enable-proxy-ftp -enable-proxy-http -enable-proxy-ajp -enable-proxy-balancer -enable-rewrite -with-apr=/usr/local/apr -with-apr-util=/usr/local/apr-util -with-pcre=/usr/local/pcre 配置apache安装路径

2.3.31 make编译

2.3.32 makeinstall安装

2.3.33 进入apache conf路径解开LoadModule slotmem_shm_module modules/mod_slotmem_shm.so配置

2.3.34 /usr/local/apache2/bin/apachectl start启动apache服务

2.3.35 访问localhost:80可以看到It works!说明apache已经安装并启动

2.3.36 添加防火墙80端口/sbin/iptables -I INPUT -p tcp -dport80 -j ACCEPT

2.3.37 保存配置/etc/rc.d/init.d/iptables save

2.4安装Apache Tomcat Connector(mod_jk)

   2.4.1进入下载的tomcat-connectors-1.2.37-src.tar.gz目录

    2.4.2 chmod 744tomcat-connectors-1.2.37-src.tar.gz修改权限

    2.4.3 tar zxvftomcat-connectors-1.2.37-src.tar.gz解压缩

    2.4.4 cdtomcat-connectors-1.2.37-src

    2.4.5 cd native/

    2.4.6 ./buildconf.sh

    2.4.7 ./configure  -with-apxs=/usr/local/apache/bin/apxs -with-java-home=$JAVA_HOME -with-java-platform=2  -enable-jni

2.4.8 make

makeinstall

       2.4.9 安装完毕后,在apache/modules 目录下面生成mod_jk.so

    2.5 安装tomcat

   此处省略

    2.6 在apache/conf目录下面增加两个文件

       2.6.1 文件名称mod_jk.conf workers.properties

       2.6.2 mod_jk.conf 文件内容:

LoadModule jk_modulemodules/mod_jk.so

JkWorkersFileconf/workers.properties

#指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器名

JkMount /*.jsp controller

       2.6.3 workers.properties文件内容:

#server

worker.list = controller

#========tomcat1========

worker.tomcat1.port=11009

worker.tomcat1.host=localhost

worker.tomcat1.type=ajp13

worker.tomcat1.lbfactor = 1

#========tomcat2========

worker.tomcat2.port=12009

worker.tomcat2.host=localhost

worker.tomcat2.type=ajp13

worker.tomcat2.lbfactor = 1

#========controller,负载均衡控制器========

worker.controller.type=lb

worker.controller.balance_workers=tomcat1,tomcat2

worker.controller.sticky_session=false

worker.controller.sticky_session_force=1

#worker.controller.sticky_session=1

       2.6.3 修改apache/conf目录下的httpd.conf

在最后增加:include"/usr/local/apache/conf/mod_jk.conf"

         2.6.4 开启45564防火墙udp端口/sbin/iptables -I INPUT -p udp -dport 45564-j ACCEPT

       2.6.5 保存配置/etc/rc.d/init.d/iptables save
       2.6.6 启动tomcat1 tomcat2
            查看日志,如果出现Replication member added:org.apache.catalina.tribes.membership.MemberImpl[tcp://{127, 0, 0, 1}:4001,{127, 0, 0, 1},4001, alive=1008, securePort=-1, UDP Port=-1, id={-78 100 -88 20 1 127 64 64 -102 71 -75 -84 -121 104 -10 88 }, payload={}, command={}, domain={}, ]则说明两个tomcat已经互相监听到了。
       2.6.7 如果无法互相监听到:修改linux配置:]# /sbin/iptables -I INPUT -p udp -dport 45564 -j ACCEPT
打开端口
保存:# /etc/rc.d/init.d/iptables save
重启俩tomcat 即可
       2.6.8 访问http://localhost/test/test2.jsp查看效果
test2.jsp:
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.util.*" %>
<html><head><title>Cluster App Test</title></head>
<body>
<img alt="aa" src="http://localhost/images/aa.jpg"/>
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);
   }
%>
  <form action="test2.jsp" method="POST">
    名称:<input type=text size=20 name="dataName">
     <br>
    值:<input type=text size=20 name="dataValue">
     <br>
    <input type=submit>
   </form>
</body>
</html>


	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值