在Windows上,Apache通常作为服务运行。有关详细信息,请参阅“将Apache作为服务运行”。
如果Listen
配置文件中指定的默认值为80(或低于1024的任何其他端口),则必须具有root特权才能启动apache,以便它可以绑定到该特权端口。服务器启动并执行了一些初步的活动(如打开其日志文件)后,它将启动几个子进程,这些
子进程负责侦听和答复客户端的请求。主httpd
进程继续以root用户身份运行,而子进程以特权较低的用户身份运行。这由所选的
多处理模块控制。
推荐的调用httpd
可执行文件的方法是使用apachectl
控制脚本。该脚本设置某些环境变量,这些变量对于httpd
在某些操作系统下正常运行是必需的
,然后调用httpd
二进制文件。
apachectl
将通过任何命令行参数传递,因此任何httpd
选项也可以与一起使用
apachectl
。您也可以apachectl
通过更改HTTPD
顶部附近的变量来直接编辑
脚本,以指定httpd
二进制文件的正确位置
以及希望始终存在的任何命令行参数。
httpd
调用它时,要做的第一件事是查找并读取配置文件
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。
如果希望服务器在系统重新引导后继续运行,则应将调用添加apachectl
到系统启动文件(通常rc.local
是目录中的rc.N
文件)。这将以root身份启动Apache。在执行此操作之前,请确保已正确配置服务器的安全性和访问限制。
该apachectl
脚本旨在像标准的SysV初始化脚本一样工作。它可以采取的论点
start
,restart
和stop
并将其转化为相应的信号
httpd
。因此,您通常可以简单地链接
apachectl
到相应的init目录。但是请务必检查系统的确切要求。
Additional information about the command-line options of httpd
and apachectl
as well as other support
programs included with the server is available on the
Server and Supporting Programs page.
There is also documentation on all the modules included with the Apache distribution
and the directives that they
provide.