httpd+Tomcat(jk)的Web动静分离搭建

动静分离是指将动态请求和静态请求分别交给不同的服务器来处理,可以提高服务器的效率和性能。在Java Web开发中,常见的动态请求处理方式是通过Tomcat来处理,而静态请求则可以通过Apache服务器来处理。本文将详细讲解如何结合Apache和Tomcat来实现动静分离。

目录

1、Apach:httpd+Tomcat(jk)

1)环境部署:

2)添加jk模块信息的.conf配置文件

3)服务器连接定义文件

4)准备网页文件


1、Apach:httpd+Tomcat(jk)

  • JK 是通过 AJP 协议与 Tomcat 服务器进行通讯的,Tomcat 默认的 AJP Connector 的端口是 8009。JK本身提供了一个监控以及管理的页面 jkstatus,通过 jkstatus 可以监控 JK 目前的工作状态以及对到tomcat 的连接进行设置。

1)环境部署:

bash 复制代码
#安装jdk
yum install -y jdk-8u261-linux-x64.rpm
#获取JK包。两台服务器主机都需要安装
https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.48-src.tar.gz
#解压
tar xf tomcat-connectors-1.2.48-src.tar.gz -C /usr/local/src/
#编译前安装 httpd-devel
yum install -y httpd-devel gcc gcc-c++
#编译
cd /usr/local/src/tomcat-connectors-1.2.48-src/native
./configure --with-apxs=/usr/bin/apxs    #---apxs由httpd-devel提供
make && make install

2)添加jk模块信息的.conf配置文件

bash 复制代码
# vim /etc/httpd/conf.d/mod_jk.conf

LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkLogFile /var/log/httpd/mod_jk.log
JkLogLevel info
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
JkOptions +ForwardKeySize +ForwardURICompatUnparsed -ForwardDirectories
jkRequestLogFormat "%w %V %T"

JkMount /*.jsp worker1
JkMount /servlet/* worker1
JkMount /*.do worker1
JkMount /*.action worker1
JkMount /jkstatus status

3)服务器连接定义文件

bash 复制代码
#vim /etc/httpd/conf/workers.properties

workers.tomcat_home=/usr/local/tomcat/
workers.java_home=/usr/java/jdk1.8.0_261-amd64
worker.list=worker1

worker.worker1.type=ajp13
worker.worker1.host=192.168.127.163
worker.worker1.port=8009
worker.worker1.lbfactor=50

worker.list = status
worker.status.type=status

4)准备网页文件

bash 复制代码
echo '<h1>static_page_from_apache-httpd</h1>' > /var/www/html/index.html

echo '<h1>dynamic_page_from_tomcat</h1>' > /usr/local/tomcat/webapps/ROOT/test.js
相关推荐
懂懂tty18 小时前
React状态更新流程
前端·react.js
小码哥_常18 小时前
告别繁琐!手把手教你封装超实用Android原生Adapter基类
前端
skywalk816318 小时前
pytest测试的时候这是什么意思?Migrating <class ‘kotti.resources.File‘>
前端·python
一只蝉nahc19 小时前
vue使用iframe内嵌unity模型,并且向模型传递信息,接受信息
前端·vue.js·unity
子兮曰19 小时前
Bun v1.3.12 深度解析:新特性、性能优化与实战指南
前端·typescript·bun
2401_8858850420 小时前
易语言彩信接口怎么调用?E语言Post实现多媒体数据批量下发
前端
a11177620 小时前
Three.js 的前端 WebGL 页面合集(日本 开源项目)
前端·javascript·webgl
Kk.080220 小时前
项目《基于Linux下的mybash命令解释器》(一)
前端·javascript·算法
小李子呢021121 小时前
前端八股---闭包和作用域链
前端
IT_陈寒1 天前
Redis的内存溢出坑把我整懵了,分享这个血泪教训
前端·人工智能·后端