首页 文章

apache2每天都会崩溃1-3次

提问于
浏览
1

我正在使用apache 2.4运行debian服务器,并且运行php 7. * 1 - 每天3次我的网站关闭,我必须重新启动apache才能重新启动它 .

我对linux很新,所以我真的不知道如何调试apache:/

任何建议都非常有用!

服务器统计信息:

ram:32 Gb ram

高清:2x 256Gb ssh 600 / 600Mb

2个cpu与6核心我不记得cpu的统计数据

崩溃前的apache状态:

● apache2.service - LSB: Apache2 web server
   Loaded: loaded (/etc/init.d/apache2)
   Active: active (running) since Thu 2016-05-12 16:31:45 CEST; 2s ago
  Process: 1540 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS)
  Process: 27533 ExecReload=/etc/init.d/apache2 reload (code=exited, status=0/SUCCESS)
  Process: 1566 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/apache2.service
           ├─1581 /usr/sbin/apache2 -k start
           ├─1584 /usr/sbin/apache2 -k start
           ├─1585 /usr/sbin/apache2 -k start
           ├─1586 /usr/sbin/apache2 -k start
           ├─1587 /usr/sbin/apache2 -k start
           └─1588 /usr/sbin/apache2 -k start

May 12 16:31:45 something.com apache2[1566]: Starting web server: apac...
May 12 16:31:45 something.com systemd[1]: Started LSB: Apache2 web se....
Hint: Some lines were ellipsized, use -l to show in full.

崩溃后的apache状态:

