# 第十三部分：Web 服务与应用管理（选学）

## Web 服务工作过程

浏览WEB网页的过程为：

服务器端开启 WEB 服务始终侦听 80 端口；

客户端主机根据本地设置的DNS服务器，首先查询网址的IP地址，查到网站服务器的IP地址后，向其发送浏览网页的申请；

当服务器收到浏览网页的申请时，WEB服务分配一个进程负责对这个申请进行应答，同时继续侦听80端口，准备处理其他的申请；

根据申请的要求，WEB服务到网页所保存的目录中去查找需要浏览的内容，由WEB服务

将内容发送给客户端。

APACHE是被广泛应用的Web服务器。对于Linux用户来说，也是最容易使用的Web服务器，如果仅仅是想用APACHE提供基本的Web页面服务，可能根本不需要调整任何配置。

LANMP

Linux+Nginx+Apache+MySQL+PHP

LAMP

Linux+Nginx+MySQL+PHP

LNMP

Linux+Apache+MySQL+PHP

![](7d7c1d208f59f8dd23a73e63addb2f7ed07553479e8366087eb1b6168fca6240.jpg)

安装好 Apache 服务后，不用配置就可启动。

启动后在客户端浏览器地址栏输入 apache 服务器的 IP 地址，检查是否可以看到 Apache的测试页，如果能看到说明安装是成功的。如IP地址为127.0.0.1，测试页如图所示。

或者直接在 apache 服务器主机的浏览器地址栏输入“localhost”进行测试。

## Apache 模块

模块 Module

apache支持模块支持

在服务器核心中只包含了最基本的功能

扩展的功能可以模块的形式加载到服务器中。

LoadModule

查看已编译进去了哪些基本模块，

#apachectl -

## Apache 配置容器

· 成对出现，如<IfDefine>和</IfDefine>;   
·指令放在容器中，限制了其使用范围。所处容器不同，指令适用范围也不同  
·第1类，If开头。当满足条件时，才执行指令。

<lfVersion >= 2.1>

#this happens only in versions greater or

equal 2.1.0.

</IfVersion>

·第2类，应用于filesystem/webspace。指令应用于指定的文件系统或URL

□<lfDefine>   
□<lfModule>   
□<lfVersion>   
-<Directory>   
□<DirectoryMat   
□<Files>   
□<FilesMatch:   
o<Location>   
□<LocationMatc   
□<Proxy>   
o<ProxyMatch:   
-<VirtualHost>

<Directory /var/web/dir1>

Options +Indexes

</Directory >

<Files private.html>

Order allow,deny

Deny from all

</Files>

<Directory /var/web/dir1>

<Files private.html>

Order allow,deny

Deny from all

## 虚拟主机与代理

虚拟主机概念：在同一台主机上，使用不同的配置文件，来配置不同的站点

![](04ad62d5c5b02cc4a4abe906d01271ba945e3306a7b217373d42361c6455d494.jpg)

![](5b6b661017cc61fb721a1dbcd76bef24159f724cf65da5a4c303c1a6b79dc03e.jpg)  
代理 Proxy

为了限制指令的有效范围，可使用<Directory>, <DirectoryMatch>, <Files>,<FilesMatch>, <Location>, <LocationMatch> , <VirtualHost>等。

指令的有效范围分为几种类型：

server config：用于配置文件 httpd.conf ，不用于<VirtualHost> <Directory> 及文件.htaccess。

virtual host：<VirtualHost>

directory：<Directory>, <Location>, <Files>, and <Proxy>

.htaccess ：放置在文件.htaccess 中的指令应用范围为该目录（放置.htaccess 文件的目录）下所有的文件和子目录。.htaccess文件被改变后会立即生效，因为每次请求都会读取该文件。可进一步控制哪些指令能放置在.htaccess文件中（即哪些指令允许放置在.htaccess 文件中，并覆盖原来的值），用 AllowOverride 控制。
