Web服务器配置与管理.ppt_第1页
Web服务器配置与管理.ppt_第2页
Web服务器配置与管理.ppt_第3页
Web服务器配置与管理.ppt_第4页
Web服务器配置与管理.ppt_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第16章 Web服务器配置与管理,Web服务是目前Internet上最常见的服务之一,要搭建一个Web服务器,首先要选择一套合适的Web程序,在本章中将会以强大的Apache为例,介绍相关的安装、配置、维护和高级功能等方面的知识,演示如何在Linux操作系统构建基于Apache的Web服务器。,16.1 Web服务器简介,万维网又称为Web(World Wide Web:www),是在Internet上以超文本为基础形成的信息网,用户通过浏览器可以访问Web服务器上的信息资源,目前在Linux操作系统上最常用的Web服务器软件是Apache。本节将简单介绍Web服务器的历史以及工作原理,并介绍Apache的特点以及它的功能模块。,16.1.1 Web服务的历史和工作原理,Web在1989年起源于欧洲的一个国际核能研究院中,由于随着研究的深入和发展,研究院里的文件数量越来越多,而且人员流动也很大,要找到相关的最新的资料非常困难。于是一个科学家就提出了这样一个建议:在服务器上维护一个目录,目录的链接指向每个人的文件;每个人维护自己的文件,保证别人访问的时候总是最新的文档,这个建议得到采纳并被不断完善后,最终形成如今Internet上最常见的WWW服务。 Web系统是客户/服务器模式(C/S)的,所以有服务器端和客户端程序两部分。常用的服务器有Apache、IIS等,常用的客户端浏览器有如IE、Netscape、Mozilla等,用户在浏览器的地址栏中输入统一资源定位地址(URL)访问Web页面。,16.1.1 Web服务的历史和工作原理,16.1.2 Apache简介,Apache是一种开源的HTTP服务器软件,可以在包括UNIX、Linux以及Windows在内的大多数主流计算机操作系统中运行,由于其支持多平台和良好的安全性而被广泛使用。Apache由Illinois大学Urbana-Champaign的国家高级计算程序中心开发,它的名字取自a patchy server的读音,即充满补丁的服务器,可见在最初的时候该程序并不是非常完善。,16.1.3 Apache的模块,Apache采用模块化的设计,模块安装后就可以为Apache内核增加相应的新功能。默认情况下Apache已经安装了部分的模块,用户也通过使用模块配置,自定义Apache服务器中需要安装哪些功能,这也是Apache灵活性的表现。,16.2 Apache服务器的安装,本节以2.2.9版本的Apache为例,介绍如何获得并通过源代码安装包在Red Hat Enterprise Linux 5.2上安装Apache服务器、如何启动关闭Apache服务、如何检测Apache服务的状态、以及配置Apache服务的开机自动运行。,16.2.1 如何获取Apache软件,Redhat Linux AS5.2自带了Apache,版本为2.2.3。用户只要在安装操作系统的时候把http server选项选中,Linux安装程序将会自动完成Apache的安装工作。如果在安装操作系统时没有安装Apache,也可以通过安装光盘中的RPM软件包进行安装,所需的RPM软件包如下所示。 httpd-2.2.3-11.el5_1.3.i386.rpm httpd-manual-2.2.3-11.el5_1.3.i386.rpm,16.2.1 如何获取Apache软件,16.2.2 安装Apache服务器,Apache对系统的软件和硬件环境都有所要求,在安装前需要检查系统环境是否能满足要求。检查完成后,先解压安装包文件,然后进行源代码的编译和安装。,16.2.2 安装Apache服务器,16.2.3 启动和关闭Apache,安装完成后就可以开始启动Apache服务。Apache的启动关闭都是通过/bin目录下的apachectl命令进行管理的。启动Apache服务,如下所示。 ./apachectl start 关闭Apache服务,如下所示。 ./apachectl stop 重启Apache服务,如下所示。 ./apachectl restart,16.2.3 启动和关闭Apache,16.2.4 检测Apache服务,要检测Apache服务是否正在运行,可以通过检查Apache进程状态或者直接通过浏览器访问Apache发布的网站页面来确定。 1检查Apache进程 2检查Apache页面,16.2.5 让Apache自动运行,Red Hat Enterprise Linux 5.2可以支持程序服务的开机自动运行,如果要配置Apache服务在服务器启动的时候自动运行,可以编写启动和关闭Apache服务的脚本,然后进行相应的配置。,16.3 Apache服务器的基本配置和维护,Apache在安装时已经自动采用了一系列的默认设置,安装完成后Web服务器已经可以对外提供WWW服务,但为了能够更好地运作,还需要对Apache进行一些配置。Apache的主要配置文件为httpd.conf,此外,Apache还提供了相关的命令方便管理和配置。,16.3.1 查看Apache的相关信息,apachectl命令是Apache管理中最常用的命令,它除了可以用于启动和关闭Apache服务外,还可以用来查看Apache的一些相关信息,例如版本信息、已编译模块的信息等,关于该命令的常见用法说明如下所示。 1查看Apache软件的版本信息 2查看已经被编译的模块,16.3.1 查看Apache的相关信息,16.3.2 httpd.conf配置文件介绍,httpd.conf是Apache的配置文件,Apache中的常见配置主要都是通过修改该文件实现,该文件更改后需要重启Apache服务使更改的配置生效。 下面对httpd.conf配置文件中,一些常用配置选项的用法进行解释。 1ServerRoot参数 2Listen参数 3User和Group参数 4ServerAdmin参数 5DocumentRoot参数 6ErrorLog参数 7LogLevel参数,16.3.3 配置文件的修改,用户可以直接通过图形界面中文件编辑器或者在字符界面下通过VI对配置文件进行修改,修改完成后必须重启Apache服务才能使更改生效。如果用户在配置文件中添加了错误的参数或者设置了错误的参数值,那么Apache将无法启动,这时候就需要用户在配置文件中去查找错误的配置信息并进行更改。如果更改的参数很多,那么这个查错的过程将会非常困难。为方便用户验证httpd.conf配置文件中的参数是否配置正确,Apache提供了命令可以自动完成上述工作,具体命令如下所示。 apachectl -configtest,16.3.3 配置文件的修改,16.3.4 符号链接和虚拟目录,在16.3.2节关于httpd.conf配置文件的介绍中提到了一个DocumentRoot的参数,该参数用于指定Web服务器发布文档的主目录,在默认情况下,用户通过http访问Web服务器所浏览到的所有资料都是存放于该目录之下。该参数只能设置一个目录作为参数值,那么是不是在Apache中就只能有一个目录存放文档文件呢?如果文档根目录空间不足,要把文件存放到其他的文件系统中去应该怎么办呢?对上述问题,Apache提供了两种解决方法: 1符号链接 2虚拟目录,16.3.5 页面重定向,如果用户经常访问某个网站的网页时,他很可能会把页面的URL添加到收藏夹中,在每次访问网站的时候可以直接点击收藏夹中的记录访问。但是如果网站进行了目录结构的更新后,用户再使用原来的URL访问时就会出现“404 页面无法找到”的错误,为了方便用户能够继续使用原来的URL进行访问,这时就要使用页面重定向。 1页面重定向命令说明 2页面重定向配置,16.3.6 Apache日志文件,Apache服务器运行后会生成两个日志文件,这两个文件是access_log(访问日志)和error_log(错误日志),采取默认安装方式时,这些文件可以在/usr/local/apache2/log目录下找到。关于安装目录的设置,可参看16.2.2节的内容。 1访问日志文件 2错误日志,16.4 日志分析,在16.3节中已经介绍了Apache中的标准日志访问日志和错误日志,虽然访问日志中包含了大量的用户访问信息,但是这些信息对网站经营者和网站管理员管理、规划网站却没有多少直接的帮助。作为一个网站的经营者,最希望知道的就是有多少人浏览了网站,他们浏览了哪些网页,停留了多长时间等。其实这些信息就隐藏在访问日志文件中,但是要把这些数据有效地展现出来,还需要一些工具来进行深入的发掘,Webalizer就是这类软件中的一个佼佼者。,16.4.1 安装Webalizer日志分析程序,Webalizer是一个优秀的日志分析程序,Redhat Enterprise Linux 5.2安装介质中提供了Webalizer的RPM包,如果用户在安装操作系统的时候已经安装了Webalizer,则可以跳过。需要安装的RPM软件包如下所示。 Webalizer-2.01_10-30.1.i386.rpm,16.4.2 配置Webalizer,Webalizer的配置主要通过修改Webalizer.conf配置文件实现。安装Webalizer后,该文件默认存放于/etc/目录下,下面是Webalizer.conf文件的默认配置及各配置选项的说明,用户可以根据实际的需要进行更改。,16.4.3 使用Webalizer分析日志,经过前面的配置,Webalizer已经可以使用,运行Webalizer命令后将会在/usr/local/apache2/htdocs/loganalyze目录下生成相应的报表。运行结果如图16.25所示。 可以看到,Webalizer在loganalyze目录下生成了一系列的HTML和PNG图形文件,Apache访问日志的统计信息就保存在这些文件中。Webalizer命令还有很多其他的选项,但是只要把Webalizer.conf文件配置好了就基本不需要在命令中添加其他选项,Webalizer命令的各种选项的用法可以通过执行Webalizer h命令来了解。,16.4.3 使用Webalizer分析日志,16.5 Apache安全配置,Apache提供了多种的安全控制手段,包括设置Web访问控制、用户登录密码认证及.htaccess文件等。通过这些技术手段,可以进一步提升Apache服务器的安全级别,减少服务器受攻击或数据被窃取的风险。,16.5.1 访问控制,设置访问控制是提高Apache服务器安全级别最有效的手段之一,但在介绍Apache的访问控制指令前,先要介绍一下Diretory段。Diretory段用于设置与目录相关的参数和指令,包括访问控制和认证,其格式如下所示。 目录相关的配置参数和指令 每个Diretory段以开始,以结束,段作用于中指定的目录及其里面的所有文件和子目录。在段中可以设置与目录相关的参数和指令,包括访问控制和认证。Apache中的访问控制指令有以下3种。 1Allow指令 2Deny指令 3Order指令,16.5.1 访问控制,16.5.2 用户认证,Apache的用户认证包括基本(Basic)认证和摘要(Digest)认证两种。摘要认证比基本认证要更加安全,但是并非所有的浏览器都支持摘要认证,所以本节只针对基本认证进行介绍。基本认证方式其实相当简单,当Web浏览器请求经此认证模式保护的URL时,将会出现一个对话框,要求用户键入用户名和口令。用户输入后,传给Web服务器,Web服务器验证它的正确性。如果正确,则返回页面;否则将返回401错误。 要使用用户认证,首先要创建保存用户名和口令的认证口令文件,在Apache中提供了htpasswd命令用于创建和修改认证口令文件,该命令在/bin目录下,关于该命令完整的选项和参数说明可以通过直接运行htpasswd获取。,16.5.2 用户认证,16.5.3 分布式配置文件:.htaccess,.htaccess文件又称为“分布式配置文件”,该文件可以覆盖httpd.conf文件中的配置,但是它只能设置对目录的访问控制和用户认证,.htaccess文件可以有多个,每个.htaccess文件的作用范围仅限于该文件所存放的目录以及该目录下的所有子目录。虽然.htaccess能实现的功能在段中都能够实现,但是因为在.htaccess修改配置后并不需要重启Apache服务就能生效,所以在一些对停机时间要求较高的系统中可以使用。,16.6 虚拟主机,虚拟主机服务就是指将一台物理服务器虚拟成多台的Web服务器,可以有效节省硬件资源并且方便管理。Apache可支持基于IP地址或主机名的虚拟主机服务,本节将分别介绍这两种Apache虚拟主机技术的实现。,16.6.1 虚拟主机服务简介,虚拟主机服务就是指将一台物理服务器虚拟成多台虚拟的Web服务器。对于一些小规模的网站,通过使用Web虚拟主机技术,可以跟其他网站共享同一台物理机器,有效减少系统的运行成本,并且可以减少管理的难度。另外对于个人用户,也可以使用这种虚拟主机方式来建立有自己独立域名的Web服务器。,16.6.2 基于IP的虚拟主机服务,顾名思义,提供基于IP的虚拟主机服务的服务器上必须同时设置有多个IP地址,服务器根据用户请求的目的IP地址来判定用户请求的是哪个虚拟主机的服务,从而作进一步的处理。 Apache中是通过httpd.conf配置文件中的段来配置虚拟主机服务的,其参数格式如下所示。 虚拟主机相关的配置参数和指令 ,16.6.2 基于IP的虚拟主机服务,16.6.3 基于主机名的虚拟主机服务,由于基于IP地址的虚拟主机服务有如上的缺点,HTTP 1.1协议中增加了对基于主机名的虚拟主机服务的支持。具体地说,当客户程序向Web服务器发出请求时,客户想要访问的主机名也通过请求头中的“Host:”语句传递给Web服务器。Web服务器程序接收到这个请求后,可以通过检查“Host:”语句来判定客户程序请求是哪个虚拟主机的服务,然后再进一步的处理。通过这样的方式,提供虚拟主机服务的机器上只要设置一个IP地址,理论上就可以给无数多个虚拟域名提供服务。这样占用资源少,管理方便,所以目前基本上都是使用这种方式来提供虚拟主机服务。 与基于IP地址的虚拟主机服务的配置方法略有不同,用户必须在httpd.conf配置文件中使用NameVirtualHost参数,其格式如下所示。 NameVirtualHost IP地址/主机名:端口,16.6.3 基于主机名的虚拟主机服务,16.7 Apache服务器配置常见问题,本节将介绍在Red Hat Enterprise Linux 5.2上配置Apache服务器过程中常见的一些问题,包括如何防止其他网站非法盗链网站的图片文件,在access_log日志文件中忽略部分访问日志的记录以及处理Apache服务无法启动的故障等。,16.7.1 防止网站图片盗链,为了防止其他网站非法盗链本网站中的图片文件,可以在Apache中进行一些配置,以禁止图片盗链。假设本网站的域名为www.myW,用户可编辑ht

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论