模块化设计

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

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

 1、基于ip的虚拟主机

  2、基于port的虚拟主机

  3、基于主机名的虚拟主机



支持https协议

支持用户认证

支持基于ip或主机名的acl

支持每目录的访问控制

支持url重写


/usr/sbin/httpd (MPM:prefork)

  httpd root:root (master process)

  httpd apache:apache (work process)

/etc/rc.d/int.d/httpd

/etc/httpd:工作根目录

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

      主配置文件httpd.conf 

      /etc/httpd/conf.d/conf*

/etc/httpd/modules/:模块目录

/etc/httpd/logs/----->/var/log/httpd/:日志目录

     access.log  err.log

/var/www/:页面文件所在目录

   html/:静态

   cgi-bin/:动态

   cgi:通用网关接口,让web服务器跟应用程序服务器通信的协议。

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

   fastcgi:主进程创建多个空闲进程。


指令不区分大小写

value区分大小写

loadrunner:惠普的压力测试工具



ServerTokens [OS|Full|Major|Minor] :输出操作系统信息

ServerRoot:httpd的根工作目录

KeepAlive:是否启用长连接

MaxKeepAlive:每个长连接所请求资源的最大数目

KeepAliveTimeout:每个长连接最大时长

Listen:监听地址和端口,可同时监听多个端口

LoadModule 模块名称 模块相对路径


MPM:多道处理模块,编译时指定。./configure  --with-mpm=NAME[prfork|worker|event]

                    ./httpd -l 确定所使用的模块

               httpd模块启动命令:/sbin/httpd.worker

                            /sbin/httpd.event

                            /etc/sysconfig/httpd配置选择     

   prefork:一个请求用一个进程响应

   worker:一个请求用一个线程响应

   event:一个进程处理多个请求


DocumentRoot:文档根目录

URL路径和本地路径不同,url路径是相对于“DocumentRoot”的。

DirectoryIndex:默认主页,自左向右匹配

AccessFileName:某目录下建立.htaccess,在其中定义访问控制方式如AuthConfig

容器:

      定义了网页文件的访问属性

      options  Indexes(运行索引目录) FollowSymLinks(允许访问符号链接指向的文件)

             Includes(运行执行服务器端包含ssi)

             SymLinksifOwnerMatch(运行访问符号链接,但是属主必须要和执行http进程的属                             主匹配)

             ExecCGI(运行执行cgi脚本)

             MultiViews(多功能视图,内容协商机制,根据客户端的语言返回相应的网页)

             None(不支持任何选项)

             All(启用所有选项)

      order   定义基于主机的访问控制功能的

             Order allow,deny(次序很关键)

             Allow from all 或  Allow from 192.168.0.0/24分隔符space, 其他的deny 

     AllowOverride None(使Order及Allow或Denny命令无效,使用其他的控制方式)

   或  AllowOverride AuthConfig

       Authtype Basic

       AuthBasicProvider file|dbm

       Authname "name"

       AuthUserFile  "/path/to/file"

       AuthGroupFile  "/path/to/file"

       AuthDBMUserFile "/path/to/file.dbm"

       Require user  jack //只允许jack访问

       Require valid-user

       Require group  gname //只运行组访问

       建立group的语法

       groupname:jack marry tom

htpasswd -c -m /path/to/file  username (第一次加-c,以后不加)

       

     

elinks:纯文本网页浏览工具

  ~:模式匹配、^:以.ht开头、

  Order allow,deny

  Deny from all

TypesConfig /etc/mime.types :指定mime.types文件的保存位置和本机支持的mime格式

DefaultType text/plain :没有指定mime格式的默认格式

UV:每天的独立ip访问量

PV:某页面每天的访问量

Alias:路径别名  ,Alias  /luntan/ "/var/bbs/"

总结:

   定义网站文档目录

   访问选项options

   基于主机的访问控制

   基于用户名和组的访问控制

   用户个人站点

   错误日志

   日志格式

   访问日志 PV UV

   路径别名