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

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