Apache HTTP Server 入门基本概念

时间:2021-05-26 15:36:07

客户端,服务器和URL

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

客户端(例如,web浏览器)使用指定的协议连接到服务器(例如,您的Apache HTTP Server),并使用URL路径请求资源。

URL路径可以表示服务器上的任意数量的事物。它可能是一个文件(如getting-started.html)处理程序(如服务器状态)或某种程序文件(如index.php)。我们将在下面的网站内容部分讨论这个问题

服务器将发送一个响应响应由状态代码和可选的响应主体组成。状态代码指示请求是否成功,如果不成功,则表示存在何种错误情况。这告诉客户端应该如何处理响应。您可以在HTTP Server wiki中阅读可能的响应代码 

事务的详细信息和任何错误条件都写入日志文件。下面将在“ 日志文件和疑难解答”部分中对此进行更详细的讨论

Apache HTTP Server 入门基本概念

主机名和DNS

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

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

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

如果要测试的服务器不可访问Internet,则可以将主机名放在hosts文件中以进行本地解析。例如,您可能希望在主机文件中放置一条记录,以将请求映射www.example.com到本地系统,以进行测试。此条目如下所示:

127.0.0.1 www.example.com

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

你可以阅读更多有关在hosts文件Wikipedia.org/wiki/Hosts_(file)的,和更多的DNS Wikipedia.org/wiki/Domain_Name_System

Apache HTTP Server 入门基本概念

配置文件和指令

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

为了便于管理,配置经常被分成多个较小的文件。这些文件通过Include指令加载这些子文件的名称或位置并不神奇,并且从一个安装到另一个安装可能会有很大差异。排列和细分这些文件对来说最有意义如果您默认使用的文件排列对您没有意义,请随意重新排列。

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

的问题:“ 我应该在哪里把该指令? ”你想要一个指令是有效的,一般考虑回答。如果它是一个全局设置,它应该出现在配置文件中,任何外<Directory><Location><VirtualHost>,或其他部分。如果它只应用于特定目录,那么它应该进入<Directory>引用该目录的 部分,依此类推。有关这些部分的进一步讨论,请参阅配置部分文档。

除主要配置文件外,某些指令可能.htaccess位于内容目录中的 文件中。 .htaccess文件主要供那些无法访问主服务器配置文件的人使用。您可以.htaccess.htaccesshowto中阅读有关文件的更多信息 

Apache HTTP Server 入门基本概念

网站内容

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

静态内容类似于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 Server上下载和安装。支持这些第三方内容超出了本文档的范围,您应该找到他们的文档或其他支持论坛来回答您关于它们的问题。

Apache HTTP Server 入门基本概念

日志文件和故障排除

作为Apache HTTP Server管理员,您最有价值的资产是日志文件,特别是错误日志。没有错误日志解决任何问题就像闭着眼睛开车一样。

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

您可以阅读有关登录日志文档的更多信息