第六章 Apache

目标

  • 学习Apache web服务器的主要功能
  • 能够设置重要的Apache参数
  • 学习总目录的配置
  • 学习怎样去使用图形Apache
  • 识别key模块
  • 理解Proxy web服务器

议程

  • Apache的主要功能
  • Apache的配置文件和主要参数
  • 用Apache使用CGI
  • key模块
  • squid代理web服务器

6.1 Apache 概述

1.Apache 是Red Hat的标准web服务器

Apache的开发人员全部为志愿者,而不含任何商业行为。其名称Apache意思为A Patchy Server,即它是基于现存的代码和一系列的Patch文件。

Apache软件基金会(Apache Software Foundation,ASF)现在维护着包括Apache在内的多个项目,还包括Perl、PHP、Java、Tcl、XML等。ASF的网址是http://www.apache.org。

2.Apache 是最广泛使用的wed服务器

⑴ 在Internet web服务器上的使用的Apache多于其他组合。

使用Apache的著名网站数不胜数,下面列出其中最知名的几个:

Yahoo!

IBM

Amasom.com

Hotmail.com

Red Hat

⑵ 提供一个非常稳定和可伸缩的web服务器平台。

Apache HTTP 服务器计划web站点是:http:// httpd.apache.org.

6.2 Apache 功能

1. Apache的基本功能

Apache的主要特征是:

实现动态共享对象(DSO),允许在运行时动态加载功能模块

采用预生模式的技术提高响应速度

可以运行上所有计算机平台;

支持最新的HTTP 1.1协议;

简单而强有力的基于文件的配置;

支持通用网关接口CGI;

支持虚拟主机;

支持HTTP认证;

集成Perl脚本编程语言;

集成的代理服务器;

具有可定制的服务器日志;

支持服务器端包含命令(SSI)

支持安全Socket层(SSL)

用户会话过程的跟踪能力;

支持FastCGI;

支持Java Servlets。

2.支持进程控制

⑴ 在需要前自动复制进程

⑵ 根据需求自动调整进程数量

Apache 2.0为了接收请求和调度孩子去处理他们有一个灵活的机制,即使用MPM “Multi-Processing Modules”多处理模块。使用此模式会在服务器处理多个请求时,控制Apache的运行方式。在Red Hat Linux中使用的MPM方式默认是prefork(预派生),它产生多个子进程,当需要时刚好像Apache 1.3。其它MPM方式也不提前得到,虽然一些指令出现在配置文件中。

3.Apache提供3种运行方式

⑴ 预派生 (Profork) MPM:此模块在功能上兼容于Apache1.3的运行模式。

这种运行方式首先启动一个父进程,然后创建并启动一定(可配置)数量的子进程监听客户的请求。当监听到客户的服务请求后,子进程就响应此请求。重要的是父进程始终监控子进程,当没有足够的空闲子进程为客户服务时,父进程就会创建并运行新的子进程准备为客户提供服务;如果存在过多的空闲子进程,父进程就会依次终止这些空闲的子进程,直到服务器回到最大空闲子进程(可配置)数量下。通过始终保持一定数量的空闲子进程来响应客户的请求,服务器可以避免在接收到客户请求时启动新进程的开销。

⑵ 工作者(Worker)MPM:此模式是混合使用进程和线程的运行模式。

这种运行方式首先启动一个父进程,然后创建并启动一定(可配置)数量的子进程,每个子进程都创建并启动相同数量的线程,由线程监听客户请求,而子进程并不监听客户请求。重要的是父进程始终监控子进程,当没有足够的空闲线程为客户服务时,父进程就会创建并运行新的子进程,并在子进程中创建与先前子进程创建的相同数量的线程准备为客户提供服务。这种运行方式是以牺牲可靠性和健壮性来换取可扩展性的

⑶ 独立子进程(Perchild)MPM:这是一种类UNIX系统上的运行模式,它也是混合使用进程和线程的运行模式。

这种运行模式与工作者MPM类似,只是每个子进程创建的线程数量可以不一致,即每个子进程都可以创建指定数量(可配置)的线程。当服务器上负载增加后,Apache不会创建新的子进程,而是在当前的子进程之一上创建新的线程为客户提供服务。这种运行方式具有最高的可扩展性,但却具有最低的可靠性。

2.支持动态模块加载:

不需重新编译就可扩展其用途

允许一个wed服务器管理员在Apache运转状态中进行修改动态模块加载。这样无需重新编译任一项代码,并且使用简单指定的一个模块的,通常的一个例子是使用模块mod_perl用于增加Perl CGI脚本执行速度。

3.支持虚拟主机:

多个web站点可以共享在同一web服务器上。

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章