【问题标题】:Why I can't reload apache2 on Ubuntu?为什么我不能在 Ubuntu 上重新加载 apache2?
【发布时间】:2016-09-24 16:44:34
【问题描述】:

在 Ubuntu 上,每次我使用 sudo service apache2 reload 命令重新加载 apache2 服务时,我的终端都会显示

apache2.service is not active, cannot reload.     

而且,我正在尝试将 phpMyAdmin 添加为虚拟主机,使用 phpmyadmin.local 作为局域网域名;谁能告诉我怎么做?今天试了很多次,搜了很多方法,到现在还是404 not found

【问题讨论】:

    标签: apache virtualhost


    【解决方案1】:

    实际上你应该检查是否有另一个服务/服务器在端口 80 中运行:

    sudo netstat -tulpn | grep :80
    

    如果不是 apache2,请停止它(对我来说它是 lighttpd 所以sudo service lighttpd stop

    然后启动 apache2 (sudo service apache2 start) 享受吧!

    【讨论】:

    • 很棒的提示!谢谢,这正是我的问题,已经启动并运行了一些 NGINX 服务器:)
    • 救命稻草!到底是怎么回事,为什么 nginx 会自己运行!?
    • 您在 2021 年仍在拯救生命,哈哈。感谢兄弟的提示!
    【解决方案2】:

    我在 Ubuntu 16.04 上遇到了同样的问题。这导致 logrotate 出现问题,因为它在旋转日志后无法重新加载 Apache。

    我得到的完整错误:

    /etc/init.d/apache2 reload
    [....] Reloading apache2 configuration (via systemctl):    apache2.serviceapache2.service is not active, cannot reload.
     failed!
    

    在使用 apachectl 停止 Apache 并使用 /etc/init.d/apache2 启动它后,问题就消失了:

    apachectl stop
    /etc/init.d/apache2 start
    

    您现在可以重新加载 Apache:

    /etc/init.d/apache2 reload
    [ ok ] Reloading apache2 configuration (via systemctl): apache2.service.
    

    如果您使用apachectl start 启动 Apache,它不会被标记为活动服务,因此您无法使用service apache2 reload 重新加载它。您必须使用 /etc/init.d/apache2 startservice apache2 start 启动 Apache。

    我不确定这是故意的还是错误的。我无法用旧系统重现此问题。

    【讨论】:

    • 这个解决方案也对我有用,我仍然对原因感到困惑,有点害怕不知道,但至少这是一个修复。
    【解决方案3】:

    检查您是否缺少/usr/sbin/apache2 那么如果你跑了:sudo apt install --reinstall apache2-bin

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-27
      • 2016-09-03
      • 2018-08-26
      • 2012-05-21
      • 1970-01-01
      • 1970-01-01
      • 2016-03-23
      • 2017-09-20
      相关资源
      最近更新 更多