apache2.service - LSB: Apache2 web server
   Loaded: loaded (/etc/init.d/apache2)
   Active: active (running) since Wed 2016-05-11 13:06:04 CEST; 1 day 3h ago
  Process: 16209 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS)
  Process: 27533 ExecReload=/etc/init.d/apache2 reload (code=exited, status=0/SUCCESS)
  Process: 16234 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/apache2.service
           ├─16249 /usr/sbin/apache2 -k start
           ├─16268 /usr/sbin/apache2 -k start
           ├─16290 /usr/sbin/apache2 -k start
           ├─16299 /usr/sbin/apache2 -k start
           ├─16382 /usr/sbin/apache2 -k start
           ├─16385 /usr/sbin/apache2 -k start
           ├─16388 /usr/sbin/apache2 -k start
           ├─16437 /usr/sbin/apache2 -k start
           ├─16513 /usr/sbin/apache2 -k start
           ├─16660 /usr/sbin/apache2 -k start
           ├─16930 /usr/sbin/apache2 -k start
           ├─16934 /usr/sbin/apache2 -k start
           ├─16946 /usr/sbin/apache2 -k start
           ├─16976 /usr/sbin/apache2 -k start
           ├─16983 /usr/sbin/apache2 -k start
           ├─16989 /usr/sbin/apache2 -k start
           ├─16991 /usr/sbin/apache2 -k start
           ├─17171 /usr/sbin/apache2 -k start
           ├─17190 /usr/sbin/apache2 -k start
           ├─17270 /usr/sbin/apache2 -k start
           ├─17319 /usr/sbin/apache2 -k start
           ├─17320 /usr/sbin/apache2 -k start
           ├─17377 /usr/sbin/apache2 -k start
           ├─17383 /usr/sbin/apache2 -k start
           ├─17387 /usr/sbin/apache2 -k start
           ├─17407 /usr/sbin/apache2 -k start
           ├─17412 /usr/sbin/apache2 -k start
           ├─17722 /usr/sbin/apache2 -k start
           ├─17750 /usr/sbin/apache2 -k start
           ├─17753 /usr/sbin/apache2 -k start
           ├─17756 /usr/sbin/apache2 -k start
           ├─17757 /usr/sbin/apache2 -k start
           ├─17836 /usr/sbin/apache2 -k start
           ├─17858 /usr/sbin/apache2 -k start
           ├─17873 /usr/sbin/apache2 -k start
           ├─17883 /usr/sbin/apache2 -k start
           ├─17885 /usr/sbin/apache2 -k start
           ├─17937 /usr/sbin/apache2 -k start
           ├─17938 /usr/sbin/apache2 -k start
           ├─17945 /usr/sbin/apache2 -k start
           ├─17949 /usr/sbin/apache2 -k start
           ├─17953 /usr/sbin/apache2 -k start
           ├─18006 /usr/sbin/apache2 -k start
           ├─18015 /usr/sbin/apache2 -k start
           ├─18080 /usr/sbin/apache2 -k start
           ├─18092 /usr/sbin/apache2 -k start
           ├─18097 /usr/sbin/apache2 -k start
           ├─18154 /usr/sbin/apache2 -k start
           ├─18223 /usr/sbin/apache2 -k start
           ├─18224 /usr/sbin/apache2 -k start
           ├─18226 /usr/sbin/apache2 -k start
           ├─18239 /usr/sbin/apache2 -k start
           ├─18342 /usr/sbin/apache2 -k start
           ├─18347 /usr/sbin/apache2 -k start
           ├─18348 /usr/sbin/apache2 -k start
           ├─18353 /usr/sbin/apache2 -k start
           ├─18364 /usr/sbin/apache2 -k start
           ├─18399 /usr/sbin/apache2 -k start
           ├─18403 /usr/sbin/apache2 -k start
           ├─18404 /usr/sbin/apache2 -k start
           ├─18419 /usr/sbin/apache2 -k start
           ├─18451 /usr/sbin/apache2 -k start
           ├─18526 /usr/sbin/apache2 -k start
           ├─18531 /usr/sbin/apache2 -k start
           ├─18583 /usr/sbin/apache2 -k start
           ├─18603 /usr/sbin/apache2 -k start
           ├─18628 /usr/sbin/apache2 -k start
           ├─18647 /usr/sbin/apache2 -k start
           ├─18697 /usr/sbin/apache2 -k start
           ├─18699 /usr/sbin/apache2 -k start
           ├─18706 /usr/sbin/apache2 -k start
           ├─18714 /usr/sbin/apache2 -k start
           ├─18731 /usr/sbin/apache2 -k start
           ├─18732 /usr/sbin/apache2 -k start
           ├─18736 /usr/sbin/apache2 -k start
           ├─18737 /usr/sbin/apache2 -k start
           ├─18754 /usr/sbin/apache2 -k start
           ├─18791 /usr/sbin/apache2 -k start
           ├─18804 /usr/sbin/apache2 -k start
           ├─18811 /usr/sbin/apache2 -k start
           ├─18812 /usr/sbin/apache2 -k start
           ├─18818 /usr/sbin/apache2 -k start
           ├─18819 /usr/sbin/apache2 -k start
           ├─18822 /usr/sbin/apache2 -k start
           ├─18832 /usr/sbin/apache2 -k start
           ├─18844 /usr/sbin/apache2 -k start
           ├─18845 /usr/sbin/apache2 -k start
           ├─18846 /usr/sbin/apache2 -k start
           ├─18852 /usr/sbin/apache2 -k start
           ├─18856 /usr/sbin/apache2 -k start
           ├─18919 /usr/sbin/apache2 -k start
           ├─18927 /usr/sbin/apache2 -k start
           ├─18934 /usr/sbin/apache2 -k start
           ├─18940 /usr/sbin/apache2 -k start
           ├─18956 /usr/sbin/apache2 -k start
           ├─18962 /usr/sbin/apache2 -k start
           ├─18967 /usr/sbin/apache2 -k start
           ├─18968 /usr/sbin/apache2 -k start
           ├─18973 /usr/sbin/apache2 -k start
           ├─18977 /usr/sbin/apache2 -k start
           ├─18983 /usr/sbin/apache2 -k start
           ├─19022 /usr/sbin/apache2 -k start
           ├─19076 /usr/sbin/apache2 -k start
           ├─19083 /usr/sbin/apache2 -k start
           ├─19095 /usr/sbin/apache2 -k start
           ├─19096 /usr/sbin/apache2 -k start
           ├─19107 /usr/sbin/apache2 -k start
           ├─19114 /usr/sbin/apache2 -k start
           ├─19116 /usr/sbin/apache2 -k start
           ├─19125 /usr/sbin/apache2 -k start
           ├─19126 /usr/sbin/apache2 -k start
           ├─19128 /usr/sbin/apache2 -k start
           ├─19130 /usr/sbin/apache2 -k start
           ├─19131 /usr/sbin/apache2 -k start
           ├─19139 /usr/sbin/apache2 -k start
           ├─19141 /usr/sbin/apache2 -k start
           ├─19143 /usr/sbin/apache2 -k start
           ├─19154 /usr/sbin/apache2 -k start
           ├─19158 /usr/sbin/apache2 -k start
           ├─19161 /usr/sbin/apache2 -k start
           ├─19166 /usr/sbin/apache2 -k start
           ├─19167 /usr/sbin/apache2 -k start
           ├─19168 /usr/sbin/apache2 -k start
           ├─19169 /usr/sbin/apache2 -k start
           ├─19171 /usr/sbin/apache2 -k start
           ├─19203 /usr/sbin/apache2 -k start
           ├─19204 /usr/sbin/apache2 -k start
           ├─19220 /usr/sbin/apache2 -k start
           ├─19222 /usr/sbin/apache2 -k start
           ├─19223 /usr/sbin/apache2 -k start
           ├─19225 /usr/sbin/apache2 -k start
           ├─19226 /usr/sbin/apache2 -k start
           ├─19227 /usr/sbin/apache2 -k start
           ├─19228 /usr/sbin/apache2 -k start
           ├─19232 /usr/sbin/apache2 -k start
           ├─19235 /usr/sbin/apache2 -k start
           ├─19236 /usr/sbin/apache2 -k start
           ├─19237 /usr/sbin/apache2 -k start
           ├─19238 /usr/sbin/apache2 -k start
           ├─19241 /usr/sbin/apache2 -k start
           ├─19243 /usr/sbin/apache2 -k start
           ├─19249 /usr/sbin/apache2 -k start
           ├─19252 /usr/sbin/apache2 -k start
           ├─19253 /usr/sbin/apache2 -k start
           ├─19255 /usr/sbin/apache2 -k start
           ├─19256 /usr/sbin/apache2 -k start
           ├─19268 /usr/sbin/apache2 -k start
           ├─19270 /usr/sbin/apache2 -k start
           ├─19276 /usr/sbin/apache2 -k start
           ├─19281 /usr/sbin/apache2 -k start
           └─19285 /usr/sbin/apache2 -k start

