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
相关推荐
JianZhen✓10 分钟前
面试题名词解析一
前端
会跑的葫芦怪12 分钟前
Web3开发中的前端、后端与合约:角色定位与协作逻辑
前端·web3·区块链
江城开朗的豌豆15 分钟前
TypeScript泛型:让类型也"通用"的魔法
前端·javascript
江城开朗的豌豆26 分钟前
TypeScript函数:给JavaScript函数加上"类型安全带"
前端·javascript
凌览27 分钟前
Node.js + Python 爬虫界的黄金搭档
前端·javascript·后端
Java 码农33 分钟前
vue 使用vueCli 搭建vue2.x开发环境,并且指定ts 和less
前端·vue.js·less
欧阳码农44 分钟前
AI提效这么多,为什么不试试自己开发N个产品呢?
前端·人工智能·后端
chenbin___1 小时前
Omit<>的用法
开发语言·前端·javascript
嫂子的姐夫1 小时前
21-webpack介绍
前端·爬虫·webpack·node.js
IT_陈寒1 小时前
SpringBoot 3.x 中被低估的10个隐藏特性,让你的开发效率提升50%
前端·人工智能·后端