AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 645151
Accepted
SamCulley
SamCulley
Asked: 2014-11-19 00:07:44 +0800 CST2014-11-19 00:07:44 +0800 CST 2014-11-19 00:07:44 +0800 CST

httpd 未启动,因为 /run/httpd 丢失

  • 772

httpd 无法在我的一台运行 centos 7 的服务器上启动,因为缺少 /run/httpd,这意味着 httpd 无法创建 /run/httpd/httpd.pid 并因此无法启动。

我的问题是,为什么 /run/httpd 被删除。我没有删除目录。

从基本 CentOS 存储库运行 httpd-2.4.6-18.el7.centos.x86_64

centos
  • 1 1 个回答
  • 6053 Views

1 个回答

  • Voted
  1. Best Answer
    Art Hill
    2016-05-06T15:35:55+08:002016-05-06T15:35:55+08:00

    我有一个类似的问题,结果证明是一个 systemd 问题......不像 systemd 的问题,而是因为我不了解如何使用它。

    所以,/run曾经在/var/run,它曾经或多或少是持久的(如果我理解正确的话)。现在,它通常位于 fstmp 文件系统中,因此重新启动会删除/run. 这可以通过告诉 systemd 服务需要一个/run目录来纠正:

    我的tomcat.service文件在这样的时候失败了:

    [Unit]
    Description=Apache Tomcat Web Application Container
    After=syslog.target network.target
    
    [Service]
    Type=forking
    
    Environment=CATALINA_PID=/run/tomcat/tomcat.pid
    Environment=CATALINA_HOME=/usr/share/tomcat8/
    Environment=CATALINA_BASE=/usr/share/tomcat8/
    Environment='CATALINA_OPTS=-server -XX:+UseParallelGC -Dsun.net.inetaddr.ttl=30'
    Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
    
    ExecStart=/usr/share/tomcat8/bin/startup.sh
    ExecStop=/bin/kill -15 $MAINPID
    PIDFile=/run/tomcat/tomcat.pid
    SuccessExitStatus=143
    
    User=tomcat
    Group=tomcat
    
    [Install]
    WantedBy=multi-user.target
    

    它在这样的时候起作用:

    [Unit]
    Description=Apache Tomcat Web Application Container
    After=syslog.target network.target
    
    [Service]
    Type=forking
    
    Environment=CATALINA_PID=/run/tomcat/tomcat.pid
    Environment=CATALINA_HOME=/usr/share/tomcat8/
    Environment=CATALINA_BASE=/usr/share/tomcat8/
    Environment='CATALINA_OPTS=-server -XX:+UseParallelGC -Dsun.net.inetaddr.ttl=30'
    Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
    
    RuntimeDirectory=tomcat
    RuntimeDirectoryMode=775
    ExecStart=/usr/share/tomcat8/bin/startup.sh
    ExecStop=/bin/kill -15 $MAINPID
    PIDFile=/run/tomcat/tomcat.pid
    SuccessExitStatus=143
    
    User=tomcat
    Group=tomcat
    
    [Install]
    WantedBy=multi-user.target
    

    我只需要执行上述操作,因为我们“推出了自己的”tomcat 以获得更新版本的tomcat。

    但是,有时我们在使用 apache 时也会遇到同样的错误,但原因不同:显然,问题归结为我们在安装 httpd 之前绑定到 ldap 服务器,而 ldap 服务器有一个 apache 用户和组。当 apache 安装脚本看到用户和组时,它没有创建本地用户和组。systemd-tmpfiles-setup.service但是,当服务在引导时运行时,ldap 用户和组有时不可用(网络速度慢?) 。该服务是创建运行时目录的另一种方式......所以我们强制使用本地 apache 用户和组(具有与 ldap 中列出的相同的 uid/gid),一切都很好。

    我绝不是这方面的专家,我主要是在记录我们的高级人员在尝试使用 Puppet 编排 apache/tomcat 应用程序时发现的内容。我希望这可以帮助别人。

    还有其他与此相关的帖子: Apache's PidFile directory are removed every boot

    • 3

相关问题

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 使用 crontab 和 /etc/cron.hourly,daily,weekly 的区别

  • 持续监控许多服务器运行状况的简单方法?

  • Hudson 无法在 tomcat5 中启动

  • CentOS 的依赖挑战

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve