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
相关推荐
云水一下2 小时前
TypeScript 从零基础到精通(五):高级类型与泛型
前端·javascript·typescript
counterxing2 小时前
vibe coding 之后,我更不想打字了
前端·agent·ai编程
copyer_xyf3 小时前
Python 模块与包的导入导出
前端·后端·python
研☆香3 小时前
es6新特性功能介绍(四)
前端·ecmascript·es6
微扬嘴角3 小时前
React篇1--JSX语法规则、组件、组件实例的3大特性
前端·react.js·前端框架
copyer_xyf3 小时前
Python venv 虚拟环境
前端·后端·python
无聊的老谢3 小时前
Vue 3 + TypeScript 构建大型电信运维平台的前端架构设计
前端·vue.js·typescript
xiaofeichaichai3 小时前
Map / Set / WeakMap / WeakSet
前端·javascript
李可以量化3 小时前
成交量的终极量化策略:价量共振指标完整实现(下篇)
前端·数据库·人工智能
copyer_xyf4 小时前
Python 如何同时做很多事:进程、线程、协程
前端·后端·python