Starting Apache

在 Windows 上,Apache 通常作为服务运行。有关详细信息,请参见运行 Apache 即服务

在 Unix 上,httpd程序作为守护程序运行,该守护程序在后台连续执行以处理请求。本文档介绍了如何调用httpd

Apache 的启动方式

如果配置文件中指定的Listen默认为 80(或 1024 以下的任何其他端口),则必须具有 root 特权才能启动 apache,以便它可以绑定到该特权端口。服务器启动并执行了一些初步的活动(例如打开其日志文件)后,它将启动几个* child *进程,这些进程负责侦听和答复 Client 端的请求。 httpd主进程 continue 以 root 用户身份运行,而子进程以特权较低的用户身份运行。这由所选的Multi-Processing Module控制。

推荐的httpd可执行文件调用方法是使用apachectl控制脚本。此脚本设置httpd在某些 os 下正常运行所必需的某些环境变量,然后调用httpd二进制文件。 apachectl将通过任何命令行参数传递,因此apachectl也可以使用任何httpd选项。您也可以通过更改顶部附近的HTTPD变量来直接编辑apachectl脚本,以指定httpd二进制文件的正确位置以及希望始终存在的任何命令行参数。

httpd被调用时要做的第一件事是查找并读取configuration file httpd.conf。该文件的位置在编译时设置,但是可以在运行时使用-f命令行选项指定其位置,如下所示:

/usr/local/apache2/bin/apachectl -f /usr/local/apache2/conf/httpd.conf

如果在启动过程中一切正常,则服务器将与终端分离,并且命令提示符将立即返回。这表明服务器已启动并正在运行。然后,您可以使用浏览器连接到服务器并查看DocumentRoot目录中的测试页。

启动过程中的错误

如果 Apache 在启动过程中遇到致命问题,它将在退出前向控制台或ErrorLog写一条描述该问题的消息。最常见的错误消息之一是“ Unable to bind to Port ...”。该消息通常是由以下任一原因引起的:

有关进一步的故障排除说明,请查阅 Apache FAQ

在启动时开始

如果希望服务器在系统重新引导后 continue 运行,则应将对apachectl的调用添加到系统启动文件(通常是rc.localrc.N目录中的文件)。这将以 root 身份启动 Apache。在执行此操作之前,请确保已正确配置服务器的安全性和访问限制。

apachectl脚本旨在充当标准 SysV 初始化脚本;它可以接受参数startrestartstop并将其转换为对httpd的适当 signal。因此,您通常可以简单地将apachectl链接到适当的 init 目录。但是一定要检查系统的确切要求。

Additional Information

httpdapachectl命令行选项以及服务器随附的其他支持程序的其他信息可在服务器和支持程序页上找到。还有 Apache 发行版中随附的所有modules及其提供的directives的文档。

首页