Apache HTTP 服务器版本 2.4
Web 上的地址使用 URL(统一资源定位符)表示,它指定协议(例如 http
)、服务器名(例如 www.apache.org
)、URL 路径(例如 /docs/current/getting-started.html
)以及可能用于将附加参数传递给服务器的查询字符串(例如 ?arg=value
)。
客户端(例如,Web 浏览器)使用指定的协议连接到服务器(例如,您的 Apache HTTP 服务器),并使用 URL 路径对资源发出请求。
URL 路径可以代表服务器上的任何数量的东西。它可以是文件(如 getting-started.html
)、处理程序(如 server-status)或某种程序文件(如 index.php
)。我们将在下面的 网站内容 部分中进一步讨论这一点。
服务器将发送一个响应,该响应包含一个状态代码,以及可选的响应主体。状态代码指示请求是否成功,如果失败,则指示发生了哪种错误情况。这告诉客户端如何处理响应。您可以在 HTTP 服务器维基 中阅读有关可能响应代码的信息。
事务的详细信息以及任何错误条件都将写入日志文件。这将在下面的 日志文件和故障排除 部分中详细讨论。
为了连接到服务器,客户端首先必须将服务器名解析为 IP 地址 - 服务器在互联网上的位置。因此,为了使您的 Web 服务器可访问,必须在 DNS 中注册服务器名。
如果您不知道如何执行此操作,则需要联系您的网络管理员或互联网服务提供商,让他们为您执行此步骤。
多个主机名可以指向同一个 IP 地址,多个 IP 地址可以附加到同一个物理服务器。因此,您可以使用名为 虚拟主机 的功能在同一个物理服务器上运行多个网站。
如果您正在测试不可访问互联网的服务器,则可以在您的 hosts 文件中添加主机名以进行本地解析。例如,您可能希望在您的 hosts 文件中添加一条记录,将对 www.example.com
的请求映射到您的本地系统,以进行测试。此条目将如下所示
127.0.0.1 www.example.com
hosts 文件可能位于 /etc/hosts
或 C:\Windows\system32\drivers\etc\hosts
中。
您可以在 Wikipedia.org/wiki/Hosts_(file) 中阅读有关 hosts 文件的更多信息,以及在 Wikipedia.org/wiki/Domain_Name_System 中阅读有关 DNS 的更多信息。
Apache HTTP 服务器通过简单的文本文件进行配置。这些文件可能位于各种位置,具体取决于您安装服务器的方式。这些文件的常见位置可以在 httpd 维基 中找到。如果您从源代码安装了 httpd,配置文件的默认位置是 /usr/local/apache2/conf
。默认配置文件通常称为 httpd.conf
。这也会因服务器的第三方发行版而异。
为了便于管理,配置通常被分成多个较小的文件。这些文件通过 Include
指令加载。这些子文件的名称或位置不是固定的,并且在不同的安装之间可能会有很大差异。根据您自己的需要安排和细分这些文件。如果您默认的文件夹安排不符合您的要求,请随意重新安排。
通过在这些配置文件中放置 配置指令 来配置服务器。指令是一个关键字,后面跟着一个或多个设置其值的参数。
关于“我应该把那个指令放在哪里?”的问题通常可以通过考虑您希望指令在何处生效来回答。如果它是一个全局设置,它应该出现在配置文件中,位于任何 <Directory>
、<Location>
、<VirtualHost>
或其他部分之外。如果它仅适用于特定目录,则它应该放在引用该目录的 <Directory>
部分中,依此类推。有关这些部分的更多讨论,请参阅 配置部分 文档。
除了主配置文件之外,某些指令可能位于内容目录中的 .htaccess
文件中。.htaccess
文件主要用于没有访问主服务器配置文件权限的人员。您可以在 .htaccess
指南 中阅读有关 .htaccess
文件的更多信息。
网站内容可以采用多种形式,但可以大致分为静态内容和动态内容。
静态内容是指 HTML 文件、图像文件、CSS 文件以及驻留在文件系统中的其他文件。
指令指定您应该将这些文件放在文件系统中的哪个位置。此指令是在全局范围内设置的,或者是在每个虚拟主机中设置的。查看您的配置文件以确定如何在您的服务器上设置此项。DocumentRoot
通常,当请求目录时未指定文件名,将提供名为 index.html
的文档。例如,如果 DocumentRoot
设置为 /var/www/html
,并且对 http://www.example.com/work/
发出请求,则将向客户端提供文件 /var/www/html/work/index.html
。
动态内容是指在请求时生成的任何内容,并且可能在不同的请求之间发生变化。有许多方法可以生成动态内容。各种 处理程序 可用于生成内容。可以编写 CGI 程序 来为您的网站生成内容。
可以使用 mod_php 等第三方模块来编写执行各种操作的代码。许多使用各种语言和工具编写的第三方应用程序可供下载和安装在您的 Apache HTTP 服务器上。对这些第三方事物的支持超出了本文档的范围,您应该找到它们的文档或其他支持论坛来回答您有关它们的问题。
作为 Apache HTTP 服务器管理员,您最宝贵的资产是日志文件,尤其是错误日志。在没有错误日志的情况下排除任何问题就像闭着眼睛开车一样。
错误日志的位置由
指令定义,该指令可以在全局范围内设置,也可以在每个虚拟主机中设置。错误日志中的条目会告诉您发生了什么错误以及何时发生。它们通常还会告诉您如何修复它。每个错误日志消息都包含一个错误代码,您可以在线搜索该代码以获取有关如何解决问题的更详细说明。您还可以配置您的错误日志以包含一个日志 ID,然后您可以将其与访问日志条目相关联,以便您可以确定导致错误情况的请求是什么。ErrorLog
您可以在 日志文档 中阅读有关日志记录的更多信息。