一、负载均衡(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/路径下
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 xa_com@126.com
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 xa_com@126.com
DocumentRoot /usr/local/apache-tomcat-2/webapps/ROOT
ServerName webb.xacom.cn
JkMount /* tomcat2
</VirtualHost>
监听80端口,不同的域名分发到不同的tomcat