May 11 13:06:04 something.com apache2[16234]: Starting web server: apa...
May 11 13:06:04 something.com systemd[1]: Started LSB: Apache2 web se....
May 12 06:52:37 something.com systemd[1]: Reloading LSB: Apache2 web ....
May 12 06:52:38 something.com apache2[27533]: Reloading web server: ap...
May 12 06:52:38 something.com systemd[1]: Reloaded LSB: Apache2 web s....
Hint: Some lines were ellipsized, use -l to show in full.

apache2错误日志:

[Thu May 12 06:52:38.198334 2016] [ssl:warn] [pid 16249] AH01906: something.com:443:0 server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Thu May 12 06:52:38.198457 2016] [mpm_prefork:notice] [pid 16249] AH00163: Apache/2.4.10 (Debian) OpenSSL/1.0.1k configured -- resuming normal operations
[Thu May 12 06:52:38.198462 2016] [core:notice] [pid 16249] AH00094: Command line: '/usr/sbin/apache2'
[Thu May 12 16:31:43.877771 2016] [mpm_prefork:notice] [pid 16249] AH00169: caught SIGTERM, shutting down
[Thu May 12 16:31:44.905366 2016] [ssl:warn] [pid 1580] AH01906: something.com:443:0 server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Thu May 12 16:31:44.925525 2016] [ssl:warn] [pid 1581] AH01906: something.com:443:0 server certificate is a CA certificate (BasicConstraints: CA == TRUE !?)
[Thu May 12 16:31:44.926946 2016] [mpm_prefork:notice] [pid 1581] AH00163: Apache/2.4.10 (Debian) OpenSSL/1.0.1k configured -- resuming normal operations
[Thu May 12 16:31:44.926959 2016] [core:notice] [pid 1581] AH00094: Command line: '/usr/sbin/apache2'

