如果您对Apache HTTP Server完全陌生,甚至根本不熟悉网站,那么您可能不知道从哪里开始或要问什么问题。本文档将向您介绍基础知识。
网络上的地址用URL(统一资源定位符)表示,URL指定协议(例如http
),服务器名(例如
www.apache.org
),URL路径(例如
/docs/current/getting-started.html
)以及可能?arg=value
用于将其他参数传递给服务器的查询字符串(例如)。服务器。
客户端(例如Web浏览器)使用指定的协议连接到服务器(例如Apache HTTP Server),并使用URL路径请求资源。
URL路径可以代表服务器上的任何事物。它可能是文件(如getting-started.html
),处理程序(如server-status)或某种程序文件(如index.php
)。我们将在下面的“ 网站内容”部分中进行更多讨论。
服务器将发送一个响应,该响应由状态码和(可选)响应主体组成。状态码指示请求是否成功,如果失败,则指示错误类型。这告诉客户端应如何处理响应。您可以在HTTP Server Wiki中阅读有关可能的响应代码的信息 。
事务的详细信息以及任何错误情况都写入日志文件。下面在“ 日志文件和故障排除”部分中对此进行了更详细的讨论。
为了连接到服务器,客户端首先必须将服务器名称解析为IP地址-服务器在Internet上的位置。因此,为了使您的Web服务器可访问,服务器名必须在DNS中。
如果您不知道如何执行此操作,则需要与网络管理员或Internet服务提供商联系,以执行此步骤。
一个以上的主机名可能指向同一IP地址,并且一个以上的IP地址可以连接到同一台物理服务器。因此,您可以使用称为虚拟主机的功能在同一台物理服务器上运行多个网站。
如果要测试不可通过Internet访问的服务器,则可以在主机文件中放入主机名,以便进行本地解析。例如,www.example.com
出于测试目的,您可能希望在主机文件中放置一条记录,以将请求映射到本地系统。此项看起来像:
127.0.0.1 www.example.com
主机文件可能位于/etc/hosts
或
C:\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
。这在服务器的第三方发行版中也可能有所不同。
为了便于管理,该配置通常分为多个较小的文件。这些文件是通过Include
指令加载的。这些子文件的名称或位置并不是很神奇,并且在一个安装之间可能有很大的不同。安排和细分这些文件对您来说最有意义。如果默认情况下您的文件排列对您没有意义,请随时重新排列。
通过将配置指令放置在这些配置文件中来配置服务器。指令是一个关键字,后跟一个或多个设置其值的参数。
的“这个问题我应该在哪里把该指令? ”你想要一个指令是有效的,一般考虑回答。如果它是一个全局设置,它应该出现在配置文件中,任何外<Directory>
,<Location>
,<VirtualHost>
,或其他部分。如果仅适用于特定目录,则应放在<Directory>
引用该目录的
部分中,依此类推。有关这些部分的进一步讨论,请参见“ 配置部分”文档。
除主要配置文件外,某些指令还可以放入.htaccess
内容目录中的
文件中。
.htaccess
文件主要用于无法访问主服务器配置文件的人员。您可以.htaccess
在.htaccess
howto中阅读有关文件的更多信息
。
网站内容可以采取许多不同的形式,但可以大致分为静态和动态内容。
静态内容是诸如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上下载和安装。这些第三方产品的支持不在本文档的范围之内,您应该找到它们的文档或其他支持论坛来回答有关它们的问题。