-1

my apache server stops working and I don't know how to solve it. I have two wordpress and a redmine running on that server. After few hours it stops. I can ping the server, but when I try to get the web with a browser it doesn't respond. If I restart apache ("service apache2 restart") it works properly again.

My apache version:

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

There's no info on /var/log/apache2/acces.log or /var/log/apache2/error.log

Apache is running a lot of process and maybe the server is running out of memory.

When I run 'service apache2 status' I get this:

● 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.

My apache configurations:

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>

Any suggestion?

Thanks in advance.

Jenny D
  • 27,358
  • 21
  • 74
  • 110
  • 2
    is there anything on the `error_log` when shutting down. Also, is there anything on your systems' logs? – sysfiend Apr 28 '16 at 08:33
  • @Pablo, As soon as you start web server, use strace to see what it's doing. – serverliving.com Apr 28 '16 at 08:47
  • I'm not that familiar with Apache, but that's a lot of processes / threads it seems to be running. I suggest looking into that. – Tim Apr 28 '16 at 09:10
  • 1
    @Tim: This can be quite normal with the preforking MPM. It will start a number of processes to handle requests - how much is configurable. – Sven Apr 28 '16 at 09:24
  • 3
    This question needs more details. As an example: You say you suspect an OOM situation. So did you check into this? What does the syslog say? What's the output of `free` and/or `top`? Also, it is just stopping to process dynamic pages or static pages as well? – Sven Apr 28 '16 at 10:29
  • 1
    I'm new to sysadmin. I'm doing my best. I was stuck and I didn't know where to to look up for more information. I'll check your suggestions. I hope I get more info. Thanks – Pablo Vieytes Apr 29 '16 at 09:10

1 Answers1

-5

Nginx claims and is found to be more efficient with memory use. So you could consider swapping Apache for Nginx.

I also recommend Monit. It's a monitoring tool which allows you to easily check whether Apache is still up and running, and whether your memory is fully consumed. You can then set up rules, for example to restart Apache when it's down, or when you run out of memory. That way, when it goes down, it'll be restarted automatically and hardly anyone will have noticed the problem.

If you really want to find out the cause, then you must start with gathering some logs. You say they are empty now, so check they they are enabled, writable etc.

Lastly, to offload the system for processing static WordPress pages, I recommend you use WordFence Falcon webserver caching. That way PHP has far less to do, MySQL won't be called either, because it gets served from the webserver cache. To further offload resources, you can consider a CDN for images and static assets like CSS and JS files.

JayMcTee
  • 3,763
  • 12
  • 20