如果您是Apache HTTP Server的新手,或者甚至从来没有运行过网站,您可能不知道从哪里开始,或者要问什么问题。本文将向您介绍最基础的知识
客户端,服务器和URL
Web上的地址用URL【统一资源定位符】表示,它包括以下几个部分:指定协议(例如http
),服务器名称(例如 www.apache.org
) ,URL路径(例如 /docs/current/getting-started.html
),以及可能的查询字符串(例如?arg=value
),用于将附加参数传递给服务器。
客户端(例如,web浏览器)使用指定的协议连接到服务器(例如,您的Apache HTTP Server),并使用URL路径请求资源。
服务器将发送一个响应,该响应由状态代码和可选的响应主体组成。状态代码指示请求是否成功,如果不成功,则表示存在何种错误情况。这告诉客户端它应该如何处理响应。
主机名和DNS
为了连接到服务器,客户端首先必须将服务器名称解析为IP地址【服务器所在的Internet上的位置】。因此,为了使您的Web服务器可访问,服务器名称必须位于DNS中。
多个主机名可能指向相同的IP地址,并且可以将多个IP地址连接到同一物理服务器。因此,您可以使用称为虚拟主机的功能在同一物理服务器上运行多个Web站点。
如果您正在测试无法访问Internet的服务器,则可以将主机名放在hosts文件中以进行本地解析。例如,您可能希望在主机文件中放置一条记录,以将请求映射 www.example.com
到本地系统,以进行测试。可以在/etc/hosts
或C:\Windows\system32\drivers\etc\hosts
下添加一行:127.0.0.1 www.example.com
配置文件和指令
Apache HTTP Server的配置文件是一些简单的文本文件,通常默认的配置文件为httpd.conf。这些文件可能位于各种位置,具体取决于您安装服务器的具体情况。如果从源码安装httpd,则配置文件的默认位置为 /usr/local/apache2/conf
。windows上,配置文件默认的位置为Apache主目录的conf文件夹。
为了便于管理,配置经常被分成多个较小的文件,这些文件通过Include指令加载。
通过在这些配置文件中放置配置指令来配置服务器。指令是一个关键字,后跟一个或多个设置其值的参数。
如果指令是一个全局配置,它应该出现在配置文件中,<Directory>,<Files>,<Location>,<VirtualHost>
等片段之外。如果要指令只应用于特定目录,那么它应该放在匹配该目录的<Directory>
片段内,依此类推。
除主要配置文件外,某些指令可能出现在.htaccess
文件中,.htaccess
文件可能位于网站内容的各级目录中。 .htaccess
文件主要供那些无法访问主服务器配置文件的人使用。
网站内容
网站内容可以采用许多不同的形式,但可以大致分为静态和动态内容。
静态内容类似于HTML文件,图像文件,CSS文件以及驻留在文件系统中的其他文件。使用DocumentRoot
指令来指定文件系统中应改放置这些文件的位置。该指令可以作为全局设置,也可以根据不同虚拟主机设置不同位置。
通常,在未指定文件名的情况下请求目录时,服务器将以目录下的index.html
作为响应。例如,如果DocumentRoot
设置为 /var/www/html
并且发出请求http://www.example.com/work/
,则文件 /var/www/html/work/index.html
将返回给客户端。
动态内容是在请求时生成的任何内容,可能会从一个请求更改为另一个请求。有许多方法可以生成动态内容。各种处理程序可用于生成内容。可以编写CGI程序来为您的站点生成内容。
日志文件和故障排除
作为Apache HTTP Server管理员,您最有价值的资产是日志文件,尤其是错误日志。没有错误日志的任何问题的故障排除就像闭着眼睛开车一样。
错误日志的位置由ErrorLog
指令定义,可以全局设置,也可以按虚拟主机设置。错误日志中的条目会告诉您出了什么问题以及何时出错。他们经常也会告诉你如何解决它。