兩臺機器上做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][email protected][/email]
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-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][email protected][/email]
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]
如果正常將看到訪問到的是兩臺不同的機器。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.