第五节:Apache+Tomcat集群(负载均衡)

一、负载均衡(apache2.4.43+2个tomcat8.5.57,两个相同项目跑在一个apache下)

1、安装2个tomcat,可参考《Centos下安装Tomcat8.5.57》(端口配置记得不一样)

2、安装Apache2.4.43,可参考《Centos下安装Apache2.4.43》

3、下载tomcat-connectors,编译安装,生成mod_jk.so

#安装mod_jk.so步骤
cd /usr/local/
wget https://mirrors.bfsu.edu.cn/apache/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.48-src.tar.gz 
tar -zxvf tomcat-connectors-1.2.48-src.tar.gz 
cd tomcat-connectors-1.2.48-src/native 
./configure --with-apxs=/usr/local/httpd/bin/apxs 
make 
make install

前提Apache已安装,才能装tomcat-connectors,生成mod_jk.so默认在 /usr/local/httpd/modules/路径下

tomcat-connectors官网

4、修改httpd/conf/httpd.conf文件

#编辑/usr/local/httpd/conf/httpd.conf
vim /usr/local/httpd/conf/httpd.conf

#修改下面的内容

ServerName localhost:80

#添加下面的内容

#加载jk模块
LoadModule jk_module modules/mod_jk.so
#读取配置文件
JkWorkersFile conf/workers.properties

5、创建workers.properties文件,在httpd/conf下创建该文件并编辑

vim /usr/local/httpd/conf/workers.properties

#添加内容如下

worker.list=controller,tomcat1,tomcat2 

worker.tomcat1.port=5009 
worker.tomcat1.host=127.0.0.1 
worker.tomcat1.type=ajp13 
worker.tomcat1.lbfactor=2

worker.tomcat2.port=6009 
worker.tomcat2.host=127.0.0.1 
worker.tomcat2.type=ajp13 
worker.tomcat2.lbfactor=1 

worker.controller.type=lb 
worker.controller.balanced_workers=tomcat1,tomcat2 
worker.controller.sticky_session=1

6、修改tomcat文件,修改第一个tomcat的server.xml

6.1:修改shutdown端口两个tomcat不能重复

<Server port="1005" shutdown="SHUTDOWN">

6.2:修改端口号两个tomcat不能重复

<Connector port="1080" protocol="HTTP/1.1" connectionTimeout="20000" URIEncoding="UTF-8" redirectPort="7443" />

6.3:修改AJP端口,跟workers.properties文件里的端口号要匹配,注意添加secretRequired和address参数

<Connector protocol="AJP/1.3" port="5009" redirectPort="7443" secretRequired="" address="127.0.0.1" />

6.4:修改Engine标签,添加jvmRoute属性

<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">

6.5:打开Cluster的注释

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

另外一个tomcat也是同样的配置方法,各种端口都记得不一样哦。

7、依次启动apache和2个tomcat

#启动apache
service httpd start

#启动tomcat
systemctl start tomcat.service


#如果不成功可以查看apache的报错日志,在/usr/local/httpd/logs 文件夹下
cd /usr/local/httpd/logs
ll
-rw-r--r-- 1 root root  26728 Jul 29 10:21 access_log
-rw-r--r-- 1 root root  34509 Jul 28 10:05 error_log
-rw-r--r-- 1 root root      4 Jul 28 10:05 httpd.pid
-rw-r--r-- 1 root root   3072 Jul 29 10:21 jk-runtime-status.767
-rw-r--r-- 1 root root      1 Jul 28 10:05 jk-runtime-status.767.lock
-rw-r--r-- 1 root root 392034 Jul 29 10:21 mod_jk.log


#如果apache没有问题就以控制台的形式启动tomcat查看报错
cd /usr/local/tomcat路径/bin
./catalina.sh run

二、负载均衡(apache2.4.43+2个tomcat8.5.57,两个不同项目跑在一个apache下,设置为不同的域名)

其他的配置和一里面的配置都一样,只有修改httpd/conf/httpd.conf文件,略有不同

#编辑/usr/local/httpd/conf/httpd.conf
vim /usr/local/httpd/conf/httpd.conf

#修改下面的内容

ServerName localhost:80

#添加下面的内容

#加载jk模块
LoadModule jk_module modules/mod_jk.so
#读取配置文件
JkWorkersFile conf/workers.properties

#配置域名监听  weba.xacom.cn域名来的请求全部交给tomcat1处理
<VirtualHost *:80>
    <Directory /usr/local/apache-tomcat-1/webapps/ROOT>
        Options Indexes FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
    ServerAdmin   [email protected]
    DocumentRoot  /usr/local/apache-tomcat-1/webapps/ROOT
    ServerName   weba.xacom.cn
    JkMount /* tomcat1
</VirtualHost>

#配置域名监听  webb.xacom.cn域名来的请求全部交给tomcat2处理
<VirtualHost *:80>
    <Directory /usr/local/apache-tomcat-2/webapps/ROOT>
       Options Indexes FollowSymLinks
       AllowOverride None
       Order allow,deny
       Allow from al
    </Directory>
    ServerAdmin   [email protected]
    DocumentRoot  /usr/local/apache-tomcat-2/webapps/ROOT
    ServerName   webb.xacom.cn
    JkMount /* tomcat2
</VirtualHost>

监听80端口,不同的域名分发到不同的tomcat 

猜你喜欢

转载自blog.csdn.net/chenchao_JAVA/article/details/107656816