概念
- 比较著名的基金会:
 
- FSF:GNU,GPL
 - ASF:Apache Software Foundation
web:httpd
Tomcat
Hadoop
… 
- httpd: 
事先创建进程
按需维持适当的进程
模块设计,核心比较小,各种功能都模块添加
支持运行时配置,支持单独编译模块
支持多种方式的虚拟主机配置
虚拟主机:
基于IP的虚拟主机
基于端口的虚拟主机
基于域名的虚拟主机
支持https协议
支持用户认证
支持基于IP或主机名的ACL
支持每目录的访问控制
支持URL重写 
安装:
    rpm包
    源码编译 
Port:(80/tcp),(ssl:443/tcp)
httpd的主要目录
- httpd
 
/usr/sbin/httpd(MPM:prefork)
httpd:root root (master process)
httpd:apache,apache (worker process)/etc/rc.d/init.d/httpd
/etc/httpd:
conf:配置文件目录
主配置文件:httpd.conf
conf.d
modules:模块目录
logs–>/var/log/httpd
日志有两类:访问日志access_log,错误日志error_log/var/www
html
cgi-bin
cgi(Common Gateway Interface)
Client–>httpd(index.cgi)–>spawn Process(index.cgi)–>httpd–>client
perl,python,java(Servlet,JSP),PHP
fastcgi:动态内容的创建和回收不需要web服务器控制,有专门的进程完成, 然后通过socket返回给httpd,这种方式称为fastcgi。(静态和动态的分离)
elinks     -dump:显示网页的内容然后直接退出
        -source:显示网页的源代码 
1  | #service httpd start  | 
MPM:(Multi Path Module 多道处理模块)
mpm_winnt:windows上
prefork(一个请求用一个进程响应)
worker (一个请求用一个线程响应,启动多个进程,每个进程生成多个线程)
event (一个进程处理多个请求,基于事务的)
可参考21_01。。
1  | #httpd -t 显示httpd的配置文件的语法是否正确  | 
1  | 系统默认的是prefork,可通过下面命令查看:  | 
httpd.conf文件配置默认涉及
1  | #grep "Section" /etc/httpd/conf/httpd.conf  | 
1  | #vim /etc/httpd/conf/httpd.conf  | 
1  | ###Section 1:Global Environment  | 
1  | ###Section 2:'Main' server configuration  | 
1  | ###Section 3:Virtual Hosts  | 
强烈建议:
    自行阅读官方配置文档
http://httpd.apache.org/docs/2.4/vhosts/ 
ab
LoadRuner(接近于真实的测试)