CentOS 7 – How to Graceful Restart Apache

apache-2.4centos7

My system is centos 7.4, with apache 2.4
Based on apache manual,apachectl -k graceful should be the way to graceful restart apache, but I got notice as below:

[root@localhost root]# apachectl -k graceful
Passing arguments to httpd using apachectl is no longer supported.
You can only start/stop/restart httpd using this script.
If you want to pass extra arguments to httpd, edit the
/etc/sysconfig/httpd config file.

What's the problem?
How to Graceful Restart Apache in centos 7?

Best Answer

Please see this page on apachectl, which appears to be a new version: https://httpd.apache.org/docs/2.4/programs/apachectl.html

There is no need to pass the '-k' argument. apachectl graceful (without the -k) works just fine for a graceful reload/restart on my Centos7 box and Centos6 box.

Apparently nobody updated the manual page OP cited in her question, which still exists, and where the commands are shown with the '-k' argument throughout (apachectl -k graceful, apachectl -k restart, etc.) There's no explanation on that page about what the -k argument is actually doing, however.

But on the newer page there is this note on about apachectl graceful:

This is equivalent to apachectl -k graceful.

On my Centos6 box, I had been using the command service httpd graceful. That no longer worked on Centos7. It's necessary to use apachectl graceful to do the equivalent on Centos 7. Also apachectl graceful works just fine on Centos 6.