您的位置:首页 > 理论基础 > 计算机网络

使用 Apache HTTP Server 必须知道基础知识

2017-11-20 14:51 369 查看

《 使用 Apache HTTP Server 必须知道基础知识 》



前言:

前期我们的项目即将开发完成,项目发布需求,项目经理说需要将项目发布在依托 Apache + Tomcat  的负载集群环境下,因为项目属于中型项目,所以只需要一个Apache三个节点,并由我来搭建这个项目部署运行环境,因为这东西很久才搞一次,有的概念都有点模糊了,所以又花了些时间,总结并整理出来,方便以后随时可以查阅。

客户端、服务器和URL :

Web上的地址用URL(统一资源定位符)来表示,统一资源定位符指定一个协议(例如http),一个服务器名(例如 www.apache.org),一个URL路径(例如 /docs/current/getting-started.htm)和可能的查询字符串(例如?arg=value)服务器。

客户端:

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

服务器:

将发送一个响应包括一个状态码和,任选地,响应体。状态代码指示请求是否成功,如果不成功,则指出是哪种错误条件。这告诉客户应该如何处理响应。 《Http状态链接》

URL :

一个 Url 路径可能代表服务器上的任何数量的东西。它可能是一个文件(如getting-started.html)处理程序(如服务器状态)或某种程序文件(如index.php)。

主机名和DNS:

为了连接到服务器,客户端首先必须将服务器名称解析为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。

配置文件和指令:

配置文件:

Apache HTTP Server通过简单的文本文件进行配置。这些文件可能位于各种地方的任何位置,具体取决于您如何安装服务器。这些文件的常见位置可以在httpd网站中找到。如果你从源代码安装了httpd,配置文件的默认位置是 /usr/local/apache2/conf。通常会调用默认的配置文件httpd.conf。这也可以在服务器的第三方分布中有所不同。

指令:

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

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

“ 我应该把这个指令放在哪里? ” 这个问题通常是通过考虑你希望指令是否有效来解决的。如果它是一个全局设置,它应该出现在配置文件中,任何外<Directory>,<Location>,<VirtualHost>,或其他部分。如果仅应用于特定的目录,则应该在<Directory>涉及该目录的部分内部 ,等等。

除了主要的配置文件之外,某些指令还可能.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 Server管理员,您最有价值的资产是日志文件,特别是错误日志。在没有错误日志的情况下对任何问题进行故障排除就像是闭着眼睛开车一
4000
样。

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

结束语:

关于  Apache HTTP Server 使用时需要知道的基础知识就总结到这儿,如果有不到之处还请指出,如果还有其他内容,欢迎补充。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息