Linux Apache JK配置出错怎么办?apache jk mod_jk配置详解

在 Linux 环境下,Apache 配合 JK (mod_jk) 是一种经典的架构,主要用于将 Apache 作为前端 Web 服务器(处理静态资源、SSL 终止等),并将动态请求转发给后端的 Tomcat 或 Jetty 等应用服务器。

mod_jk 是 Apache 的一个模块,它使用 AJP (Apache JServ Protocol) 协议与后端应用服务器通信。

Linux操作系统-Apache服务器的安装
加载中
Linux操作系统-Apache服务器的安装

以下是完整的配置指南,涵盖安装、配置和常见问题。


架构简述

[ 客户端 ] --> [ Apache (mod_jk) :80/443 ] --> [ AJP 协议 ] --> [ Tomcat :8009 ]
  • Apache: 负责静态文件(HTML/CSS/JS/图片)、SSL 加密、负载均衡。
  • mod_jk: Apache 的连接器模块。
  • Tomcat: 运行 Java Web 应用,监听 AJP 端口(默认 8009)。

安装步骤

1 安装 Apache 和 mod_jk

Ubuntu/Debian:

sudo apt update
sudo apt install apache2 libapache2-mod-jk

CentOS/RHEL:

sudo yum install httpd mod_jk
# 或者在较新版本中使用 dnf
sudo dnf install httpd mod_jk

2 安装 Tomcat

确保 Tomcat 已安装并正在运行,默认情况下,Tomcat 的 AJP 连接器在 server.xml 中是启用的,监听端口为 8009。


配置 Tomcat

确保 Tomcat 的 server.xml 中启用了 AJP 连接器:

<!-- 在 server.xml 的 <Service> 标签内 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

注意:如果修改了 Tomcat 配置,请重启 Tomcat。

Linux Apache JK配置出错怎么办?apache jk mod_jk配置详解


配置 mod_jk

mod_jk 的主要配置文件通常位于 /etc/libapache2-mod-jk/ 或 /etc/httpd/conf/ 目录下。

1 创建 workers.properties

定义后端 Tomcat 服务器列表。

文件路径: /etc/libapache2-mod-jk/workers.properties

# 定义 worker 名称
worker.list=worker1
# 定义 worker1 的类型为 ajp13
worker.worker1.type=ajp13
# 指定 Tomcat 主机地址(本地则为 localhost)
worker.worker1.host=localhost
# 指定 Tomcat 的 AJP 端口(默认 8009)
worker.worker1.port=8009
# 设置负载因子(用于负载均衡,单节点可忽略)
worker.worker1.lbfactor=1

2 配置 Apache 加载 mod_jk

文件路径: /etc/apache2/mods-available/jk.conf (Ubuntu) 或 /etc/httpd/conf.d/jk.conf (CentOS)

# 加载 mod_jk 模块
LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so
# 或者在 CentOS 上可能是: LoadModule jk_module modules/mod_jk.so
# 指定 workers.properties 文件路径
JkWorkersFile /etc/libapache2-mod-jk/workers.properties
# 指定 JK 日志文件路径
JkLogFile /var/log/apache2/mod_jk.log
# 设置日志级别 (info, debug, error, trace)
JkLogLevel info
# 指定哪些请求需要转发给 Tomcat
# 所有以 .jsp, .do, .action 结尾的请求
JkMount /.jsp worker1
JkMount /.do worker1
JkMount /.action worker1
# 或者:将所有请求都转发(不推荐,静态文件会由 Tomcat 处理,效率低)
# JkMount / worker1

提示:在 Ubuntu 上,你可能需要启用该模块:

sudo a2enmod jk

3 配置虚拟主机(可选但推荐)

为了更精细地控制,建议在虚拟主机配置中指定 JkMount。

Linux Apache JK配置出错怎么办?apache jk mod_jk配置详解

文件路径: /etc/apache2/sites-available/000-default.conf 或自定义 vhost 文件

<VirtualHost :80>
    ServerName www.example.com
    DocumentRoot /var/www/html
    # 静态文件由 Apache 直接处理
    <Directory /var/www/html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
    # 动态请求转发给 Tomcat
    JkMount /app/ worker1
    JkMount /app/.jsp worker1
    # 日志
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

