You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RHEL 8升级后httpd.service启动失败问题求助

RHEL 8升级后HTTPD启动失败问题排查与解决

问题背景

升级RHEL 8后执行systemctl start httpd失败,先后遇到两个核心错误:

  • 初始错误:/etc/httpd/conf/httpd.conf第59行语法错误
  • 修复语法错误后,出现More than one MPM loaded.配置错误

已尝试操作:安装mod_ssl、修改/etc/httpd/conf.d/ssl.conf的Listen配置为80、防火墙放行80/443端口,但问题未解决。

相关命令输出

启动httpd时的错误提示

# systemctl start httpd
Job for httpd.service failed because the control process exited with error code.
See "systemctl status httpd.service" and "journalctl -xe" for details.

journalctl -xe输出片段

# journalctl -xe
-- The unit man-db-cache-update.service has successfully entered the 'dead' state.
Nov 29 11:42:32 lab-sailpoint systemd[1]: Started man-db-cache-update.service.
-- Subject: Unit man-db-cache-update.service has finished start-up
-- Defined-By: systemd
-- Support: https://access.redhat.com/support
--
-- Unit man-db-cache-update.service has finished starting up.
--
-- The start-up result is done.
Nov 29 11:42:32 lab-sailpoint systemd[1]: run-rbd3d73a7e68848ab8cca4654b83e1581.service: Succeeded.
-- Subject: Unit succeeded
-- Defined-By: systemd
-- Support: https://access.redhat.com/support
--
-- The unit run-rbd3d73a7e68848ab8cca4654b83e1581.service has successfully entered the 'dead' state.
Nov 29 11:48:07 lab-sailpoint systemd[1]: Starting The Apache HTTP Server...
-- Subject: Unit httpd.service has begun start-up
-- Defined-By: systemd
-- Support: https://access.redhat.com/support
--
-- Unit httpd.service has begun starting up.
Nov 29 11:48:07 lab-sailpoint httpd[25392]: [Wed Nov 29 11:48:07.565438 2023] [so:warn] [pid 25392:tid 13>
Nov 29 11:48:07 lab-sailpoint httpd[25392]: [Wed Nov 29 11:48:07.565519 2023] [so:warn] [pid 25392:tid 13>
Nov 29 11:48:07 lab-sailpoint httpd[25392]: [Wed Nov 29 11:48:07.565527 2023] [so:warn] [pid 25392:tid 13>
Nov 29 11:48:07 lab-sailpoint httpd[25392]: [Wed Nov 29 11:48:07.565534 2023] [so:warn] [pid 25392:tid 13>
Nov 29 11:48:07 lab-sailpoint httpd[25392]: [Wed Nov 29 11:48:07.565541 2023] [so:warn] [pid 25392:tid 13>
Nov 29 11:48:07 lab-sailpoint httpd[25392]: [Wed Nov 29 11:48:07.565547 2023] [so:warn] [pid 25392:tid 13>
Nov 29 11:48:07 lab-sailpoint httpd[25392]: [Wed Nov 29 11:48:07.565554 2023] [so:warn] [pid 25392:tid 13>
Nov 29 11:48:07 lab-sailpoint httpd[25392]: [Wed Nov 29 11:48:07.565561 2023] [so:warn] [pid 25392:tid 13>
Nov 29 11:48:07 lab-sailpoint httpd[25392]: [Wed Nov 29 11:48:07.565568 2023] [so:warn] [pid 25392:tid 13>
Nov 29 11:48:07 sailpoint httpd[25392]: [Wed Nov 29 11:48:07.565575 2023] [so:warn] [pid 25392:tid 13>
Nov 29 11:48:07 sailpoint httpd[25392]: [Wed Nov 29 11:48:07.565582 2023] [so:warn] [pid 25392:tid 13>
Nov 29 11:48:07 sailpoint httpd[25392]: httpd: Syntax error on line 59 of /etc/httpd/conf/httpd.conf:>
Nov 29 11:48:07 sailpoint systemd[1]: httpd.service: Main process exited, code=exited, status=1/FAILU>

服务状态列表

# systemctl list-unit-files | egrep 'httpd|sshd|mattermost'
httpd.service                                 disabled
httpd@.service                                disabled
sshd-keygen@.service                          disabled
sshd.service                                  enabled
sshd@.service                                 static
httpd.socket                                  disabled
sshd.socket                                   disabled
sshd-keygen.target                            static

启用httpd后status输出

# systemctl status httpd.service
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Wed 2023-11-29 13:25:25 EST; 7s ago
     Docs: man:httpd.service(8)
  Process: 2596 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE)
 Main PID: 2596 (code=exited, status=1/FAILURE)

Nov 29 13:25:25 sailpoint httpd[2596]: [Wed Nov 29 13:25:25.454837 2023] [so:warn] [pid 2596:tid 1399>
Nov 29 13:25:25 sailpoint httpd[2596]: [Wed Nov 29 13:25:25.454848 2023] [so:warn] [pid 2596:tid 1399>
Nov 29 13:25:25 sailpoint httpd[2596]: [Wed Nov 29 13:25:25.454856 2023] [so:warn] [pid 2596:tid 1399>
Nov 29 13:25:25 sailpoint httpd[2596]: [Wed Nov 29 13:25:25.454867 2023] [so:warn] [pid 2596:tid 1399>
Nov 29 13:25:25 sailpoint httpd[2596]: [Wed Nov 29 13:25:25.454875 2023] [so:warn] [pid 2596:tid 1399>
Nov 29 13:25:25 sailpoint httpd[2596]: [Wed Nov 29 13:25:25.454886 2023] [so:warn] [pid 2596:tid 1399>
Nov 29 13:25:25 sailpoint httpd[2596]: AH00534: httpd: Configuration error: `More than one MPM loaded.`
Nov 29 13:25:25 sailpoint systemd[1]: httpd.service: Main process exited, code=exited, status=1/FAILU>
Nov 29 13:25:25 sailpoint systemd[1]: httpd.service: Failed with result 'exit-code'.
Nov 29 13:25:25 sailpoint systemd[1]: Failed to start The Apache HTTP Server.

端口配置检查

# grep '80' /etc/httpd/conf.d/*  # 无输出
# grep '443' /etc/httpd/conf.d/*  # 有结果

解决步骤

1. 修复httpd.conf第59行语法错误

先查看该行具体内容:

cat /etc/httpd/conf/httpd.conf | sed -n '59p'

根据输出修正语法问题(比如指令拼写错误、括号不闭合、路径无效等)。

2. 解决多MPM加载问题

Apache在RHEL 8中仅允许加载一个MPM模块(prefork/worker/event),需确保配置中只启用一个:

  • 查看当前加载的MPM模块:
httpd -M | grep mpm
  • 编辑/etc/httpd/conf.modules.d/00-mpm.conf,注释掉多余的MPM模块,只保留一个(例如保留event模块):
# LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
# LoadModule mpm_worker_module modules/mod_mpm_worker.so
LoadModule mpm_event_module modules/mod_mpm_event.so
  • 验证配置:
httpd -t

3. 恢复正确的端口监听配置

将/etc/httpd/conf.d/ssl.conf的Listen配置改回443(SSL默认端口),并在主配置中添加80端口监听:

echo "Listen 80" >> /etc/httpd/conf/httpd.conf
sed -i 's/Listen 80/Listen 443/' /etc/httpd/conf.d/ssl.conf

4. 验证并重启服务

httpd -t  # 检查配置语法
systemctl restart httpd
systemctl status httpd

内容的提问来源于stack exchange,提问作者Bach-Nga

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 05:05:56