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