概念
- 比较著名的基金会:
- 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(接近于真实的测试)