重启服务

# 重启 Apache
sudo systemctl restart apache2
# 或
sudo systemctl restart httpd
# 检查 Tomcat 是否运行
sudo systemctl status tomcat

验证配置

  1. 访问 Apache 的静态页面,确认能正常显示。
  2. 访问动态页面(如 /app/test.jsp),确认能由 Tomcat 处理并返回结果。
  3. 查看日志:
    tail -f /var/log/apache2/mod_jk.log

常见问题与排查

Q1: 502 Bad Gateway 或 Connection Refused

  • 原因:Tomcat 未启动,或 AJP 端口(8009)未监听。
  • 解决:检查 Tomcat 状态,确认 server.xml 中 AJP 连接器已启用。

Q2: 静态文件访问慢

  • 原因:如果配置了 JkMount / worker1,所有请求都会转发给 Tomcat,包括 CSS/JS/图片。
  • 解决:只将动态请求(如 .jsp, .do, /api/)转发给 Tomcat,静态文件由 Apache 直接提供。

Q3: mod_jk 已弃用?

Linux Apache JK配置出错怎么办?apache jk mod_jk配置详解

  • 现状:mod_jk 确实已停止维护多年,Apache 官方推荐使用 mod_proxy_ajp 或 mod_proxy_http。
  • 替代方案:
    • mod_proxy_ajp: 配置更简单,无需 workers.properties。
      LoadModule proxy_module modules/mod_proxy.so
      LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
      ProxyPass /app ajp://localhost:8009/app
      ProxyPassReverse /app ajp://localhost:8009/app
    • mod_proxy_http: Tomcat 配置了 HTTP 连接器(默认 8080),可以使用 HTTP 协议转发。
      ProxyPass /app http://localhost:8080/app
      ProxyPassReverse /app http://localhost:8080/app

建议:如果是新项目,推荐使用 mod_proxy_ajp 或 mod_proxy_http,它们更轻量且维护更好。mod_jk 仅建议在遗留系统中使用。


特性 mod_jk mod_proxy_ajp
协议 AJP 1.3 AJP 1.3
配置文件 需要 workers.properties 直接在 Apache 配置中指定
维护状态 已停止维护 活跃维护
性能 良好 良好
推荐度 仅用于遗留系统 新项目推荐

如果你正在搭建新系统,建议直接使用 mod_proxy_ajp 或 mod_proxy_http,如果必须使用 mod_jk,请确保正确配置 workers.properties 和 JkMount。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/linux-apache-jk%e9%85%8d%e7%bd%ae%e5%87%ba%e9%94%99%e6%80%8e%e4%b9%88%e5%8a%9e%ef%bc%9fapache-jk-mod_jk%e9%85%8d%e7%bd%ae%e8%af%a6%e8%a7%a3/

赞 (0)
Excel表格怎么换行分列?
上一篇 2026年7月10日 05:18
H5本地数据库最大存储量是多少?indexedDB存储上限
下一篇 2026年7月10日 05:20

