启动和停止 Apache2 服务器?

启动和停止 Apache2 服务器?

/etc/init.d/apache2 stop | start | restart 有效,但是我在 apache 和 apache2 的手册页中查找,我唯一能看到的是:

apache2ctl 停止| 启动| ...

有人可以解释一下第二条命令以及它为什么不起作用吗?

答案1

apachectl 脚本可以以两种模式运行。首先,它可以充当 httpd 命令的简单前端,只需设置任何必要的环境变量,然后调用 httpd,传递任何命令行参数。其次,apachectl 可以充当 SysV init 脚本,接受简单的单词参数(如 start、restart 和 stop),并将它们转换为发送给 httpd 的适当信号。

您可以通过简单的 bash 脚本使用 apachectl,简单地包装调用。例如,/etc/init.d/httpd 有一个调用 等的启动命令apachectl start

但是,大多数 Linux 发行版都提供了自己的 init 脚本 /etc/init.d/httpd(或类似脚本),该脚本使用 SysV 宏,例如 daemon、killproc 等。因此,基本上,它们的作用相同,但由不同的团队提供/维护。一般来说,我个人更喜欢 init 脚本,因为它与我系统上的其他守护进程更一致。

希望这能为您澄清一些事情!

安德鲁

答案2

我们不使用 apachectrl 脚本,并且我维护一个 Linux 发行版。

我们通过直接调用 HTTPD 来启动 apache,在启动之前,我们确保它尚未运行并且没有留下 PID 文件。

要停止 Apache(httpd),我们向其发送 kill -TERM 命令。

我们已经这样做了很多年了——这种方法对我们来说很有效。简单又容易……

相关内容