一 什么是Apache 


Apache 是一种高度可配置的软件。它具有大量特性,但每一种都代价高昂。从某种程度上来说,调优Apache 来说就是以恰当的方式分配资源,还涉及到将配置简化为仅包含必要内容。

二 http 官方主要维护的版本:


httpd 2.0 2.2 .2. 4 主要官方还在维护这几个版本

2.2 主流

2.0 以稳定著称

2.4 加入了很多新的特性

三  http 的特征


  • 事先创建进程;

  • 空闲进程不够,继续创建新的进程;

  • 按需维护适当的进程;

  • 模块化设计的,核心比较小,各种功能都通过模块化添加;

  • 支持运行配置。支持单独编译模块

  • 支持多种方式的虚拟主机配置

  • 支持基于IP或主机名的ACL

  • 支持每目录的访问控制

  • 支持URL重写/p_w_picpath/a.jpg  /bbs/p_w_picpaths/abc.jpg


 虚拟主机

每个服务器必须占用一个套接字,IP+端口可以组成一个套接字,通过修改配置文件,可以服务多个不同的站点。


虚拟主机:(常见的三类)

  • 基于IP的虚拟主机 (因为IP资源比较有限)

  • 基于端口的虚拟主机

  • 基于域名的虚拟主机(最常用)


 

httpd 受到selinux 控制,实验时候需要禁用selinux.

 


 

httpd :

/usr/sbin/httpd(MPM:prefork)

事先创建空闲进程。

http : root root master  process)  #这个用户是root的,是mater process.

httpd :apache apache (worker process) #其他启动起来的都是apache 用户

port :(80/tcp) ssl :443 /TCP          #ssl 是通过openssl 加密的,是443端口

/etc/httpd :工作根目录。相当于程序按照目录  

/etc/httpd/conf:配置文件目录 

/etc/httpd/conf/*.conf                   #定义虚拟主机的话,配置文件可以单独放在这个路径下

/etc/httpd/modules                       #加载模块路径,一般做的软连接

/etc/httpd/logs   ----> /var/log/httpd   #日志路径

日志文件有两类:访问日志acces_log

错误日志:err_log

 

 

页面路径:一般在/var/www

 

这下面主要有两个目录,一个是html 一个是cgi-bin 目录。 

html :html 是放静态的目录。

cgi-bin :动态的:能够让web 服务器执行的。

 


cgi:common gateway interface

 

client --- httpd (index.cgi)--->spawn process