• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 启动Apache

    在Windows上,Apache通常作为服务运行。有关详细信息,请参阅“将Apache作为服务运行”。

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

    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 ...”。此消息通常是由以下原因引起的:

    • 不以root用户身份登录时尝试在特权端口上启动服务器;要么
    • 当已有另一个Apache实例或某些其他Web服务器已绑定到同一端口时,尝试启动服务器。

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

    在启动时开始

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

    apachectl脚本旨在像标准的SysV初始化脚本一样工作。它可以采取的论点startrestartstop并将其转化为相应的信号httpd。因此,您通常可以简单地链接apachectl到相应的init目录。但是请务必检查系统的确切要求。

    附加信息

    有关的命令行选项的更多信息httpd,并apachectl包含在服务器以及其他支持程序可在对服务器和支持程序页面。还提供了有关Apache发行版随附的所有模块及其提供的指令的文档。