Apache HTTP web 服务器在很多方面领域事实上的标准通用 HTTP 服务。通过其大量的模块,它可灵活支持代理服务器,URL 重写,和细粒度的访问控制。此外,web 开发人员通常选择 Apache 服务器端脚本使用 CGI,FastCGI,和嵌入口译员的支持。这些功能有助于快速、 高效地执行动态代码。虽然有几个突出监外 Apache,甚至境内开放源码的 Apache 使用广度是独一无二的。
异乎寻常的 Apache 所提供并不是灵活性的没有一些成本;这主要是形式有时是令人困惑而又往往复杂的配置结构。为此我们已经创建了此文档和大量的其他指南,设法解决这种复杂性和探讨 Apache HTTP 服务器的一些更先进的和可选的功能。
如果你感兴趣的只是获取正在运行的 web 服务器和第一次安装 Apache,我们推荐使用适当的“安装 Apache 指南”为您的 Linux 的发行版。如果你需要一个功能更全面的灯堆栈,可以考虑尝试适当的灯指南为您的发行版。本指南假定您有一个正在运行的和最新的 Linux 系统,已成功安装 Apache,且有登录到 shell 会话具有根访问权限。
Apache 基础知识
Apache 的默认配置不同的 Linux 分发之间差别很大。Debian 和 Ubuntu 发行版,以及 Gentoo,Apache 作为“Apache2”是指,将配置文件放置在 /etc/apache2/目录。其他发行版,包括软呢帽,CentOS 和 Arch Apache 作为“httpd”是指和 /etc 目录下-httpd-存储配置文件。大多数配置选项做不异的操作系统,虽然我们鼓励你,熟悉你的 Apache 服务器的默认配置。配置 Apache 最大的挑战是理解分布的标准配置和他们的怪癖和上游的 Apache 的区别。
要管理基本 Apache 功能可以使用“init”脚本,提供安全、 方便的方式来启动、 停止和重新启动服务器。Init 脚本还允许您重新加载配置,检查服务器的状态。若要访问这些功能,发出相应的命令:
/etc/init.d/apache2 开始
/etc/init.d/apache2 站
/etc/init.d/apache2 重新启动
/etc/init.d/apache2 重新加载
/etc/init.d/apache2 状态
如果你使用 Apache httpd 作为是指分布,然后命令如下:
/etc/init.d/httpd 开始
/etc/init.d/httpd 站
/etc/init.d/httpd 重新启动
/etc/init.d/httpd 重新加载
/etc/init.d/httpd 状态
对于一些分布到脚本的路径可能是 /etc/rc.d/init.d/ 而不是 /etc/init.d/。
如果您使用 mod_disk_cache 对基于 Debian 的分布,init 脚本包含功能来控制功能的 htcache,用下面的命令:
/etc/init.d/apache2 开始-htcacheclean
/etc/init.d/apache2 站-htcacheclean
也是从一个命令行界面提供的额外功能。要检查你的 Apache 配置文件的语法,而无需重新启动服务器和测试,可以发出以下命令在 Debian 和 Ubuntu 系统上:
apache2ctl-t
在 CentOS 和 Fedora 系统,可以使用如下形式:
httpd-t
此外,apache2ctl-S 或 httpd-S 命令提供一份报告对目前运行的虚拟主机,包含主机侦听的端口,虚拟主机 (即域) 和该网站的配置设置包括文件名和行号的位置信息的名称。
通常情况下,Apache 的“大师”的配置文件位于 httpd.conf 文件中。在基于 Debian 的分布,这坐落在 apache2.conf 文件中,和 httpd.conf 文件包含特定于用户的配置。除了主文件,由主文件包含附加文件的数目。若要获取这些文件的列表,请发出下列命令之一,具体取决于您的发行版:
grep“包括”/etc/apache2/apache2.conf
grep“包括”/etc/apache2/httpd.conf
grep“包括”/etc/httpd/httpd.conf
请注意,这些文件包含的顺序可以影响 web 服务器的行为。如果以后选项矛盾在早期文件中设置的选项,以后选项重写早先的备选。熟悉现有的默认配置可以是有用的学习经验。
配置文件组织
最常见的用例的 Apache web 服务器之一是使用其“虚拟主机”的能力,并允许单个实例的 Apache 服务众多网站和子域。被