一、安裝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
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