目录
0.流程图:
1.集群环境:
2.Apache服务器安装httpd:
3.tomcat1服务器和tomcat2服务器安装jdk和Tomcat
4.tomcat1服务器和tomcat2服务器创建页面:
5.Apache服务器的mod_jk模块的安装:
6.查看是否mod_jk.so模块安装成功:
7.apache服务器配置jk模块,实现Apache整合tomcat:
8..tomcat1服务器和tomcat2服务器开启端口:
9..启动apache和tomcat测试:
10.Apache服务器上访问测试:
服务器 | IP地址 | 端口 | 版本 |
---|---|---|---|
Apache服务器 | 192.168.178.52 | 80 | yum默认 |
tomcat1服务器 | 192.168.178.101 | 8080 | apache-tomcat-8.5.20 |
tomcat2服务器 | 192.168.178.151 | 8080 | apache-tomcat-8.5.20 |
yum install -y httpd
# 静态页面
echo "static_page_from_apache
" > /var/www/html/index.html
# 访问
http://192.168.178.52/
jdk1.8和Tomcat的两种安装方式_碧蓝幻想的博客-CSDN博客
# tomcat1的动态页面
echo "my_tomcat11111
" > /usr/local/tomcat/webapps/ROOT/test.jsp
# 访问
http://192.168.178.101:8080/test.jsp
# tomcat2的动态页面
echo "my_tomcat22222
" > /usr/local/tomcat/webapps/ROOT/test.jsp
# 访问
http://192.168.178.151:8080/test.jsp
JK 是通过 AJP 协议与 Tomcat 服务器进行通讯的,Tomcat 默认的 AJP Connector 的端口是 8009
jk模块的三个配置文件 | 说明 |
---|---|
httpd.conf | Apache 服务器的配置文件,用来加载 JK 模块以及指定 JK 配置文件信息 |
workers.properties | 到 Tomcat 服务器的连接定义文件 |
uriworkermap.properties | URI 映射文件,用来指定哪些 URL 由 Tomcat 处理 |
wget -c https://dlcdn.apache.org/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.48-src.tar.gz --no-check-certificate
tar xf tomcat-connectors-1.2.48-src.tar.gz -C /usr/local/src/
cd /usr/local/src/tomcat-connectors-1.2.48-src/native/
yum install -y httpd-devel # httpd-devel提供apxs命令
yum provides apxs
yum install gcc gcc-c++ make -y # 编译需要编译环境
./configure --with-apxs=/usr/bin/apxs
./configure --with-apxs=/usr/bin/apxs
[root@localhost native]# find / -name mod_jk.so
/usr/lib64/httpd/modules/mod_jk.so # make install后出现
/usr/local/src/tomcat-connectors-1.2.48-src/native/apache-2.0/.libs/mod_jk.so # make后出现
/usr/local/src/tomcat-connectors-1.2.48-src/native/apache-2.0/mod_jk.so # make后出现
以下配置文件请删除字段后面的注释
cat << eof > /etc/httpd/conf.d/mod_jk.conf
LoadModule jk_module modules/mod_jk.so # 加载模块
JkWorkersFile conf/workers.properties # 指定mod_jk的配置文件之一workers.properties
JkLogFile /var/log/httpd/mod_jk.log # 指定mod_jk的日志
JkLogLevel info # 日志级别
JkShmFile /var/log/httpd/mod_jk.shm # 配置jk日志内存共享
JkRequestLogFormat "%w %V %T"
# 将所有的请求转发给balancer处理
JkMount /*.jsp balancer
eof
# 到 Tomcat 服务器的连接定义文件
cat << eof > /etc/httpd/conf/workers.properties
#worker的变量
worker.list=balancer,jk_watcher,tomcat1,tomcat2
#tempalte 负载模板配置
worker.template.type=ajp13
#worker全局的重试次数,在apache服务器启动后,会最多尝试若干次连接这些负载均衡服务器,若连接不上则任务down掉
worker.retries=3
#balancer 负载配置
worker.balancer.type=lb
worker.balancer.balance_workers=tomcat1,tomcat2
worker.balancer.sticky_session=true
#tomcat1的配置
worker.tomcat1.port=8009
worker.tomcat1.host=192.168.178.101
worker.tomcat1.reference=worker.template
worker.tomcat1.activation=A
#worker.tomcat1.lbfactor=1 #lbfactor值越大,表示被分配的负载越大
#tomcat2 的配置
worker.tomcat2.port=9009
worker.tomcat2.host=192.168.178.151
worker.tomcat2.reference=worker.template
worker.tomcat2.activation=A
#worker.tomcat2.lbfactor=1 #lbfactor值越大,表示被分配的负载越大
#负载均衡监视器
worker.jk_watcher.type=status
worker.jk_watcher.read_only=false
worker.jk_watcher.mount=/jkStatus
eof
注意此内容在 启动错误可能是因为配置文件字段后面的空格和注释vim /usr/local/tomcat/conf/server.xml
# tomcat1修改内容
9..启动apache和tomcat测试:
systemctl restart httpd
systemctl restart tomcat
10.Apache服务器上访问测试:
[root@localhost conf.d]# for i in {1..10..1};do curl http://192.168.178.52/test.jsp;done
my_tomcat22222
my_tomcat22222
my_tomcat22222
my_tomcat22222
my_tomcat22222
my_tomcat22222
my_tomcat11111
my_tomcat22222
my_tomcat11111
my_tomcat22222