两台机器上做apache + tomcat 的负载均衡
以前整理的一篇文章,试验成功的 本文出自 51CTO.COM技术博客所需软件 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 www.test.com DocumentRoot /var/www/sobu ServerAdmin smz0102@163.com 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启动 测试: 访问http://192.168.1.10:8080 http://192.168.1.15:8080 如果访没有问题说明两机器的tomcat 正常了 然后访问用两台机器分别访问 http://192.168.1.10 如果正常将看到访问到的是两台不同的机器。 |


seven_yan
博客统计信息
热门文章
最新评论
友情链接


