https://www.doczj.com/doc/b118318171.html,/a/20071202/000037.htm
Web 的工作方式
?Web 系统是客户/服务器式的。
?WWW 服务遵从HTTP 协议,缺省的TCP/IP 端口是TCP 80 。
?客户与服务器的通信过程
Internet Web Client Web Server
HTTP请求--〉
<--HTTP应答
<--HTTP应答HTTP请求--〉
ASF
?早期的Apache服务器由Apache Group来维护
?直到1999年6月Apache Group在美国德拉瓦市成立了非盈利性组织的公司,即Apache软件基金会(Apache
Software Foundation,ASF)。
?ASF现在维护着包括Apache在内的多个项目,还包括Perl、PHP、Java、Tcl、XML等。
?ASF的网址是https://www.doczj.com/doc/b118318171.html,。
Apache的特性-1.3版本
?实现了动态共享对象(DSO),允许在运行时动态装载功能模块
?采用预生成模式的技术提高响应速度
?支持最新的HTTP1.1协议
?简单而强有力的基于文件的配置
?支持虚拟主机
?支持HTTP认证
?支持第三方软件开发商提供的大量功能模块
?……
Apache的特性-2.0版本?Apache 2.0具备Apache 1.3的几乎所有特性。?Apache 2.0添加了附加功能层,最基本的组件是可移植运行环境(Apache Portable Runtime,APR),它提高了Apache的跨平台性能。
?Apache 2.0使用新的多处理模块(Multi-Processing Module,MPM),使用此模块会在服务器处理多个请求时,控制Apache的运行方式。Apache中的三种运行方式分别是:
–预派生(Profork)MPM (Red Hat 9.0以后版本的默
认运行模式)
–工作者(Worker)MPM
–独立子进程(Perchild)MPM
安装和启动Apache
?安装Apache 2.0
–# rpm –ivh httpd-2.0.40-21.i386.rpm
–# rpm -ivh httpd-manual-2.0.40-21.i386.rpm
?启动和停止Apache
–# service httpd start
–# service httpd stop
–# service httpd restart
–# service httpd status pstree|grep httpd
?检测配置文件语法的正确性
–# apachectl configtest
Apache配置文件?配置文件所在目录
–/etc/httpd/conf/
?主配置文件
–httpd.conf
配置Apache
-Apache的基本配置(1)?KeepAlive
–KeepAlive On|Off
–启用此项,表示允许保持连接,让每次连接能提出多个请求。避免每请求一个文件就跟服务器建立一次连接。
?MaxKeepAliveRequests
–MaxKeepAliveRequests n
–每次连接可提出请求的数量,设置为0表示数量不
限,默认值为100。
配置Apache
-Apache的基本配置(2)?KeepAliveTimeout
–KeepAliveTimeout n
–连续两个请求之间的时间如果超过n秒还未到达,
则视为连接中断。
?MaxClients
–MaxClients n
–同事接入的数目太多时会降低系统访问性能,设置此参数可限制同时连接的最大数值,默认值为
150。
配置Apache
-Apache的基本配置(3)?MinSpareServers和MaxSpareServers
–MinSpareServers m
–MaxSpareServers n
–提供浏览服务的httpd进程的数目需要随连接数目的多少而变化,因此需要随时保持几个闲置的httpd进程等候新的连接请求。若闲置的进程数少于m个(默认值5),则表示闲置进程太少,需要将其增加到m
个;若多于n个(默认值20)则表示闲置进程太多,需将其减少到n
个。
?StartServers
–StartServers n
–当apache服务器启动时,httpd进程的数目,默认值为8。
配置Apache
-Apache的基本配置(4)?ServerName
–ServerName localhost
–设置主机的名称,此名称会被送到远程连接程序,以取代安装Apache主机的真实名称。默认值是
localhost,行首加#号,关闭此功能。?ServerAdmin
–ServerAdmin root@localhost
–服务器管理员的邮件地址,当服务器运行出错时将向此邮件地址发信。
配置Apache
-Apache的基本配置(5)?ServerRoot
–ServerRoot"/etc/httpd"
–ServerRoot用于指定apache服务器的配置文件及日志文件存放的根目录,默认为目录"/etc/httpd" 。?DocumentRoot
–DocumentRoot"/var/www/html“
–指定Apache服务器存放网页的文档根目录。
配置Apache
-Apache的基本配置(6)?Listen
–Listen 80
–用于设置apache服务器监听端口,默认使用80端口?User
–User apache
–设置httpd用哪个用户账号启动,默认使用apache用户?Group
–Group apache
–设置httpd用哪个组账号启动,默认使用apache组
配置Apache
-Apache的基本配置(7)
?DirectoryIndex
–用于指定目录中默认的索引文件名称
–DirectoryIndex index.html index.htm ?Options
–Indexes
?当在目录中找不到DirectoryIndex列表中指定的文件–FollowSymLinks
?允许符号链接跟随,访问不在本目录下的文件
配置Apache
-Apache的基本配置(8)
?IndexOptions
–FancyIndexing
?对每种类型的文件前加上一个小图标以示区别–VersionSort
?对同一个软件的多个版本进行排序
–NameWidth=*
?文件名子段自动适应当前目录下最长文件名–FoldersFirst
?让目录列在前面(类似于资源管理器)
配置Apache-容器指令
?容器指令(container directive)–通常包括在<>……>括号内
?常用的容器指令有:
–
–
–
–
配置Apache
-配置每个用户的Web站点?要经过下面的配置步骤:
–修改主配置文件启用每个用户的Web站点配置
–修改主配置文件为每个用户的Web站点目录配置访问控制–在用户的自家目录中创建站点目录及网页文件?UserDir配置语句
–UserDir disable root
?基于安全考虑,禁止root用户使用自己的个人站点–UserDir public_html
?配置对每用户Web站点目录的设置
?设置$HOME对其他目录的可执行权限
组织和管理站点内容
?符号链接
–使用符号链接可以将根文档之外的内容链入站点–# cd/var/www/html
–# ln-s /usr/share/doc doc
?别名
–使用别名具有如下的两个功能:
?将根文档目录以外的内容加入站点
?简化访问站点内深层目录的URL
–Alias /ftp /var/ftp/pub
配置访问控制(1)
?访问控制的配置指令
–Order:用于指定执行允许访问规则和执行拒绝访问规则的先后顺序
–Deny:定义拒绝访问列表
–Allow:定义允许访问列表
?Order指令的两种形式
–Order Allow,Deny:在执行拒绝访问规则之前先执行允许访问规则,默认情况下将会拒绝所有没有明确被允许的客户。
–Order Deny,Allow:在执行允许访问规则之前先执行拒绝访问规则,默认情况下将会允许所有没有明确被拒绝的客户。
配置访问控制(2)
?Deny 和Allow
–Deny和Allow指令的后面需要跟访问列表
?访问列表可以使用如下的几种形式:
–All:表示所有客户
–域名:表示域内的所有客户,如https://www.doczj.com/doc/b118318171.html,
–IP地址:可以指定完整的IP地址或部分IP地址
–网络/子网掩码:如192.168.1.0/255.255.255.255.0–CIDR规范:如192.168.1.0/24