突然,Apache 停止工作

突然,Apache 停止工作

我的 apache 服务器停止工作,我不知道如何解决。我有两个 wordpress 和一个 redmine 在该服务器上运行。几个小时后它停止工作。我可以 ping 服务器,但当我尝试使用浏览器访问网络时它没有响应。如果我重新启动 apache(“service apache2 restart”)它就会再次正常工作。

我的Apache版本:

Server version: Apache/2.4.10 (Debian)
Server built:   Aug 31 2015 00:01:48
Server's Module Magic Number: 20120211:37
Server loaded:  APR 1.5.1, APR-UTIL 1.5.4
Compiled using: APR 1.5.1, APR-UTIL 1.5.4
Architecture:   32-bit

/var/log/apache2/acces.log 或 /var/log/apache2/error.log 上没有信息

Apache 正在运行许多进程,也许服务器内存不足。

当我运行“service apache2 status”时,我得到了这个:

● apache2.service - LSB: Apache2 web server
   Loaded: loaded (/etc/init.d/apache2)

   Active: active (running) since Thu 2016-04-28 06:05:10 UTC; 1h 51min ago

  Process: 20345 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS)

  Process: 21763 ExecReload=/etc/init.d/apache2 reload (code=exited, status=0/SUCCESS)

  Process: 20371 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS)

   CGroup: /system.slice/apache2.service

           ├─20406 /usr/sbin/apache2 -k start
           ├─20428 /usr/sbin/apache2 -k start
           ├─20429 /usr/sbin/apache2 -k start
           ├─20430 /usr/sbin/apache2 -k start
           ├─20431 /usr/sbin/apache2 -k start
           ├─20432 /usr/sbin/apache2 -k start
           ├─20436 /usr/sbin/apache2 -k start
           ├─20437 /usr/sbin/apache2 -k start
           ├─20438 /usr/sbin/apache2 -k start
           ├─20439 /usr/sbin/apache2 -k start
           ├─20440 /usr/sbin/apache2 -k start
           ├─20441 /usr/sbin/apache2 -k start
           ├─20442 /usr/sbin/apache2 -k start
           ├─20451 /usr/sbin/apache2 -k start
           ├─20465 /usr/sbin/apache2 -k start
           ├─20466 /usr/sbin/apache2 -k start
           ├─20467 /usr/sbin/apache2 -k start
           ├─20471 /usr/sbin/apache2 -k start
           ├─20474 /usr/sbin/apache2 -k start
           ├─20476 /usr/sbin/apache2 -k start
           ├─20478 /usr/sbin/apache2 -k start
           ├─20482 /usr/sbin/apache2 -k start
           ├─20485 /usr/sbin/apache2 -k start
           ├─20486 /usr/sbin/apache2 -k start
           ├─20490 /usr/sbin/apache2 -k start
           ├─20498 /usr/sbin/apache2 -k start
           ├─20505 /usr/sbin/apache2 -k start
           ├─20506 /usr/sbin/apache2 -k start
           ├─20507 /usr/sbin/apache2 -k start
           ├─20520 /usr/sbin/apache2 -k start
           ├─20521 /usr/sbin/apache2 -k start
           ├─20527 /usr/sbin/apache2 -k start
           ├─20528 /usr/sbin/apache2 -k start
           ├─20530 /usr/sbin/apache2 -k start
           ├─20545 /usr/sbin/apache2 -k start
           ├─20558 /usr/sbin/apache2 -k start
           ├─20561 /usr/sbin/apache2 -k start
           ├─20566 /usr/sbin/apache2 -k start
           ├─20568 /usr/sbin/apache2 -k start
           ├─20569 /usr/sbin/apache2 -k start
           ├─20577 /usr/sbin/apache2 -k start
           ├─20592 /usr/sbin/apache2 -k start
           ├─20598 /usr/sbin/apache2 -k start
           ├─20600 /usr/sbin/apache2 -k start
           ├─20615 /usr/sbin/apache2 -k start
           ├─20618 /usr/sbin/apache2 -k start
           ├─20621 /usr/sbin/apache2 -k start
           ├─20623 /usr/sbin/apache2 -k start
           ├─20636 /usr/sbin/apache2 -k start
           ├─20638 /usr/sbin/apache2 -k start
           ├─20653 /usr/sbin/apache2 -k start
           ├─20655 /usr/sbin/apache2 -k start
           ├─20656 /usr/sbin/apache2 -k start
           ├─20674 /usr/sbin/apache2 -k start
           ├─20675 /usr/sbin/apache2 -k start
           ├─20679 /usr/sbin/apache2 -k start
           ├─20680 /usr/sbin/apache2 -k start
           ├─20725 /usr/sbin/apache2 -k start
           ├─20729 /usr/sbin/apache2 -k start
           ├─20731 /usr/sbin/apache2 -k start
           ├─20732 /usr/sbin/apache2 -k start
           ├─20756 /usr/sbin/apache2 -k start
           ├─20762 /usr/sbin/apache2 -k start
           ├─20763 /usr/sbin/apache2 -k start
           ├─20781 /usr/sbin/apache2 -k start
           ├─20785 /usr/sbin/apache2 -k start
           ├─20790 /usr/sbin/apache2 -k start
           ├─20792 /usr/sbin/apache2 -k start
           ├─20800 /usr/sbin/apache2 -k start
           ├─20809 /usr/sbin/apache2 -k start
           ├─20810 /usr/sbin/apache2 -k start
           ├─20811 /usr/sbin/apache2 -k start
           ├─20823 /usr/sbin/apache2 -k start
           ├─20834 /usr/sbin/apache2 -k start
           ├─20837 /usr/sbin/apache2 -k start
           ├─20838 /usr/sbin/apache2 -k start
           ├─20839 /usr/sbin/apache2 -k start
           ├─20846 /usr/sbin/apache2 -k start
           ├─20864 /usr/sbin/apache2 -k start
           ├─20866 /usr/sbin/apache2 -k start
           ├─20867 /usr/sbin/apache2 -k start
           ├─20872 /usr/sbin/apache2 -k start
           ├─20893 /usr/sbin/apache2 -k start
           ├─20894 /usr/sbin/apache2 -k start
           ├─20900 /usr/sbin/apache2 -k start
           ├─20911 /usr/sbin/apache2 -k start
           ├─20914 /usr/sbin/apache2 -k start
           ├─20915 /usr/sbin/apache2 -k start
           ├─20916 /usr/sbin/apache2 -k start
           ├─20918 /usr/sbin/apache2 -k start
           ├─20936 /usr/sbin/apache2 -k start
           ├─20942 /usr/sbin/apache2 -k start
           ├─20951 /usr/sbin/apache2 -k start
           ├─20954 /usr/sbin/apache2 -k start
           ├─20955 /usr/sbin/apache2 -k start
           ├─20957 /usr/sbin/apache2 -k start
           ├─20958 /usr/sbin/apache2 -k start
           ├─20961 /usr/sbin/apache2 -k start
           ├─20965 /usr/sbin/apache2 -k start
           ├─20968 /usr/sbin/apache2 -k start
           ├─20974 /usr/sbin/apache2 -k start
           ├─20977 /usr/sbin/apache2 -k start
           ├─20978 /usr/sbin/apache2 -k start
           ├─20991 /usr/sbin/apache2 -k start
           ├─20996 /usr/sbin/apache2 -k start
           ├─21002 /usr/sbin/apache2 -k start
           ├─21003 /usr/sbin/apache2 -k start
           ├─21006 /usr/sbin/apache2 -k start
           ├─21015 /usr/sbin/apache2 -k start
           ├─21021 /usr/sbin/apache2 -k start
           ├─21031 /usr/sbin/apache2 -k start
           ├─21045 /usr/sbin/apache2 -k start
           ├─21057 /usr/sbin/apache2 -k start
           ├─21063 /usr/sbin/apache2 -k start
           ├─21066 /usr/sbin/apache2 -k start
           ├─21067 /usr/sbin/apache2 -k start
           ├─21078 /usr/sbin/apache2 -k start
           ├─21079 /usr/sbin/apache2 -k start
           ├─21087 /usr/sbin/apache2 -k start
           ├─21090 /usr/sbin/apache2 -k start
           ├─21091 /usr/sbin/apache2 -k start
           ├─21120 /usr/sbin/apache2 -k start
           ├─21128 /usr/sbin/apache2 -k start
           ├─21129 /usr/sbin/apache2 -k start
           ├─21130 /usr/sbin/apache2 -k start
           ├─21138 /usr/sbin/apache2 -k start
           ├─21145 /usr/sbin/apache2 -k start
           ├─21147 /usr/sbin/apache2 -k start
           ├─21148 /usr/sbin/apache2 -k start
           ├─21149 /usr/sbin/apache2 -k start
           ├─21151 /usr/sbin/apache2 -k start
           ├─21154 /usr/sbin/apache2 -k start
           ├─21164 /usr/sbin/apache2 -k start
           ├─21165 /usr/sbin/apache2 -k start
           ├─21171 /usr/sbin/apache2 -k start
           ├─21176 /usr/sbin/apache2 -k start
           ├─21178 /usr/sbin/apache2 -k start
           ├─21790 PassengerWatchdog
           ├─21794 PassengerHelperAgent
           ├─21801 PassengerLoggingAgent
           ├─21902 /usr/sbin/apache2 -k start
           ├─21932 /usr/sbin/apache2 -k start
           ├─21986 /usr/sbin/apache2 -k start
           ├─22019 /usr/sbin/apache2 -k start
           ├─22030 /usr/sbin/apache2 -k start
           ├─22050 /usr/sbin/apache2 -k start
           ├─22071 /usr/sbin/apache2 -k start
           ├─22072 /usr/sbin/apache2 -k start
           ├─22085 /usr/sbin/apache2 -k start
           ├─22107 /usr/sbin/apache2 -k start
           ├─22126 /usr/sbin/apache2 -k start
           ├─22149 /usr/sbin/apache2 -k start
           ├─22331 /usr/sbin/apache2 -k start
           └─22527 /usr/sbin/apache2 -k start

