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://test.idctop.com/article/478317.html

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

相关推荐

  • A股服务器一秒可以处理多少次请求?,对交易速度有何影响?

    A股交易系统每秒处理请求的能力并非固定值,受发行机制、硬件配置、网络延迟等多因素影响,但核心撮合引擎通常可达每秒数十万到百万笔订单,解析A股交易系统的请求处理能力A股交易系统的请求处理能力是一个动态指标,它并非单一数值,而是由多个子系统共同作用的结果,理解这个能力,需要先拆解“请求”的构成,请求类型与处理路径交……

    2026年8月4日
    1700
  • 服务器客户端模型实验报告怎么写?,实验报告有哪些内容

    服务器客户端模型实验报告的核心价值在于通过动手实践验证Socket通信机制,并产出可量化的性能数据,这是理解网络编程原理最直接的方式,服务器客户端模型实验报告怎么写?核心要素与步骤实验目的与背景本次实验旨在让学生深入理解客户端-服务器(C/S)通信模型,掌握基于TCP/IP协议的Socket编程方法,通过搭建简……

    2026年8月5日
    400
  • linux定制镜像怎么制作?linux定制镜像详细教程

    Linux定制镜像的核心价值在于通过预装特定软件栈、固化系统配置和精简内核模块,实现业务环境的秒级启动与标准化交付,从而显著降低运维成本并消除“环境不一致”导致的故障风险,在云计算和容器化技术高度普及的今天,通用的Linux发行版镜像往往显得过于臃肿或配置不足,对于追求极致性能与稳定性的企业而言,从零构建或深度……

    2026年7月5日
    18800
  • 安全邮件数字证书有什么用?邮件安全证书怎么申请

    在当前复杂的网络环境下,电子邮件作为企业办公和个人通信的核心工具,正面临着窃听、篡改、钓鱼攻击以及身份伪造等多重威胁,核心结论是:部署安全邮件数字证书是解决邮件安全问题的根本途径,它通过非对称加密技术构建了“身份可信、内容保密、数据完整”的信任闭环,能够从源头上杜绝绝大多数邮件安全风险, 邮件安全现状与核心痛点……

    2026年3月23日
    9500
  • PacificRack洛杉矶QN机房VPS月均8美分起值得入手吗?洛杉矶无限流量VPS推荐

    PacificRack洛杉矶QN机房推出的KVM架构SSD无限流量VPS,以月均8美分起的极低门槛成为2026年高性价比建站与开发首选,配合专属优惠码及独立测试IP,彻底解决了传统低价VPS性能缩水与流量限制的痛点,在云计算市场内卷日益严重的2026年,寻找一款既便宜又稳定的VPS不再是简单的比价游戏,而是对底……

    2026年6月24日
    1700
  • 安卓mysql数据库导入失败怎么办?mysql数据库导入导出工具

    在安卓设备上导入MySQL数据库并非直接操作,而是通过Android Studio的Device File Explorer或ADB命令将SQLite数据库文件导出后,再迁移至PC端的MySQL服务器,核心在于解决数据格式兼容性与连接配置问题,很多开发者在从安卓应用迁移数据到后端MySQL时,常陷入“直接复制文……

    2026年6月1日
    3600
  • 七牛云私有云存储Kodo Enterprise优势是什么?私有云存储解决方案怎么选

    七牛云私有云存储Kodo Enterprise通过全栈自研架构与混合云协同能力,在保障数据绝对主权的前提下,实现了企业级存储的高可用、低成本与高性能,是金融、政务及大型制造行业解决数据合规与性能瓶颈的首选方案,在数字化转型的深水区,企业不再仅仅关注“存得下”,更在意“管得住”和“调得快”,传统的本地存储往往面临……

    2026年6月25日
    4700
  • 香港高防服务器防攻击效果好吗?香港高防服务器租赁哪家便宜

    香港高防服务器在应对大规模DDoS攻击时表现稳定,RAKsmart凭借40G至100G的硬防能力、20Mbps独享带宽及大陆精品网线路优化,是目前兼顾性价比与连接速度的优质选择,在跨境业务布局中,服务器稳定性直接决定业务生死,许多站长和运维人员常陷入两难:国内线路访问快但抗攻击能力有限,海外线路抗攻击强但延迟高……

    2026年7月6日
    17700
  • asp写入mysql数据库怎么操作?ASP报告信息详解

    ASP技术与MySQL数据库的结合,能够以极低的成本实现高性能的动态网站架构,其核心在于正确配置ODBC驱动并编写规范的SQL语句,确保数据写入的稳定性与安全性,对于开发者而言,掌握这一技术栈不仅能解决历史遗留系统的维护问题,还能在小规模应用中发挥其轻量级、部署便捷的优势,实现ASP写入MySQL数据库的高效运……

    2026年3月22日
    11900
  • 服务器动态技术到底是什么?,动态授权怎么操作?

    的技术体系,动态授权则是其中控制资源访问的核心安全机制,其操作流程通常依次包含身份验证、策略评估和动态执行三个关键步骤,服务器动态技术是什么?一文讲透核心原理服务器动态技术的核心原理服务器动态技术的核心是“按需生成”,当客户端发起请求,Web服务器(如Nginx、Apache)根据请求类型,将动态请求转发给对应……

    2026年8月5日
    800

发表回复

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