一般 Apache 伺服器不管版本是 v1.x 或是 v2.x 都會有以下的指令可以使用:
- start
- restart
- graceful
- stop
- graceful-stop
而我們如果要在不重新啓動 Apache 的情況下重新載入設定檔,就要用到 graceful 這個指令,它會傳送一個 SIGUSR1 的信號(signal)給 Apache 伺服器,讓 Apache 很優雅的(graceful)重新啓動。如果 Apache 本來就沒有在執行,那麼它會直接啟動(start)。
graceful 跟 restart 不太一樣,他不會像 restart 一樣直接中斷目前正在進行的連線,而是會等待所有的連線都結束之後,才會重新啟動、載入設定檔,並且重新開啟 log 紀錄檔。而 graceful 在重新啟動之前,也會使用 apache2ctl configtest 來測試設定檔是否正確。
而 graceful 的用法很簡單,就像這樣:
apache2ctl graceful
在 RHEL/CentOS Linux 中,可使用 Sys V init script 的方式:
/etc/init.d/httpd graceful
或是
/sbin/service httpd graceful
如果是 Debian / Ubuntu Linux 中,則可使用 reload 參數:
/etc/init.d/apache2 reload
在這裡的 reload 其實就是 graceful,它只是換一個讓人比較容易看得懂的字眼而已。
參考資料:nixCraft、apache2ctl(8)
沒有留言:
張貼留言