Внезапно Apache перестает работать

Мой сервер apache перестает работать, и я не знаю, как это решить. У меня есть два WordPress и Redmine на этом сервере. Через несколько часов это останавливается. Я могу пропинговать сервер, но когда я пытаюсь получить Интернет с помощью браузера, он не отвечает. Если я перезапускаю apache ("перезапуск службы apache2"), он снова работает правильно.

Моя версия 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 xxx@xxx.com
    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 тоже не будет вызываться, потому что он обслуживается из кэша веб-сервера. Для дальнейшей разгрузки ресурсов вы можете рассмотреть CDN для изображений и статических ресурсов, таких как файлы CSS и JS.

Другие вопросы по тегам