热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

解决Apache服务器启动故障记录

故障描述:在一台服务器上,以wacos用户启动apache进程,启动后立刻使用命令ps?ef|grephttpd能够看到一个进程被启动,但是稍候访问web界面就报错,再使用命令ps?ef|grephttpd,发现进程已经宕掉。询问现场工程师进行过的操作以后,得知之前进行了服
故障描述:
在一台服务器上,以wacos用户启动apache进程,启动后立刻使用命令ps ?ef | grep httpd能够看到一个进程被启动,但是稍候访问web界面就报错,再使用命令ps ?ef | grep httpd,发现进程已经宕掉。

    询问现场工程师进行过的操作以后,得知之前进行了服务端口的重新绑定。

    检查apache的错误日志文件error_log,发现有如下的告警:
[warn] pid file /opt/wacos/tools/apache/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?

怀疑与Apache的pid记录文件或者配置文件有关(因为现场改动了apache的监听端口)。于是打开两个登录窗口,一个窗口用tail ?f error_log监视错误日志文件的输出情况,另一个窗口则启动apache的服务。

    在启动apache后,发现错误日志文件输出如下内容:
[Thu Jun 24 21:54:27 2004] [warn] pid file /opt/wacos/tools/apache/logs/httpd.pid overwritten -- Unclean shutdown of previous Apache run?
fopen: Permission denied
httpd: could not log pid to file /opt/wacos/tools/apache/logs/httpd.pid

    进入到/opt/wacos/tools/apache/logs使用ls ?l httpd.pid检查httpd.pid文件的属性,发现该文件的属性如下:
-rw-r--r--   1 root    others            4 Jun 25 14:58 httpd.pid
    其属主是root,而且又没有向其他用户放开写权限,使用wacos用户启动apache,apache试图改写httpd.pid文件时,肯定就会失败了。而这个文件记录了apache启动后的进程标识(PID,Process ID),对于httpd服务有着及其重要的作用,这样httpd进程当然会退出了。

故障分析:
估计是有相关的人员在日常维护中,使用root用户启动apache,导致httpd.pid文件的属主变成了root,导致后来使用wacos用户启动apache时,Apache会尝试写httpd.pid以便记录自己的pid进程号,但是由于httpd.pid目前的属主是root使用wacos用户修改httpd.pid文件肯定会失败。

故障处理:
定位到了问题以后,采用了如下的解决方法。
    进入到/opt/wacos/tools/apache/logs目录,删除httpd.pid文件。然后以wacos用户重新启动apache,成功启动apache。

推荐阅读
  • Docker的安全基准
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 本文探讨了如何优化和正确配置Kafka Streams应用程序以确保准确的状态存储查询。通过调整配置参数和代码逻辑,可以有效解决数据不一致的问题。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • PHP 5.5.0rc1 发布:深入解析 Zend OPcache
    2013年5月9日,PHP官方发布了PHP 5.5.0rc1和PHP 5.4.15正式版,这两个版本均支持64位环境。本文将详细介绍Zend OPcache的功能及其在Windows环境下的配置与测试。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • 作为一名新手,您可能会在初次尝试使用Eclipse进行Struts开发时遇到一些挑战。本文将为您提供详细的指导和解决方案,帮助您克服常见的配置和操作难题。 ... [详细]
  • 如何在PHPCMS V9中实现多站点功能并配置独立域名与动态URL
    本文介绍如何在PHPCMS V9中创建和管理多个站点,包括配置独立域名、设置动态URL,并确保各子站能够正常运行。我们将详细讲解从新建站点到最终配置路由的每一步骤。 ... [详细]
  • 本文详细介绍了Java中org.w3c.dom.Text类的splitText()方法,通过多个代码示例展示了其实际应用。该方法用于将文本节点在指定位置拆分为两个节点,并保持在文档树中。 ... [详细]
  • 本文详细介绍了 Apache Jena 库中的 Txn.executeWrite 方法,通过多个实际代码示例展示了其在不同场景下的应用,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 本文详细介绍了 Java 中 org.apache.xmlbeans.SchemaType 类的 getBaseEnumType() 方法,提供了多个代码示例,并解释了其在不同场景下的使用方法。 ... [详细]
  • 本文介绍如何在Java项目中使用Log4j库进行日志记录。我们将详细说明Log4j库的引入、配置及简单应用,帮助开发者快速上手。 ... [详细]
  • 本文详细介绍了如何在ECharts中使用线性渐变色,通过echarts.graphic.LinearGradient方法实现。文章不仅提供了完整的代码示例,还解释了各个参数的具体含义及其应用场景。 ... [详细]
  • 在本周的白板演练中,Apache Flink 的 PMC 成员及数据工匠首席技术官 Stephan Ewen 深入探讨了如何利用保存点功能进行流处理中的数据重新处理、错误修复、系统升级和 A/B 测试。本文将详细解释保存点的工作原理及其应用场景。 ... [详细]
author-avatar
徐曼曼_
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有