Getting Started

如果您对 Apache HTTP Server 完全陌生,甚至根本不运行网站,那么您可能都不知道从哪里开始或要问什么问题。本文档将向您介绍基础知识。

Client 端,服务器和 URL

网络上的地址用 URL(统一资源定位符)表示,URL 指定协议(例如http),服务器名(例如www.apache.org),URL 路径(例如/docs/current/getting-started.html)以及可能用于传递的查询字符串(例如?arg=value)。服务器的其他参数。

Client 端(例如网络浏览器)使用指定的协议连接到服务器(例如 Apache HTTP 服务器),并使用 URL 路径对资源进行“请求”。

URL 路径可以代表服务器上的任何事物。它可能是一个文件(如getting-started.html),一个处理程序(如server-status)或某种程序文件(如index.php)。我们将在下面的网站内容部分中对此进行更多讨论。

服务器将发送由状态码和(可选)响应主体组成的“响应”。状态代码指示请求是否成功,如果没有成功,则表明存在哪种错误情况。这告诉 Client 端应如何处理响应。您可以在HTTP 服务器 Wiki中阅读有关可能的响应代码的信息。

事务的详细信息以及任何错误情况都写入日志文件。这将在下面的日志文件和故障排除部分中详细讨论。

主机名和 DNS

为了连接到服务器,Client 端首先必须将服务器名称解析为 IP 地址-服务器在 Internet 上的位置。因此,为了使您的 Web 服务器可访问,服务器名必须在 DNS 中。

如果您不知道如何执行此操作,则需要与网络 Management 员或 Internet 服务提供商联系,以执行此步骤。

一个以上的主机名可能指向同一 IP 地址,并且一个以上的 IP 地址可以连接到同一台物理服务器。因此,您可以使用称为virtual hosts的功能在同一台物理服务器上运行多个网站。

如果要测试不可访问 Internet 的服务器,则可以将主机名放在 hosts 文件中以进行本地解析。例如,您可能想在主机文件中放置一条记录,以将对www.example.com的请求 Map 到本地系统,以进行测试。此项看起来像:

127.0.0.1 www.example.com

主机文件可能位于/etc/hostsC:\Windows\system32\drivers\etc\hosts

您可以在Wikipedia.org/wiki/Hosts_(file)处了解有关主机文件的更多信息,并在Wikipedia.org/wiki/Domain_Name_System处了解有关 DNS 的更多信息。

配置文件和指令

通过简单的文本文件配置 Apache HTTP Server。这些文件可能位于各种位置,具体取决于您安装服务器的方式。这些文件的公共位置可以找到在 httpd Wiki 中。如果从源安装了 httpd,则配置文件的默认位置是/usr/local/apache2/conf。默认配置文件通常称为httpd.conf。这在服务器的第三方发行版中也可能有所不同。

为了便于 Management,该配置通常分为多个较小的文件。这些文件是通过Include指令加载的。这些子文件的名称或位置并不是很神奇,并且在一个安装之间可能有很大的不同。对 you 最合理的安排和细分这些文件。如果默认情况下您的文件排列对您没有意义,请随时重新排列。

通过在这些配置文件中放置configuration directives来配置服务器。指令是一个关键字,后跟一个或多个设置其值的参数。

通常,通过考虑您希望某个指令在何处有效来回答“ *该指令应该放在哪里?”这个问题。如果是全局设置,则它应出现在配置文件中的<Directory><Location><VirtualHost>或其他部分之外。如果仅适用于特定目录,则应将其放在引用该目录的<Directory>节中,依此类推。有关这些部分的进一步讨论,请参见Configuration Sections文档。

除主要配置文件外,某些指令还可以放入内容目录中的.htaccess文件中。 .htaccess文件主要用于无法访问主服务器配置文件的人员。您可以在.htaccess howto中阅读有关.htaccess文件的更多信息。

网站内容

网站内容可以采用许多不同的形式,但可以大致分为静态和动态内容。

静态内容是诸如 HTML 文件,图像文件,CSS 文件以及位于文件系统中的其他文件之类的东西。 DocumentRoot指令指定应在文件系统中放置这些文件的位置。该指令可以全局设置,也可以针对每个虚拟主机设置。查看您的配置文件,以确定如何为您的服务器设置。

通常,当请求目录而未指定文件名时,将提供名为index.html的文档。例如,如果DocumentRoot设置为/var/www/html并请求http://www.example.com/work/,则文件/var/www/html/work/index.html将被提供给 Client 端。

动态内容是在请求时生成的任何内容,并且可能从一个请求更改为另一个请求。可以通过多种方式生成动态内容。各种handlers可用于生成内容。可以写CGI programs为您的网站生成内容。

诸如 mod_php 之类的第三方模块可用于编写执行各种操作的代码。使用各种语言和工具编写的许多第三方应用程序都可以在 Apache HTTP Server 上下载和安装。对这些第三方事物的支持不在本文档的范围内,您应该找到它们的文档或其他支持论坛来回答有关它们的问题。

日志文件和故障排除

作为 Apache HTTP Server Management 员,您最宝贵的资产是日志文件,尤其是错误日志。在没有错误日志的情况下对任何问题进行故障排除就像闭着眼睛开车一样。

错误日志的位置由ErrorLog指令定义,该指令可以全局设置,也可以针对每个虚拟主机设置。错误日志中的条目会告诉您出了什么问题以及何时出问题。他们通常还会告诉您如何解决。每个错误日志消息都包含一个错误代码,您可以在线搜索该错误代码以获取有关如何解决该问题的更详细说明。您还可以将错误日志配置为包含一个日志 ID,然后可以将其与访问日志条目相关联,以便您可以确定导致错误情况的请求。

您可以阅读有关登录logs documentation的更多信息。

What's next?

一旦掌握了先决条件,就该 continue 前进了。

本文档仅涵盖基础知识。我们希望这可以帮助您入门,但是您可能还需要了解许多其他内容。

首页