两台机器上做apache + tomcat 的负载均衡

以前整理的一篇文章,试验成功的
所需软件
apache-tomcat-5.5.23.tar.gz
jdk-1_5_0_11-linux-i586-rpm.bin
tomcat-connectors-1.2.20-src.tar.gz
httpd-2.2.4.tar.gz

在两台机器上做apache + tomcat 的负载均衡   计算机s1(192.168.1.10) 和s2 (192.168.1.15)
在s1上安装apache + jdk + tomcat + tomcat-connectors  在s2上安装  jdk + tomcat
s1做均衡并提供服务。s1上apache网页文件目录和tomcat网页文件目录要指向同一个目录

在s1机器中的操作


A 安装JDK

# cd /usr/local/
# chmod a+x jdk-1_5_0_11-linux-i586-rpm.bin
# ./jdk-1.5.0_04-linux-i586-rpm.bin
# cd /usr/java/




安装Tomcat



# cd /usr/local/
# tar xvfz apache-tomcat-5.5.23.tar.gz
# cd apache-tomcat-5.5.23
#mkdir /usr/local/tomcat
#cp -rp apache-tomcat-5.5.23/* /usr/local/tomcat/
#cd /usr/local/tomcat/bin
#./startup.sh


在/etc/profile最后面添加

JAVA_HOME=/usr/java/jdk1.5.0_11
CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
CATALINA_HOME=/usr/local/tomcat
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC JAVA_HOME CLASSPATH CATALINA_BASE CATALINA_HOME

# vi /etc/profile      
重启机器





安装 Apache
# cd /usr/local/
# tar xvfz httpd-2.0.54.tar.gz
# cd httpd-2.0.54
#./configure --prefix=/usr/local/apache --enable-module=so
# make
# make install
# vi /usr/local/apache/conf/httpd.conf




#Load mod_jk                                          #指定加载模块,指定配置文件
LoadModule jk_module        modules/mod_jk.so
#Configure mod_jk
JkWorkersFile conf/workers.properties
JkLogLevel info


NameVirtualHost 192.168.1.10   #添加虚拟主机


<VirtualHost 192.168.1.10>
       ServerName [url]www.test.com[/url]
      DocumentRoot /var/www/sobu
      ServerAdmin [email protected]
      JkMountFile conf/uriworkermap.properties
</VirtualHost>


<Directory "/var/www/sobu">                    #给虚拟主机目录付权限
   
        Options Indexes FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
</Directory>


<IfModule dir_module>
    DirectoryIndex index.html,index.jsp   #添加索引文件
</IfModule>



安装JK
#tar zxvf tomcat-connectors-1.2.20-src.tar.gz
#cd tomcat-connectors-1.2.20-src
#cd native/
#ls
#./buildconf.sh
#./configure --with-apxs=/usr/local/apache/bin/apxs
#make
#make install




在s1里设置两个文件/usr/local/apache/conf/uriworkermap.properties
#vi /usr/local/apache/conf/uriworkermap.properties
/*=DLOG4J
#/jkstatus=status    #设置除以下类型的文件外,都由tomcat提供服务(也就是说下面列出的格式都有apache提供服务)

!/*.gif=DLOG4J
!/*.jpg=DLOG4J
!/*.png=DLOG4J
!/*.css=DLOG4J
!/*.js=DLOG4J
!/*.htm=DLOG4J
!/*.html=DLOG4J


#vi /usr/local/apache/conf/workers.properties

worker.list=DLOG4J
# localhost server 1
# -----------------------
worker.s1.port=8009
worker.s1.host=192.168.1.10
worker.s1.type=ajp13
worker.s1.lbfactor=1
# localhost server 2
# -----------------------
worker.s2.port=8009
worker.s2.host=192.168.1.15
worker.s2.type=ajp13
worker.s2.lbfactor=1
#worker.s2.stopped=1

worker.DLOG4J.type=lb
worker.retries=3
worker.DLOG4J.balance_workers=s1,s2
worker.DLOG4J.sticky_session=true     #设置会话粘贴
worker.DLOG4J.sticky_session_force=false
#worker.status.type=status




然后在s1的tomcat配置文件里设置
#vi /usr/local/tomcat/conf/server.xml
找到
<Engine name="Catalina" defaultHost="localhost" jvmRoute="s1">
将jvmRoute="s1"

在s2的tomcat配置文件里设置




在s2机器中的操作:

安装JDK

# cd /usr/local/
# chmod a+x jdk-1_5_0_11-linux-i586-rpm.bin
# ./jdk-1.5.0_04-linux-i586-rpm.bin
# cd /usr/java/

安装Tomcat



# cd /usr/local/
# tar xvfz apache-tomcat-5.5.23.tar.gz
# cd apache-tomcat-5.5.23
#mkdir /usr/local/tomcat
#cp -rp apache-tomcat-5.5.23/* /usr/local/tomcat/
#cd /usr/local/tomcat/bin
#./startup.sh
在/etc/profile最后面添加

JAVA_HOME=/usr/java/jdk1.5.0_11
CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
CATALINA_HOME=/usr/local/tomcat
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC JAVA_HOME CLASSPATH CATALINA_BASE CATALINA_HOME



在s2的tomcat配置文件里设置


找到
<Engine name="Catalina" defaultHost="localhost" jvmRoute="s2">
将jvmRoute="s2"


测试


修改s1和s2中的tomcat的网页目录
将s1上apache网页文件目录和tomcat网页文件目录要指向同一个目录,本例中为/var/www/sobu
在/usr/local/tomcat/conf/server.xml找到Host name项将 appBase改成网页文件的路径

<Host name="localhost" appBase="/var/www/"

然后在在文件的尾部添加 <Context docBase="sobu" path="/" crossContext="true"/>

如下位置:
      
   <Context docBase="sobu" path="/" crossContext="true"/>

      </Host>

    </Engine>

  </Service>

</Server>

注意:sobu是个文件夹,里面有基本文件夹WEB-INF(既/usr/local/tomcat/webapps/ROOT/WEB-INF)、index.jsp 、index.html
index.jsp 和index.html内容自己定义就好

WEB-INF文件即/usr/local/tomcat/webapps/ROOT/WEB-INF ,但要将里面的web.xml文件尾部的
<servlet>
        <servlet-name>org.apache.jsp.index_jsp</servlet-name>
        <servlet-class>org.apache.jsp.index_jsp</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>org.apache.jsp.index_jsp</servlet-name>
        <url-pattern>/index.jsp</url-pattern>
    </servlet-mapping>
注释掉或者删除


如不想指定新的网页文件位置则可修改/usr/local/tomcat/webapps/ROOT/WEB-INF/web.xml将尾部的

servlet>
        <servlet-name>org.apache.jsp.index_jsp</servlet-name>
        <servlet-class>org.apache.jsp.index_jsp</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>org.apache.jsp.index_jsp</servlet-name>
        <url-pattern>/index.jsp</url-pattern>
    </servlet-mapping>
注释掉或者删除
然后在修改/usr/local/tomcat/webapps/ROOT/index.jsp
内容,一方便辨认,我们通过web访问的到底是那台计算机
完成上面的后将s1的apache 和tomcat 启动,将s2的tomcat启动
测试:
访问 [url]http://192.168.1.10:8080[/url]
    [url]http://192.168.1.15:8080[/url]
如果访没有问题说明两机器的tomcat 正常了
然后访问用两台机器分别访问
[url]http://192.168.1.10[/url]
如果正常将看到访问到的是两台不同的机器。

你可能感兴趣的:(apache,tomcat,负载均衡,职场,休闲)