Amazon EC2 - Apache server restart issue Amazon EC2 - Apache server restart issue apache apache

Amazon EC2 - Apache server restart issue


I ran into this problem when I installed apache from source, but then tried to run

$ sudo /etc/init.d/httpd restart 

which was using a pre-installed version of apache. The stop directive in /etc/init.d/httpd was not removing the httpd.pid file that was created when starting the source-installed version of apache.

To determine if this is also the reason for your problem, find where the httpd.pid file is getting set when you run

$ sudo apachectl start

If you installed from source and apache2 is living in /usr/local/apache2, then the httpd.pid file should get created in /usr/local/apache2/logs. When you stop apache by running

$ sudo apachectl stop

this file should get removed. So to test if the httpd.pid file is causing your problem, start apache by calling

$ sudo apachectl start

and locate the httpd.pid file. Then try stopping apache by using

$ sudo /etc/init.d/httpd stop

If the original httpd.pid file is still present, then that is why apache is unable to start when you use

$ sudo /etc/init.d/httpd start

To get my /etc/init.d/httpd file to work correctly, I explicitly put the call to apachectl in the start and stop methods:

#!/bin/bash# /etc/init.d/httpd## Path to the apachectl script, server binary, and short-form for messages. apachectl=/usr/local/apache2/bin/apachectl httpd=/usr/local/apache2/bin/httpd pid=/usr/local/apache2/logs/httpd.pid prog=httpd RETVAL=0start() {    echo -n $"Starting $prog: "    $apachectl -k start    RETVAL=$?    echo    return $RETVAL}stop() {    echo -n $"Stopping $prog: "    $apachectl -k stop    RETVAL=$?    echo}


I tried this and it works:

  1. sudo fuser -k -n tcp 80
  2. sudo service httpd start

Hope this will help you!

Cheers


I feel its better to kill the process itself, find out the process id and kill it and then do a fresh start, it should work fine