Apr 28 06:05:09 onyserver1 apache2[20371]: Starting web server: apache2AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 10.1.46.47. Set the 'ServerName' directive gl
obally to suppress this message

Apr 28 06:05:10 onyserver1 apache2[20371]: .

Apr 28 06:05:10 onyserver1 systemd[1]: Started LSB: Apache2 web server.

Apr 28 06:25:07 onyserver1 systemd[1]: Reloading LSB: Apache2 web server.

Apr 28 06:25:07 onyserver1 apache2[21763]: Reloading web server: apache2.

Apr 28 06:25:07 onyserver1 systemd[1]: Reloaded LSB: Apache2 web server.

我的Apache配置:

WordPress:

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName blog.xxx.com

    DocumentRoot /var/www/xxx
    <Directory />
        Options FollowSymLinks
        AllowOverride All
    </Directory>
    <Directory /var/www/xxx>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>
</VirtualHost>

Redmine:

<VirtualHost *:80>
    ServerName redmine.xxx.com 
    # this is the passenger config
    RailsEnv production
    SetEnv X_DEBIAN_SITEID "default"
    PassengerDefaultUser www-data
    Alias "/plugin_assets/" /var/cache/redmine/default/plugin_assets/
    DocumentRoot /usr/share/redmine/public
    <Directory "/usr/share/redmine/public">
    Allow from all
    Options -MultiViews
    Require all granted
    </Directory>
</VirtualHost>

有什么建议吗?

提前致谢。

答案1

Nginx 声称并且被发现在内存使用方面更高效。因此您可以考虑将 Apache 换成 Nginx。

我还推荐 Monit。这是一个监控工具,可让您轻松检查 Apache 是否仍在运行,以及内存是否已完全耗尽。然后,您可以设置规则,例如在 Apache 停机或内存不足时重新启动它。这样,当它停机时,它将自动重新启动,几乎没人会注意到这个问题。

如果你真的想找出原因,那么你必须从收集一些日志开始。你说它们现在是空的,所以检查它们是否已启用、可写等。

最后,为了减轻系统处理静态 WordPress 页面的负担,我建议您使用 WordFence Falcon 网络服务器缓存。这样,PHP 的工作量就会大大减少,MySQL 也不会被调用,因为它是从网络服务器缓存中获取服务的。为了进一步减轻资源负担,您可以考虑为图像和静态资产(如 CSS 和 JS 文件)使用 CDN。

相关内容