httpd版本:
2.4 2.2 2.0
httpd特性:
1:事先创建进程
2:按需维持适当的进程
3:模块化设计,支持单独编译模块
4:支持多种虚拟主机的配置
4.1:虚拟主机的方式
基于ip地址的虚拟主机
基于端口的虚拟主机
基于域名的虚拟主机
5:支持HTTPS(基于mod_ssl模块实现)
6:支持用户认证
7:支持基于IP或主机名的acl
8:支持每个目录的访问控制
9:支持URL的重写(rewrite)
http安装方式
1:yum安装系统自带的
2:源码包编译安装
httpd主配置文件组成部分
1:全局配置
2:主服务器
3:虚拟主机
httpd配置文件详见
1:ServerTokens OS(错误信息的显示内容)
2:Timeout 120(超时时间)
3:KeepAlievd On (是否开启长连接,服务器访问量不大的时候可以开启)
4:KeepAlievdRequests 100(长连接请求数,0表示不限制)
5:KeepAlievdTimeout 15 (长连接超时时间)
6:mpm(多道处理模块)
httpd的mpm(多道处理模块)
1:prefork(一个请求用一个进程响应)
优点:稳定可靠,进程间互不影响
缺点:性能较差(多个请求占用多个进程消耗cpu,内存)
2:worker(一个请求用一个线程响应,线程是进程的子单位(启动多个进程,每个进程启动多个线程))
特性:多个线程共享同一个进程的资源,第二个请求就不需要再次打开,直接访问,但是多个线程在共享一个资源,如果写一个资源就会导致资源竞争,避免资源竞争需要设置资源锁
3:event(一个进程处理多个请求)
rpm -ql httpd|grep bin
httpd -l(可查看Apache支持的模块)
在此配置文件中/etc/sysconfig/httpd指定所使用的模块
6.1:prefork模块
<IfModule prefork.c>
StartServers 8(最初启动几个进程)
MinSpareServers 5(最少的空闲进程)
MaxSpareServers 20(最大的空闲进程)
ServerLimit 256(最大客户端数,256个同时链接)
MaxClients 256(client不能大于limit)
MaxRequestsPerChild 4000(每个子进程最多可以响应多少个请求)
</IfModule>
6.2:worker模块
<IfModule worker.c>
StartServers 4(最初启动多少个进程)
MaxClients 300
MinSpareThreads 25(最少控制线程)
MaxSpareThreads 75(最大控制线程)
ThreadsPerChild 25(一个进程生成多个线程)
MaxRequestsPerChild 0(每个进程最多响应多少个请求)
</IfModule>
8:基于用户名认证的访问
AllowOverride Authconfig
AuthType Basic
AuthName "描述信息"
AuthUserFile "用户密码文件"
AuthGroupFile “用户组文件”
Require group 组名
Require user 用户名
Require vaild-user(表示文件里的所有用户)
创建用户
第一次创建需要使用-c -m(以md5加密的方式设置密码)
htpasswd -c -m 用户密码文件 用户名
创建组文件
vi group.list
组名:用户名1 用户名2 。。。。
9:每个用户定义自己的家目录模块
mod_userdir.c
默认使用的是public_html
在用户家目录下创建public_html目录
给定执行权限,浏览器访问
http://192.168.110.130/~用户名
apache配置文件详解(中英文结合)
http://www.cnblogs.com/adamite/p/apache_configuration.html