网站配置:

<VirtualHost *:80>
        ServerAdmin webmaster@example.com
        ServerName  something.com
        ServerAlias www.something.com

        # Indexes + Directory Root.
        DocumentRoot /var/www/sitename/public_html/

         <Directory /var/www/sitename/public_html/>
                DirectoryIndex index.php
                Options indexes FollowSymLinks
                AllowOverride all
                Require all granted
        </Directory>

        # Logfiles
     ErrorLog /home/Glausten/website/sitename/logs/sitename_error_logs.log
     CustomLog /home/Glausten/website/sitename/logs/sitename_access_logs.log common
</VirtualHost>

#<VirtualHost *:80>
#        ServerAdmin webmaster@localhost
#        ServerName something.com
#        DocumentRoot /var/www/sitename/public_html/
#
#</VirtualHost>
#
#
#<IfModule mod_ssl.c>
#<VirtualHost *:443>
#
#        ServerAdmin something@gmail.com
#        ServerName something.com
#        DocumentRoot /var/www/sitename/public_html/
#
        #   SSL Engine Switch:
        #   Enable/Disable SSL for this virtual host.
#        SSLEngine on

        #   A self-signed (snakeoil) certificate can be created by installing
        #   the ssl-cert package. See
        #   /usr/share/doc/apache2.2-common/README.Debian.gz for more info.
        #   If both key and certificate are stored in the same file, only the
        #   SSLCertificateFile directive is needed.
#        SSLCertificateFile /etc/apache2/ssl/apache.crt
#        SSLCertificateKeyFile /etc/apache2/ssl/apache.key
#</VirtualHost>

#</IfModule>

还有什么我可以发布以帮助找到问题吗?

====================!=!=!=====================

我可能已经找到了问题

注意到错误日志中出现了一个新错误:

server reached MaxRequestWorkers setting

然后我开始googleing并在这个网站上受伤:

http://cloudinservice.com/tune-apache-performance-using-mpm-prefork-module/给了我一些关于在mpm-prefork模块中发生的事情

然后我注意到 MaxConnectionsPerChild 设置为0意味着如果我有一些内存泄漏的PHP脚本将继续增长并消耗更多的内存而不释放任何时间,这解释了为什么服务器突然下降我已经修改根据我的资源文件并重新启动apache .

我将会看到接下来几天的情况如何,如果它崩溃了,我会回来并发布这个作为答案 .

2 回答

  • 0

    您似乎必须根据服务器配置配置apache . 我对数字海洋和他的小水滴也有同样的问题 . 最好的方法是限制concurent连接 . 但是,如果您可以提供有关日志,机器配置的更多信息,您应该得到更好的答案

  • 1

    好的,所以根据您的硬件配置,可能是因为您使用的是小型服务器 . Digital ocean建议为小型机器创建一个apache配置文件,允许15个子进程(假设apache每个子进程使用10M) . 您可以编辑或创建 /etc/apache2/apache2.conf

    <IfModule mpm_prefork_module>
        StartServers          3
        MinSpareServers       3
        MaxSpareServers       5
        MaxClients           30
        MaxRequestsPerChild   0
    </IfModule>
    

    取自DigitalOcean

    这种配置对于使用10 M的apache子进程和具有512M ram的服务器来说已经足够了

相关问题