您好,欢迎访问三七文档
第二单元Web服务的配置与应用Web服务的概述HTTP协议Web服务Web服务工作原理HTTP协议的目的就是使信息更易于获取,而不管它们的地理位置在哪里。当使用超文本作为文档的标准格式后,人们开发了可以快速获取这些超文本文档的协议——HTTP协议,即超文本传输协议。HTTP是应用级的协议,主要用于分布式、协作的信息系统。HTTP协议是通用的、无状态的,其系统的建设和传输与数据无关。HTTP也是面向对象的协议,可以用于各种任务,包括名字服务、分布式对象管理、请求方法的扩展、命令等。在Internet上,HTTP通信往往发生在TCP/IP连接上,其默认的端口为80,也可以使用其他端口。Web服务Web服务的实现采用客户/服务器模型。客户机运行客户程序——浏览器,它提供良好、统一的用户界面。浏览器的作用是解释和显示Web页面,响应用户的输入请求,并通过HTTP协议将用户请求传递给Web服务器。Web服务器运行服务器程序,它最基本的功能是侦听和响应客户端的HTTP请求,向客户端发出请求处理结果信息。Web服务通常可以分为两种:静态Web服务和动态Web服务。Web服务工作原理Web浏览器使用HTTP命令向一个特定的服务器发出Web页面请求。若该服务器在特定端口(通常是TCP80端口)处接收到Web页面请求后,就发送一个应答并在客户和服务器之间建立连接服务器Web查找客户端所需文档,若Web服务器查找到所请求的文档,就会将所请求的文档传送给Web浏览器。若该文档不存在,则服务器会发送一个相应的错误提示文档给客户端。Web浏览器接收到文档后,就将它显示出来。当客户端浏览完成后,就断开与服务器的连接。Apache服务器开放源代码的Apache(阿帕奇)服务器起初由Illinois大学Urbana-Champaign的国家高级计算程序中心开发,后来Apache被开放源代码团体的成员不断地发展和加强。渐渐地,它开始在功能和速度上超越其他Web服务器。由于Apache服务器拥有牢靠可信的美誉,因此从1995年1月以来,Apache一直是Internet上最流行的Web服务器。Apache服务后台进程:httpd脚本:/etc/rc.d/init.d/httpd使用端口:80(http),443(https)所需RPM包:httpd配置路径:/etc/httpd/conf/httpd.conf默认网站存放路径:/var/服务器测试安装好Apache服务器后可以进行测试了。启动Apache服务器:servicehttpdstartApache服务的基本配置httpd.conf文件的格式Web服务的基本配置创建虚拟目录设置目录权限虚拟主机的配置Apache配置文件httpd.confhttpd.conf配置文件主要由全局环境、主服务器配置和虚拟主机3个部分组成。每部分都有相应的配置语句,该文件所有配置语句的语法为“配置参数名称参数值”的形式。httpd.conf中每行包含一条语句,行末使用反斜杠“\”可以换行,但是反斜杠与下一行中间不能有任何其他字符(包括空白)。httpd.conf的配置语句除了选项的参数值以外,所有选项指令均不区分大小写,可以在每一行前用“#”号表示注释。全局配置(1)ServerRoot用于指定指定守护进程httpd的运行目录,httpd在启动之后自动将进程的当前目录改变为这个目录,因此如果设置文件中指定的文件或目录是相对路径,那么真实路径就位于这个路径之下。Timeout用于定义客户程序和服务器连接的超时间隔,超过这个时间间隔(以秒计)后,服务器将断开与客户机的连接。Listen设定http服务的默认端口。User/Group设定服务器程序的执行者与属组全局配置(2)KeepAlive在HTTP1.0中,一次连接只能作传输一次HTML请求,而KeepAltve参数用于支持HTTP1.1版本的一次连接、多次传输功能,这样就可以在一次连接中传递多个HTML请求。虽然只有较新的浏览器才支持这个功能,但最好还是使用“on”这个选项。MaxKeepAliveRequestsMaxKeepAliveRequests为一次连接可以进行的HTML请求的最大请求次数。将其值设为0,将支持在一次连接内进行无限次的传输请求。事实上没有客户程序在一次连接中请求大多的页面,通常达不到这个上限就完成连接了。KeepAliveTimeoutKeepAliveTimeout测试一次连接中的多次请求传输之间的时间,如果服务器已经完成了一次请求,但一直没有接收到客户程序的下一次请求,当时间间隔超过了这个参数设置的值之后,服务器就断开连接。全局配置(3)MaxClients服务器的能力毕竟是有限的,不可能同时处理无限多的连接请求,因此参数MaxClients就用于规定服务器支持的最多并发访问的客户数,如果这个值设置得过大,系统在繁忙时不得不在过多的进程之问进行切换来为这些客户进行服务,这样对每个客户的反应就会减慢,并降低了整体的效率。如果这个值设置得较小,那么系统繁忙时就会拒绝一些客户的连接请求。当服务器性能较高时,可以适当增加这个值的设置。MaxRequestsPerChild使用于进程方式的Web务,常用的方式是一个子进程为一次连接服务,这样造成的问题就是每次连接都需要生成、退出于进程的系统操作,这些额外的处理过程占据了计算机的大量处理能力。因此最好的方式是一个子进程可以为多次连接请求服务,这样就不会造成这些生成、退出进程引起的系统消耗。Apache就采用了这样的方式,一次连接结束后,子进程并不退出,而是停留在系统中等待下一次服务请求,这样就极大地提高了性能。主机配置ServerAdmin设定站点管理者的电子邮件ServerName设定服务器的名称DocumentRoot设定服务器的共享路径DirectoryIndex设定默认调用文件顺序ErrorLog设定错误记录文件名称创建虚拟目录虚拟目录有以下优点。便于访问。便于移动站点中的目录。能灵活加大磁盘空间。安全性好。使用Alias选项可以创建虚拟目录。【例】创建名为/down的虚拟目录,它对应的物理路径是“/software/download”。Alias/down/software/download“注意:如果系统开启了SELinux,则还需要去改变真实目录的上下文。为指定的目录设置目录权限可以使用Directory目录路径和/Directory这对语句为主目录或虚拟目录设置权限,它们是一对容器语句,必须成对出现,它们之间封装的是具体的设置目录权限语句,这些语句仅对被设置目录及其子目录起作用。下面是主配置文件中设置目录权限的例子。Directory/var/通过options参数指令访问权限命令说明Indexes允许目录浏览当客户仅指定要访问的目录,但没有指定要访问目录下的哪个文件,而且目录下不存在默认文档时,Apache以超文本形式返回目录中的文件和子目录列表(虚拟目录不会出现在目录列表中),如图7-8所示MultiViews允许内容协商的多重视图MultiViews其实是Apache的一个智能特性。当客户访问目录中一个不存在的对象时,如访问“”,则Apache会查找这个目录下所有a.*文件。由于icons目录下存在a.gif文件,因此Apache会将a.gif文件返回给客户,而不是返回出错信息AllAll包含了除MultiViews之外的所有特性如果没有Options语句,默认为AllExecCGI允许在该目录下执行CGI脚本FollowSymLinks可以在该目录中使用符号连接Includes允许服务器端包含功能IncludesNoExec允许服务器端包含功能,但禁用执行CGI脚本基于主机的目录访问权限当要限制某一个主机是否能够访问目录时,可加入以下的参数来设置:Orderallow,deny//默认拒绝所有主机访问Allowfrom192.168.0.100//单独开放Orderdeny,allow//默认充许所有主机访问Denyfrom192.168.0.100//单独禁止基于用户的目录访问权限建立口令文件htpasswd-c/etc/httpd/pwfilelinden添加用户htpasswd/etc/httpd/pwfilelonny修改用户密码htpasswd/etc/httpd/pwfilelonny建立虚拟目录并配置用户认证Alias/mysecret/usr/local/mysecret“Directory/usr/local/mysecretAuthTypeBasicAuthNameThisisaprivatedirectory.PleaseLogin:AuthUserFile/etc/httpd/mysecretpwdRequirevalid-userlindentom/Directory虚拟Web主机配置利用虚拟主机技术,可以把一台真正的Web主机分割成许多“虚拟”的Web主机,每个一个虚拟Web主机共享物理资源,从而实现多用户对硬件资源、网络资源共享,大幅度降低了用户的建站成本。虚拟主机具有以下优点。节约投资节约维护费用可以获得专业的维护而无需维护人员与昂贵的电源系统拥有更加稳定的性能基于域名的虚拟Web主机当Web服务器只有一个IP时,可通过基于域名的虚拟Web主机技术来共享多个站点,当服务器收到访问请求时,就可以根据不同的DNS域名来访问不同的网站。它的优势就是不需要更多的IP地址,容易配置。在配置文件中修改虚拟主机配置部分内容:NameVirtualHost*:80VirtualHost*:80DocumentRoot/usr/*:80DocumentRoot/usr/“ServerNamebbs.yinhepx.com/VirtualHost基于IP地址的虚拟Web主机基于IP的虚拟Web主机与基于域名的虚拟Web主机配置类似,但在这种虚拟Web主机中,每个站点对应着不同的IP地址。其配置如下:#NameVirtualHost*:80//将此行注释掉VirtualHost192.168.0.20:80DocumentRoot/usr/“ServerName:80DocumentRoot/usr/启动和停止Web服务启动Web服务servicehttpdstart停止Web服务servicehttpdstop重新启动Web服务servicehttpdrestart测试Web配置文件servicehttpdconfigtestCGI运行环境的配置Web浏览器、Web服务器和CGI程序之间的一个工作流程。用户通过Web浏览器访问CGI程序。Web服务器接收用户请求并交给CGI程序处理。CGI程序执行基于输入数据的操作,包括查询数据库、计算数值或调用系统中其他程序。CGI程序产生某种Web服务器能理解的输出结果。Web服务器接收来自CGI程序的输出并且把它传回Web浏览器。Perl语言解释器的安装默认情况下,RedHatEnterpriseLinux安装程序会将Perl语言解释器安装在系统上,如果没有安装请自行安装。安装rpm-ivhperl-xxxxxxx.rpm配置httpd.conf支持CGI设置存放CGI文件的目录权限应
本文标题:WEB服务器配置
链接地址:https://www.777doc.com/doc-5374620 .html