Apache HTTP Server 版本2.2
![](feather.gif)
启动Apache
在Windows NT/2000/XP/2003操作系统中,Apache一般以服务方式运行,或者在Windows 95/98/ME中以控制台程序方式运行。详情请参见以服务方式运行Apache和以控制台程序方式运行Apache。
Apache是怎样启动的
如果配置文件中Listen
定义的是默认的80端口(或1024以下),那么启动Apache将需要root权限以将它绑定在特权端口上。一旦服务器开始启动并完成了一些诸如打开日志文件之类的准备操作,它将创建很多子进程来完成一些诸如侦听和回应客户端请求的工作。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 ...
",这主要由以下原因造成:
- 想由一个特权端口启动服务但没有以root用户运行
- 启动服务时已经有另外的Apache实例在运行或其他的web服务器已经绑定了同样的端口
更多问题的解决办法,请参见常见问题。