Apache2.4+Tomcat7集羣搭建

一、安裝jdk、Tomcat、Apache

1.安裝jdk1.7

cd /home/java/software  #把軟件下載到/home/java/software目錄下,將應用安裝到/home/java目錄下。
wget http://download.oracle.com/otn/java/jdk/7u80-b15/jdk-7u80-linux-x64.tar.gz
tar -zxvf jdk-7u80-linux-x64.tar.gz
mv jdk1.7.0_80 ../jdk1.7

2.安裝Tomcat7

wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.63/bin/apache-tomcat-7.0.63.tar.gz
tar -zxvf apache-tomcat-7.0.63.tar.gz
mv apache-tomcat-7.0.63 ../Tomcat7

3.設置JAVA_HOME、PATH、CLASSPATH

vim /etc/profile  #在文件尾部加入如下內容:
export JAVA_HOME=/home/java/jdk1.7
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
source /etc/profile  #使修改生效

4.給Tomcat設置JRE_HOME和JAVA_OPTS

cd /home/java/Tomcat7
vim bin/catalina.sh  #加入如下內容:
#JRE_HOME
JRE_HOME=/home/java/jdk1.7/jre
export JRE_HOME
#JAVA_OPTS
JAVA_OPTS="-Xms1024m -Xmx1024m"  #設置Java運行內容爲1024M
export JAVA_OPTS

5.設置Tomcat編碼

vim conf/server.xml  #在Connector標籤里加入URIEncoding="UTF-8"
<Connector port="8080" protocol="HTTP/1.1" 
           connectionTimeout="20000"
           redirectPort="8443" URIEncoding="UTF-8"/>
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8"/>

6.安裝Apache要指定apr、apr-util和pcre,所以要先安裝這三個軟件再安裝apache。

#1.安裝apr
cd /home/java/software  #把軟件下載到/home/java/software目錄下,將應用安裝到/home/java目錄下。
wget http://mirrors.hust.edu.cn/apache//apr/apr-1.5.2.tar.gz
tar -zxvf apr-1.5.2.tar.gz
cd apr-1.5.2
./configure --prefix=/home/java/apr
make
make install
cd ..
#2.安裝apr-util
wget http://mirrors.hust.edu.cn/apache//apr/apr-util-1.5.4.tar.gz
tar -zxvf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure --prefix=/home/java/apr-util --with-apr=/home/java/apr
make
make install
cd ..
#3.安裝pcre
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.37.tar.gz
tar -zxvf pcre-8.37.tar.gz
cd pcre-8.37
./configure --prefix=/home/java/pcre
make
make install
cd ..
#4.安裝apache
wget http://mirrors.cnnic.cn/apache//httpd/httpd-2.4.16.tar.gz
tar -zxvf httpd-2.4.16.tar.gz
httpd-2.4.16
./configure --prefix=/home/java/Apache2.4 --with-apr=/home/java/apr --with-apr-util=/home/java/apr-util --with-pcre=/home/java/pcre
make
make install
#5.默認配置的httpd就可以啓動了,但會報httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message的警告,所以要在httpd.conf裏指定ServerName。
cd /home/java/Apache2.4
vim conf/httpd.conf  #加入如下內容:
ServerName localhost:80

二、安裝jk

cd /home/java/software  #把軟件下載到/home/java/software目錄下,將應用安裝到/home/java目錄下。
wget http://apache.fayea.com/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.40-src.tar.gz
tar -zxvf tomcat-connectors-1.2.40-src.tar.gz
cd tomcat-connectors-1.2.40-src/native/
./configure --with-apxs=/home/java/Apache2.4/bin/apxs  --with-java-home=/home/java/jdk1.7
make
make install

三、配置集羣

1.配置jk_module模塊,vim conf/httpd.conf增加如下內容

LoadModule jk_module modules/mod_jk.so
<IfModule jk_module>
  JkWorkersFile conf/workers.properties
  JkMount /* controller      #所有網頁通過controller處理
  JkMount /jkstatus jkstatus   #訪問http://IP/jkstatus來查看jkstatus
  JkLogFile logs/mod_jk.log
  JkLogLevel info
</IfModule>
<Location /jkstatus>
  Options MultiViews
  AuthType Basic
  AuthName "Auther Center"
  AuthUserFile conf/.htpasswd  #認證用戶存放文件
  require valid-user granted  #只有認證用戶纔可以訪問
</Location>
將LoadModule rewrite_module modules/mod_rewrite.so前面#去掉。

2.在conf目錄下vim workers.properties加入如下內容:

worker.list=controller,jkstatus
#========tomcat1========  
worker.tomcat1.port=8009         #指定tomcat1服務器AJP的端口,默認爲8009
worker.tomcat1.host=192.168.1.100 #指定tomcat1服務器IP或域名  
worker.tomcat1.type=ajp13        #指定tomcat1與apache AJP通訊協議  
worker.tomcat1.lbfactor=1       #指定負載平衡因數,只有啓用了負載平衡纔有用.  
#========tomcat2========  
worker.tomcat2.port=8009  
worker.tomcat2.host=192.168.1.200  
worker.tomcat2.type=ajp13  
worker.tomcat2.lbfactor=1  
   
#========controller負載平衡控制器========  
worker.controller.type=lb              #指定controller類型  
worker.controller.balance_workers=tomcat1,tomcat2 #指定負載平衡的tomcat  
worker.controller.sticky_session=1         #指定是否粘性session
worker.jkstatus.type=status
worker.jkstatus.read_only=1  #指定jkstatus爲只讀方式

3.修改每個tomcat的conf/server.xml

<Engine name="Catalina" defaultHost="localhost" jvmRoute="Tomcat1">
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8">
      <Channel className="org.apache.catalina.tribes.group.GroupChannel">
        <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
                  address="auto"
                  port="4001"
                  autoBind="100"
                  selectorTimeout="5000"
                  maxThreads="6"/>
      </Channel>
</Cluster>

 4.修改web應用裏面WEB-INF目錄下的web.xml文件,加入標籤

<distributable/>

  直接加在</web-app>之前就可以了
  做tomcat集羣必須需要這一步,否則用戶的session就無法正常使用。

5.添加jkstatus訪問用戶

bin/htpasswd -c conf/.htpasswd admin  #在conf目錄建立.htpasswd文件並創建admin用戶。
#之後會讓你輸入兩次新用戶admin的密碼,最後通過[ls -al]就可以看到生成的密碼文件了(它是隱藏文件,需要-a才能看到)
#第一次建立.htpasswd文件時候需要-c,以後添加其他用戶時則不需要,如果加上-c則會把.htpasswd文件替換掉。
bin/htpasswd -m conf/.htpasswd admin  #修改admin用戶登錄密碼
bin/htpasswd -D conf/.htpasswd admin  #刪除admin用戶

四、啓動Tomcat和Apache

cd /home/java/Tomcat7
bin/startup.sh      #啓動Tomcat
bin/shutdown.sh      #關閉Tomcat
cd /home/java/Apache2.4
bin/apachectl start   #啓動Apache
bin/apachectl stop    #關閉Apache

五、參考文檔

http://tomcat.apache.org/connectors-doc/reference/workers.html

http://tomcat.apache.org/tomcat-7.0-doc/cluster-howto.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章