相关推荐

  • 酷狗直播服务器多少钱一年,哪家收费更低?

    酷狗直播服务器的价格没有固定值,通常取决于配置、带宽、线路和部署模式,月付成本从几百元到上万元不等,自购硬件加托管与纯云租用是两种截然不同的预算逻辑,作为在IDC行业摸爬滚打多年的服务商,我们见过太多用户一上来就问“多少钱”,但说实话,这个问题的答案得拆开来看,你是一个人做小型直播间,还是一个公会要做多路推流……

    2026年10月10日
    000
  • 购买一台服务器到底要多少钱,多少钱才够用?

    购买一台服务器的价格从几千元到数十万元不等,具体取决于CPU、内存、存储、带宽等核心配置,以及你选择物理机还是云服务器,服务器价格的核心决定因素硬件配置:CPU、内存、存储对价格的影响服务器CPU主要分Intel至强和AMD EPYC系列,入门级如E-2300系列,搭配16GB内存和2TB HDD,整机成本约3……

    2026年8月12日
    500
  • win7dns服务器地址是多少,如何更改DNS设置?

    Win7系统本身没有固定的DNS服务器地址,它是由网络运营商(如电信、联通)动态分配的,你也可以手动修改为公共DNS(如114.114.114.114或8.8.8.8)来提升解析速度或解决打不开网页的问题,这篇文章会从底层原理讲起,手把手教你查看、修改和验证Win7的DNS设置,并聊聊如何挑选靠谱的DNS服务商……

    2026年9月5日
    3100
  • 8卡T4服务器租用价格是多少,哪个平台更便宜?

    8卡T4服务器多少钱8卡T4服务器目前市场主流月租价格在6000元至15000元之间,整机采购价则在18万至35万元区间,具体取决于配置、带宽及IDC服务商资质,这个价格区间基于2026年国内主流云服务商和IDC机房的公开报价,其中GPU算力租赁已成企业AI推理落地的首选方式,一次性采购硬件反而不再是主流选择……

    2026年9月15日
    200
  • 萤石云APP服务器IP地址在哪看,如何获取?

    萤石云APP没有对外固定公布单一服务器IP地址,它连接的是域名调度的分布式云节点,当前IP会随地区、运营商、时间、负载变化;想查当前值,用 nslookup 或 dig 查 open.ys7.com、api.ys7.com 等域名即可,企业要固定出口则需通过持牌IDC中转或专线解决,萤石云APP服务器IP地址多……

    2026年10月16日
    000
  • 机房一台服务器功率多少瓦,服务器一天耗电多少度?

    机房一台服务器的功率通常在300瓦到500瓦之间,但具体数值由CPU型号、硬盘数量、GPU扩展卡和实际负载共同决定,一台满载的GPU服务器可以轻松突破2000瓦,这个数字不是拍脑袋定的,而是机房运维圈子里公认的实测范围,今天咱们就围绕“瓦数”这件事,把服务器功耗的老底翻出来,让你在选配置、报托管功率的时候心里有……

    2026年9月28日
    000
  • 三星64g服务器内存条现在多少钱,值得买吗

    三星64G服务器内存条的价格在2026年呈现出明显的代差分布,DDR4版本已降至千元以内,DDR5版本则普遍在千元出头,具体价格需结合频率、渠道和采购量综合判断,影响三星64G服务器内存条价格的关键因素内存代次:DDR4与DDR5的价差逻辑三星64GB服务器内存条主要分为DDR4和DDR5两代,DDR4经过多年……

    2026年7月26日
    1300
  • 五舟服务器出货量到底有多少,哪个型号值得买

    五舟服务器并没有公开发布过精确的年度出货量数字,但综合渠道覆盖、行业案例和供应链规模来看,其年出货量稳定在数千台量级,属于国产服务器品牌中务实生长的第二梯队成员,五舟是谁:先搞清楚品牌盘口再谈出货量讨论出货量之前,得先弄明白五舟到底是个什么体量的选手,五舟科技总部位于广州,主打国产企业级服务器和工作站,产品线覆……

    2026年10月19日
    100
  • mj大型计划最多能有多少个服务器?,服务器数量上限是多少?

    Mj大型计划最多可以容纳的服务器数量没有固定上限,实际部署规模取决于机房物理空间、电力容量、网络带宽以及IP资源调度策略,在当代数据中心实践中,一个典型的大型计划可承载数千至数万台服务器,具体数值需结合项目需求和基础设施规划,服务器数量上限的核心决定因素物理空间与机柜密度每台服务器占用机柜的U位空间,标准42U……

    2026年8月18日
    500
  • 搭建一个服务器需要多少钱,个人搭建服务器要多少钱一个月?

    服务器搭建一个多少钱,先给结论:按2026年主流云服务市场行情,个人或小型项目通常每年500元到1500元即可起步,中小企业常见区间为每年1500元到8000元,涉及物理服务器托管或高并发业务可能上升到每年1万元到3万元, 成本差异来自服务器类型、配置规格、带宽线路、防御能力以及服务商资质等级,不能只盯着首年促……

    2026年9月21日
    000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注