




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第13章 Apache服务器配置,Apache简介 Apache的获取和安装 启动和停止Apache服务器 配置Apache服务器 虚拟主机的设置 日志记录 SSI设置 一个完整的配置文件 本章小结,13.1 Apache简介,WWW(World Wide Web),简称Web,起源于欧洲粒子物理中心(CERN),用于在世界范围内传递科学思想和共享研究成果。 目前Web服务器已经成为Internet上最大的计算机群,Web服务器软件的数量也开始增加,市场竞争也越来越激烈。,13.1.1 Apache的诞生,在Web服务器发展的初期,美国国家超级计算应用中心(NCSA)在1995年创建了当时一流的Web服务器。然而,NCSA Web服务器的主要开发人员后来几乎同时离开了NCSA,这使得该项目随即停了下来。 与此同时,那些使用NCSA Web服务器的用户开始交换他们用于该服务器的补丁程序,他们很快认识到了管理这些补丁程序的论坛的重要性。就这样,诞生了Apache Group。这一团体使用NCSA Web服务器的代码,创建了称为Apache的Web服务器软件。,13.1.2 Apache的特性,Apache的其他主要特征有: 支持最新的HTTP协议 简单而强大的基于文本的配置 支持通用网关接口(CGI) 支持虚拟主机 支持HTTP认证 内部集成Perl 集成代理服务器 支持SSL 支持HTTP Cookie,13.2 Apache的获取和安装,用户可以到网上下载Apache的安装手册,安装手册会逐步引导读者完成从Apache源代码的下载到最终编译、安装的整个过程。,13.2.1 Apache获取及其最新信息,由于Apache是自由软件,用户可以在其官方网站上下载安装程序或全部源代码,目前的最新版本为2.3.6。,13.2.2 基于源代码的Apache安装,由于Apache依赖于apr和apr-util,而且从2.3.x后不再集成pcre,因此在安装Apache之前首先需要安装apr、apr-util和pcre。,13.2.2 基于RPM软件包的Apache安装,主要目录: /etc/httpd/conf/ /etc/httpd/conf.d /etc/rc.d/ /usr/sbin/ /usr/share/doc/httpd-2.2.3/ /var/www/html /var/log/httpd,13.3 启动和停止Apache服务器,安装好Apache服务器之后,就可以使用Apache的默认配置启动服务器了。启动Apache服务器有两种方法: 手动启动 自动启动,httpd -hlLStvVX-c-C-d-D-f 选项: -h:显示帮助信息; -l:显示静态编译在Apache服务器中的模块列表; -L:显示httpd指令的列表,其中包含各指令的有效参数和使用区域; -S:显示从配置文件中读取并解析的设置结果; -t:对配置文件进行语法检查; -v:显示版本信息; -V:显示httpd、apr,以及apr-util的版本和编译参数; -X:以调试模式启动服务器; -c:在读取配置文件后,再执行选项中的指令; -C:在读取配置文件前,先执行选项中的指令; -d:指定服务器的根目录; -D:指定要传入配置文件的参数; -f:指定配置文件; -k start|restart|graceful|stop|graceful-stop:启动、重启、优雅重启、停止、或优雅停止Apache服务器。,13.3.1 手动启动和停止Apache服务器,13.3.2 在/etc/rc.d目录下httpd文件中用脚本启动,目录/etc/rc.d中的脚本控制着各种服务的启动和关闭,包括Apache服务器(/etc/rc.d/init.d/httpd)。,13.3.3 测试Apache,启动Apache服务器之后,在Mozilla的地址栏中输入主机的IP地址就可以看到Apache服务器的初始页面。,13.4 配置Apache服务器,Apache服务器的配置文件为httpd.conf,当进程httpd启动或者重新启动时,从该文件中读取数据。配置文件中包含全局配置选项、主要服务参数、以及虚拟主机的设置选项等。,13.4.1 httpd.conf文件中的全局配置选项,httpd.conf文件中包含大量的全局配置选项,其中比较常用包括: ServerRoot TimeOut Listen KeepAlive User和Group KeepAliveTimeout ServerAdmin MaxKeepAliveRequests ServerName HostnameLookup DocumentRoot StartServers UserDir MaxSpareServers DirectoryIndex MaxClients,13.4.2 .htaccess文件和访问限制,.htaccess文件用于进行针对单一目录的配置,放置在一个特定的目录中,作用于该目录及其所有的子目录。 如果要使用.htaccess以外的其它文件名,可以使用AccessFileName选项来设定。 AllowOverride选项用来指定Apache服务器是否去寻找.htacess文件作为配置文件。 参数: AuthConfig:表示允许使用所有的权限指令,如AuthName、Require FileInfo:表示允许使用文件控制类型的指令,如AddLanguage、AddType Indexes:表示允许使用目录控制类型的指令,如AddDescription、AddIcon Limit:表示允许使用权限控制指令,如Allow、Deny、Order Options:表示允许使用控制目录特征的指令,可以为None、All、或任何Indexes、Includes、FollowSymLinks、ExecCGI和MultiViews的组合,13.4.2 .htaccess文件和访问限制,参数的含义为: None:没有启用任何可用的选项。 All:启用所有选项,除MultiViews外。 Indexes:当一个映射到目录的URL被请求时,如果目录中没有DirectoryIndex(如index.html),那么服务器返回一个格式化后的目录列表。 Includes:允许使用mod_include提供的服务器端包含,如果希望禁用exec选项,可以写为IncludesNoExec。 FollowSymLinks:允许访问符号链接的目录。该选项存在潜在的安全隐患,因为允许Web用户跳出文档目录之外,并且可能潜在地允许用户访问文件系统的分区。对某一个目录可以这样设置,但是仅在有足够的理由的情况下才这样设置,而且不要将整个服务器全部设置为该选项。 ExecCGI:允许执行CGI脚本。 MultiViews:该选项是mod_negotiation模块的一部分,当客户请求的文档没有找到时,服务器试图提供最适合客户请求的文档。,13.4.3 httpd.conf文件中的CGI设置,用HTML只能编写静态网页,如果用户希望与Web服务器交互,可以采用CGI的形式。CGI(Common Gateway Interface),即公用网关接口,简单地讲,就是运行在Web服务器上的程序。CGI脚本有两种使用方式: 作为一个表单的Action 作为一个网页中的连接,13.4.4 httpd.conf文件中的URL路径名设置,用户在浏览器中输入一个URL,例如,该URL对应的Web服务器将返回一个页面,这个过程如下: 用户输入一个合法的URL 服务器根据其配置,找到一个与此URL对应的文件 服务器将该文件返回给用户浏览器 用户浏览器对返回的文件进行解析并显示,13.4.4 httpd.conf文件中的URL路径名设置,“文件未找到”错误 URL到文件系统的匹配失败是不可避免的,产生原因有很多种。如果是文档被转移了,最好使用URL的重定向来引导用户访问新的位置,那么,虽然资源已经转移到新的位置,但是原来的书签和链接仍然有效。 另一种常见的原因是在浏览器或HTML链接中URL的无意的输入错误,Apache提供了模块mod_speling(sic)来帮助解决这个问题。如果激活了这个模块,它会接管“文件没找到”的错误并查找相似文件,如果找到了惟一的一个,mod_speling会重定向到这个文件,如果不止一个,则会给出一个列表。 mod_speling的一个很有用的特性是可以忽略大小写查找文件,对不注意URL大小写的用户和Linux文件系统尤为实用。但是,使用mod_speling来纠正偶然的URL错误会给服务器带来额外的负担,因为每次“不正确”的请求都引发URL重定向和来自客户的新请求。,13.4.5 httpd.conf文件中的MIME类型,MIME类型是用来设定某种扩展名文件打开方式。当某种扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。 在Apache的配置文件中,可以通过下面的选项设定浏览器的默认MIME类型。 DefaultType text/plain,13.5 虚拟主机的设置,Web服务器提供的另一个服务就是虚拟域的主机功能,也称为虚拟主机。虚拟主机是一个完整的Web站点,有自己的域名,但在同一台计算机上作为多个Web站点的主机。 设置虚拟主机有两种方法: 使用一个IP地址对应一个CNAME,即基于IP的虚拟主机 使用一个IP地址对应多个CNAME,即基于域名的虚拟主机,13.5.1 基于域名的虚拟主机,在Apache的虚拟主机设置部分,将两个不同域名映射到同一个IP地址,而且DocumentRoot也配置相同即可。 / / 要使用基于域名的虚拟主机,必须首先指定服务器IP地址和端口号,如下所示: NameVirtualHost *:80,13.5.1 基于域名的虚拟主机, ServerAdmin DocumentRoot “/usr/local/apache/docs/“ ServerName ServerAlias ErrorLog “logs/-error_log“ CustomLog “logs/-access_log“ common ServerAdmin DocumentRoot “/usr/local/apache/docs/“ ServerName ErrorLog “logs/-error_log“ CustomLog “logs/-access_log“ common ,13.5.2 基于IP的虚拟主机,对于基于IP的虚拟主机,每个主机都有一个独立的IP地址,这可以通过配备多块物理网卡来实现,也可以使用虚拟网卡来达到这一要求。 ServerAdmin DocumentRoot /www/docs/yanyb ServerName ErrorLog logs/-error_log CustomLog logs/-access_log common ,13.6 日志记录,Apache可以记录Web访问中感兴趣的几乎所有信息。当运行Apache服务器时生成两个标准的日志文件: error_log access_log access_log为访问日志,它会记录服务器所处理的所有请求。访问日志的文件名和位置取决于 CustomLog选项,LogFormat选项可以设定日志的格式,如下所示: LogFormat “%h %l %u %t “%r“ %s %b“ common CustomLog logs/access_log common,13.6 日志记录,LogFormat选项中的变量: %b:发送字节,不包括HTTP标题 %f:文件名 %VARIABLEe:环境变量VARIABLE的内容 %h:远程主机 %a:远程IP地址 %HEADERi:HEADER内容;发送到服务器的请求的标题行 %l:远程登录名(如果提供该值,则从identd获得) %NOTEn:来自另一个模块的NOTE通知的内容续表 %HEADERo:HEADER的内容,回复中的标题行 %p:服务器服务于请求的规范端口 %P:服务于请求的子进程的ID %r:请求的第一行 %s:状态,对于内部重定向的请求,该状态为初始请求(最后是%s) %t:时间,格式为common日志格式中的时间格式 %formatt:时间,格式由format给出 %T:服务请求花费的时间,以秒计 %u:来自auth的远程用户,如果返回的状态(%s)为401则可能是假的 %U:请求的URL路径 %v:服务于该请求的服务器的规范ServerName,13.7 SSI设置,SSI(Server Side Includes)是直接嵌入在HTML页面的指令,在页面被提供时由服务器运行,以对现有HTML页面增加动态生成的内容,而无须通过CGI程序提供其整个页面,或使用其它的动态技术。,13.7.1 SSI简介,要完成较复杂的任务(如聊天室、留言本等),必须设计专门的CGI或ASP程序;但如果只是想给网页添加一些简单的功能(显示文档的更新日期和大小等),则使用SSI就可以完成了。 SSI主要有以下几种用途: 显示服务器端的环境变量 将文本内容直接插入到文档中 显示WEB文档相关信息,如文件创建时间、大小等 直接执行服务器上的各种程序,如CGI等 设置信息显示格式,13.7.2 启用SSI,启用SSI最常用的方法是指定具有某种扩展名(通常为.shtml)的文件在使用时由服务器解析,如下所示: AddType text/html .shtml 也可以使用XbitHack指令指示是否让服务器解析SSI指令,设为on时,让服务器对所有具有可执行属性的文件解析。,13.7.3 SSI指令,SSI指令的基本格式为: 1echo指令 echo指令用于将环境变量插入到页面中,它的使用形式为: 例如: 2include指令 include指令用于将文本文件的内容直接插入到页面中,它的使用形式为: ,13.7.3 SSI指令,SSI指令的基本格式为: 3flastmod 和fsize指令 flastmod和fsize指令分别用来显示文件的最近更新时间和大小,使用形式为: 4exec指令 exec指令用来将外部程序的输出插入到页面中。该命令既可以将CGI脚本程序的输出结果插入到当前页面,也可以将常规应用程序的输出结果插入到当前页面,使用形式为: ,13.7.3 SSI指令,SSI指令的基本格式为: 5config指令 .config指令用来设定返回给客户机浏览器的错误信息、日期、文件大小等的格式,使用形式为: 6XSSI指令 ,13.8 一个完整的配置文件,Apache服务器的主配置文件为httpd.conf,安装完毕后位于/usr/local/apache/conf目录下。除该文件之外,在extra目录还有其它一些配置文件,如httpd-defa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 岩土基础课课件
- 小龙虾水彩课件
- 输液泵应急预案脚本课件
- 小鸭子学游泳课件
- 商铺租赁合同终止及租赁物使用消防安全协议书范本
- 水稻-养殖一体化土地承包种植合同
- 小鸡家着火了课件
- 小食品调味培训课件模板
- 设备制造行业细分领域高端装备制造业发展策略分析报告
- 贪吃的变色龙课件
- T/CCOA 52-2023富硒小麦粉
- 2025年护士执业资格考试题库(社区护理学专项)护理法律法规知识试题卷
- 老人就餐免责协议书
- 应聘家教兼职简历
- 慢阻肺的健康教育讲座
- 光伏电站安全风险辨识及风险库管理制度
- 铁路机车防火安全教育
- 企业内训师培养与培训课程设计
- 网架防腐刷漆施工方案
- 《采矿方法的选择案例综述》1700字
- 新冀教版二年级数学上册教学计划与课程标准对接
评论
0/150
提交评论