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

相关推荐

  • UCloud优刻得Elasticsearch服务UES好用吗?UES产品优势功能及价格

    UCloud优刻得Elasticsearch服务(UES)凭借全托管架构、金融级高可用及灵活计费模式,为企业解决自建ES集群运维复杂、资源利用率低及扩展困难的核心痛点,是追求稳定与效率并重的理想选择,为什么企业选择UCloud优刻得Elasticsearch服务UES在大数据检索与分析领域,自建Elastics……

    2026年6月20日
    3400
  • 如何减小备份占用空间?备份文件太大怎么办

    要有效减小备份占用空间,核心策略在于实施“增量备份机制、高倍数据压缩、重复数据删除技术以及定期清理历史版本”,这四项措施构成了备份空间优化的基石,能够将存储需求降低60%至90%,对于企业和个人用户而言,盲目增加存储硬件不仅成本高昂,而且管理效率低下,通过软件层面的优化策略,才是解决存储焦虑的根本途径, 采用高……

    2026年3月28日
    10600
  • AsiaVM新加坡VPS好用吗,新加坡VPS哪家稳定便宜

    AsiaVM新加坡VPS以每月8美元的极低门槛、KVM架构及不限流量特性,成为2026年追求高性价比与低延迟用户的优选方案,尤其适合需要高频数据传输或搭建跨境业务的小型团队,在云计算市场日益内卷的当下,寻找一款既稳定又便宜的VPS并非易事,许多用户往往在“低价低质”和“高价低配”之间徘徊,AsiaVM推出的这款……

    2026年7月7日
    16300
  • 简米云服务器2核2g能玩多少人,够用吗?

    2核2G的阿里云服务器,在合理优化下,网站场景可支撑日均5000-10000PV,游戏场景支持10-20人同时在线,接口服务能承载数百QPS,具体数值由应用类型、代码效率和带宽共同决定,影响并发承载力的核心因素硬件瓶颈:CPU与内存的实际分配2核CPU和2GB内存是云服务器的入门配置,在Linux系统中,操作系……

    2026年8月1日
    500
  • 国外业务中台方案特价吗?国外业务中台方案哪里买便宜

    构建国外业务中台不仅是IT架构的升级,更是企业全球化战略落地的核心引擎,在当前跨境电商与出海业务蓬勃发展的背景下,企业面临着多国法规差异、数据孤岛以及系统重复建设的痛点,核心结论在于:通过引入特价的专业中台方案,企业能够以最优的投入产出比,实现业务能力的复用与敏捷响应,从而在激烈的国际市场竞争中构建数字化护城河……

    2026年3月5日
    11900
  • 一台A100服务器到底有多少P算力,多少钱一台?

    一台搭载8张NVIDIA A100 GPU的服务器,在FP16精度下的理论算力约为2.5 PetaFLOPS,实际部署中需考虑精度、功耗、集群效率等因素,理解A100服务器的算力单位算力常用单位是FLOPS(每秒浮点运算次数),PetaFLOPS即千万亿次,A100基于Ampere架构,不同精度下的算力差异很大……

    2026年7月30日
    700
  • 2b2t基岩版服务器最新IP地址是多少?,怎么进

    2b2t服务器基岩版玩家使用最广泛的连接地址是 play.2b2tpe.com,该服务器是独立于原版2b2t的基岩版无政府服务器,保留了原版风格, 对于想直接体验无政府混乱乐趣的基岩版玩家,这是当前最可靠的选择,官方2b2t因协议限制仅支持Java版,但社区通过跨平台插件和独立服务器弥补了这一缺口,2b2t基岩……

    2026年8月5日
    1100
  • apache部署ftp服务器怎么做?ftp服务器搭建教程

    在Linux环境下构建文件传输服务,Apache软件基金会提供的Apache FtpServer是一个高性能、轻量级且基于Java开发的解决方案,相较于系统自带的vsftpd,Apache FtpServer具备跨平台优势,且提供了更灵活的用户管理API和更现代化的架构支持,是企业级应用和嵌入式场景中部署FTP……

    2026年3月19日
    11100
  • 白丝云圣何塞VPS好用吗?美国三网AS9929高速回程VPS推荐

    白丝云idc.best推出的美国圣何塞VPS凭借三网AS9929高速回程和极具竞争力的29元月付价格,成为国内用户搭建低延迟海外服务的首选方案,在服务器租赁市场日益内卷的当下,寻找一款既稳定又便宜的海外VPS并非易事,很多站长和技术人员都在纠结:既要低延迟访问国内,又要价格低廉,还要配置够用,白丝云idc.be……

    2026年6月29日
    1000
  • linux pq怎么安装使用,操作步骤有哪些

    Linux PQ(优先级队列)是系统管理进程调度顺序的核心机制,通过调整进程的nice值与实时优先级,你可以有效控制CPU资源分配,提升关键任务的响应速度,理解Linux PQ:进程优先级队列的本质在Linux内核中,PQ(Priority Queue)并非一个独立的软件,而是调度器管理进程优先级的数据结构,每……

    2026年7月22日
    500

发表回复

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