《第07章 Web服务的配置与应用.ppt》由会员分享,可在线阅读,更多相关《第07章 Web服务的配置与应用.ppt(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第07章章 Web服务的配置与应用服务的配置与应用本章导读lWeb服务的概述 lApache服务器 lApache服务器的安装 lApache服务的基本配置l启动和停止Web服务 lCGI运行环境的配置 lPHP运行环境的配置lJSP运行环境的配置 7.1 Web服务的概述服务的概述HTTP协议协议Web服务服务Web服务工作原理服务工作原理HTTP协议 WWW的目的就是使信息更易于获取,而不管它们的地理位置在哪里。当使用超文本作为WWW文档的标准格式后,人们开发了可以快速获取这些超文本文档的协议HTTP协议,即超文本传输协议。HTTP是应用级的协议,主要用于分布式、协作的信息系统。HTTP
2、协议是通用的、无状态的,其系统的建设和传输的数据无关。HTTP也是面向对象的协议,可以用于各种任务,包括名字服务、分布式对象管理、请求方法的扩展、命令等。在Internet上,HTTP通信往往发生在TCP/IP连接上,其默认的端口为80,也可以使用其他端口。Web服务 Web服务的实现采用客户/服务器模型。客户机运行WWW客户程序浏览器,它提供良好、统一的用户界面。浏览器的作用是解释和显示Web页面,响应用户的输入请求,并通过HTTP协议将用户请求传递给Web服务器。Web服务器一端运行服务器程序,它最基本的功能是侦听和响应客户端的HTTP请求,向客户端发出请求处理结果信息。Web服务通常可以
3、分为两种:静态Web服务和动态Web服务。Web服务工作原理 Web浏览器使用HTTP命令向一个特定的服务器发出Web页面请求。若该服务器在特定端口(通常是TCP 80端口)处接收到Web页面请求后,就发送一个应答并在客户和服务器之间建立连接。服务器Web查找客户端所需文档,若Web服务器查找到所请求的文档,就会将所请求的文档传送给Web浏览器。若该文档不存在,则服务器会发送一个相应的错误提示文档给客户端。Web浏览器接收到文档后,就将它显示出来。当客户端浏览完成后,就断开与服务器的连接。7.2 Apache服务器服务器开放源代码的Apache(阿帕奇)服务器起初由Illinois大学Urba
4、na-Champaign的国家高级计算程序中心开发,后来Apache被开放源代码团体的成员不断地发展和加强。开始时,Apache只是Netscape网页服务器(现在是Sun ONE)的之外的开放源代码选择。渐渐地,它开始在功能和速度上超越其他Web服务器。由于Apache服务器拥有牢靠可信的美誉,因此从1995年1月以来,Apache一直是Internet上最流行的Web服务器。7.3 Apache服务器的安装服务器的安装1安装Apache服务器使用下面的命令检查系统是否已经安装了Apache或查看已经安装了何种版本。rpm-q httpd要安装Apache,应将Red Hat Enterpr
5、ise Linux 5第2张安装盘放入光驱,加载光驱后在光盘的Server目录下找到Apache的RPM安装包文件httpd-2.2.3-6.el5.i386.rpm,可使用下面命令安装Apache。rpm-ivh/mnt/Server/httpd-2.2.3-6.el5.i386.rpm7.3 Apache服务器的安装服务器的安装2测试Apache服务器执行“/etc/init.d/httpd start”命令,确认Web服务已经启动后,在客户端使用的Web浏览器中输入Linux服务器的IP地址进行访问。7.4 Apache服务的基本配置 httpd.conf文件的格式 Web服务的基本配置
6、 创建虚拟目录创建虚拟目录设置目录权限设置目录权限用户认证用户认证虚拟主机的配置虚拟主机的配置httpd.conf文件的格式 httpd.conf配置文件主要由全局环境(Section 1:Global Environment)、主服务器配置(Section 2:Main server configuration)和虚拟主机(Section 3:Virtual Hosts)3个部分组成。每部分都有相应的配置语句,该文件所有配置语句的语法为“配置参数名称 参数值”的形式,配置语句可以放在文件中的任何地方,但为了增强文件的可读性,最好将配置语句放在相应的部分。httpd.conf中每行包含一条语句
7、,行末使用反斜杠“”可以换行,但是反斜杠与下一行中间不能有任何其他字符(包括空白)。httpd.conf的配置语句除了选项的参数值以外,所有选项指令均不区分大小写,可以在每一行前用“#”号表示注释。Web服务的基本配置 1设置主目录的路径DocumentRoot/var/www/html“2设置默认文档DirectoryIndex index.html index.html.var3设置Apache监听的IP地址和端口号Listen 804设置相对根目录的路径ServerRoot/etc/httpd“5设置日志文件(1)错误日志ErrorLog logs/error_log(2)访问日志Cus
8、tomLog logs/access_log combinedWeb服务的基本配置6设置网络管理员的E-mail地址ServerAdmin 7设置服务器主机名称ServerName 192.168.16.177:808设置默认字符集AddDefaultCharset UTF-8由于西欧(UTF-8)是Apache的默认字符集,因此当客户端访问服务器的中文网页时会出现乱码的现象,解决的办法是将语句“AddDefaultCharset UTF-8”改为“AddDefaultCharset GB2312”,然后重新启动Apache服务,中文网页就能正常显示了。创建虚拟目录创建虚拟目录虚拟目录有以下优
9、点。(1)便于访问。(2)便于移动站点中的目录。(3)能灵活加大磁盘空间。(4)安全性好。使用Alias选项可以创建虚拟目录。【例1】创建名为/down的虚拟目录,它对应的物理路径是“/software/download”。Alias/down/software/download【例2】创建名为/ftp的虚拟目录,它对应的物理路径是“/var/ftp”。Alias/ftp/var/ftp设置目录权限 可以使用和这对语句为主目录或虚拟目录设置权限,它们是一对容器语句,必须成对出现,它们之间封装的是具体的设置目录权限语句,这些语句仅对被设置目录及其子目录起作用。下面是主配置文件中设置目录权限的例子
10、。Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all设置目录权限目录特性选项 命令说明Indexes允许目录浏览当客户仅指定要访问的目录,但没有指定要访问目录下的哪个文件,而且目录下不存在默认文档时,Apache以超文本形式返回目录中的文件和子目录列表(虚拟目录不会出现在目录列表中),如图7-8所示MultiViews允许内容协商的多重视图MultiViews其实是Apache的一个智能特性。当客户访问目录中一个不存在的对象时,如访问“http:/192.168.16.177/icons/a
11、”,则Apache会查找这个目录下所有a.*文件。由于icons目录下存在a.gif文件,因此Apache会将a.gif文件返回给客户,而不是返回出错信息AllAll包含了除MultiViews之外的所有特性,如果没有Options语句,默认为AllExecCGI允许在该目录下执行CGI脚本FollowSymLinks可以在该目录中使用符号连接Includes允许服务器端包含功能IncludesNoExec允许服务器端包含功能,但禁用执行CGI脚本用户认证用户认证1建立口令文件htpasswd-c/etc/httpd/mysecretpwd linden2建立虚拟目录并配置用户认证Alias/
12、mysecret/usr/local/mysecretAuthType BasicAuthName This is a private directory.Please Login:AuthUserFile/etc/httpd/mysecretpwdRequire user linden tom虚拟主机的配置 1虚拟主机的概述利用虚拟主机技术,可以把一台真正的主机分成许多“虚拟”的主机,从而实现多用户对硬件资源、网络资源共享,大幅度降低了用户的建站成本。虚拟主机具有以下优点。(1)节约投资(2)节约维护费用(3)可以获得专业的维护而无需维护人员与昂贵的电源系统(4)拥有更加稳定的性能虚拟主机的
13、配置2基于IP地址的虚拟主机ServerName 192.168.16.201:80ServerAdmin DocumentRoot/usr/www/web1DirectoryIndex index.htmlErrorLog logs/web1/error_logCustomLog logs/web1/access_log combinedServerName 192.168.16.202:80ServerAdmin DocumentRoot/usr/www/web2DirectoryIndex default.htmlErrorLog logs/web2/error_logCustomLog
14、 logs/web2/access_log combined虚拟主机的配置3基于域名的虚拟主机当Web服务器收到访问请求时,就可以根据不同的DNS域名来访问不同的网站。它的优势就是不需要更多的IP地址,容易配置。NameVirtualHost 192.168.16.201ServerName :80ServerAdmin DocumentRoot/usr/www/web1DirectoryIndex index.htmlErrorLog logs/web1/error_logCustomLog logs/web1/access_log combinedServerName :80ServerA
15、dmin DocumentRoot/usr/www/web2DirectoryIndex default.htmlErrorLog logs/web2/error_logCustomLog logs/web2/access_log combined7.5启动和停止启动和停止Web服务服务1启动Web服务/etc/init.d/httpd start2停止Web服务/etc/init.d/httpd stop3重新启动Web服务/etc/init.d/httpd restart7.5启动和停止启动和停止Web服务服务 4自动启动Web服务 如果需要让Web服务随系统启动而自动加载,可以执行“nt
16、sysv”命令启动服务配置程序,找到“httpd”服务,在其前面加上星号(*),然后选择“确定”即可。7.6 CGI运行环境的配置运行环境的配置Perl语言解释器的安装语言解释器的安装httpd.conf文件的配置文件的配置测试测试CGI运行环境运行环境7.6 CGI运行环境的配置运行环境的配置Web浏览器、Web服务器和CGI程序之间的一个工作流程。(1)用户通过Web浏览器访问CGI程序。(2)Web服务器接收用户请求并交给CGI程序处理。(3)CGI程序执行基于输入数据的操作,包括查询数据库、计算数值或调用系统中其他程序。(4)CGI程序产生某种Web服务器能理解的输出结果。(5)Web
17、服务器接收来自CGI程序的输出并且把它传回Web浏览器。Perl语言解释器的安装 默认情况下,Red Hat Enterprise Linux安装程序会将Perl语言解释器安装在系统上,读者可使用下面的命令检查系统是否已经安装了Perl解释器或查看已经安装了何种版本。rpm-q perl如果系统还没有安装Perl解释器,应将Red Hat Enterprise Linux 5第1张安装盘放入光驱,加载光驱后在光盘的Server目录下找到Perl解释器的RPM安装包文件perl-5.8.8-10.i386.rpm,使用下面命令安装Perl解释器。rpm-ivh/mnt/Server/perl-5
18、.8.8-10.i386.rpmhttpd.conf文件的配置 1设置存放CGI文件的目录权限应在主目录权限设置的Options指令中添加一个“ExecCGI”选项。2标明CGI程序的文件类型找到“#AddHandler cgi-script.cgi”语句,删除前面的“#”即可,该语句告诉Apache扩展名为“.cgi”的文件是CGI程序。测试CGI运行环境 在CGI文件存放的目录(如/var/www/html/)中建立一个名为test.cgi的文件,该文件的内容如下。#!/usr/bin/perlprint Content-type:text/htmlnn;print Hello World
19、!n;执行命令“chmod+x/var/www/html/test.cgi”,为test.cgi文件添加运行权限。在客户端的浏览器访问“http:/Linux服务器的IP地址/test.cgi”。7.7 PHP运行环境的配置运行环境的配置PHP解释器的安装解释器的安装设置设置php.conf文件文件测试测试PHP运行环境运行环境7.7 PHP运行环境的配置运行环境的配置PHP具有下列特点。(1)跨平台:PHP程序可以运行在UNIX、Linux或Windows操作系统下。(2)嵌入HTML:因为PHP语言可以嵌入到HTML内部,所以PHP很容易学习。(3)简单的语言:与Java和C+不同,PHP
20、语言坚持以基本语言为基础,然而它的功能强大到足以支持任何类型的Web站点。(4)效率高:和其他的解释性语言相比,PHP系统消耗较少的系统资源。当PHP作为Apache Web服务器的一部分时,运行代码不需要调外部二进制程序,服务器解释脚本不需要承担任何额外负担。(5)支持各种数据库:用户可以使用PHP存取Oracle、Sybase、MS-SQL、MySQL、PostgreSQL、dBase、FilePro和Informix等类型的数据库。(6)文件存取:PHP有许多支持文件存取函数。(7)文本处理:PHP有许多函数处理字符串,其中包括模式匹配的能力。(8)复杂的变量:PHP支持标量、数组、关联
21、数组等变量,这给用户提供了支持其他的高级数据结构的坚实基础。(9)支持图像处理:用户可以使用PHP动态创建图像。PHP解释器的安装 默认情况下Red Hat Enterprise Linux安装程序不会将PHP解释器安装在系统上,读者可使用下面的命令检查系统是否已经安装了PHP解释器或查看已经安装了何种版本。rpm-q php如果系统还没有安装PHP解释器,应将Red Hat Enterprise Linux 5第2张安装盘放入光驱,加载光驱后在光盘的Server目录下找到PHP解释器的RPM安装包文件php-5.1.6-5.el5.i386.rpm,以及相关程序文件php-cli-5.1.6
22、-5.el5.i386.rpm和php-common-5.1.6-5.el5.i386.rpm,使用下面的命令安装PHP解释器。rpm-ivh/mnt/Server/php-common-5.1.6-5.el5.i386.rpmrpm-ivh/mnt/Server/php-cli-5.1.6-5.el5.i386.rpmrpm-ivh/mnt/Server/php-5.1.6-5.el5.i386.rpm设置php.conf文件 在Apache主配置文件httpd.conf中默认有一条“Include conf.d/*.conf”语句,它的含义是将目录/etc/httpd/conf.d/中的所
23、有*.conf文件包含到httpd.conf中。PHP解释器的安装程序会自动在目录/etc/httpd/conf.d/中建立一个名为php.conf的配置文件,这个文件包含了PHP的配置选项。编辑/etc/httpd/conf.d/php.conf,找到语句“AddHandler php5-script.php”,将其改为“AddHandler php5-script.php.php3”。测试PHP运行环境 在Apache主目录/var/www/html/中建立一个名为test.php的文件,该文件的内容如下。在客户端的浏览器中访问“http:/Linux服务器的IP地址/test.php”。
24、7.8 JSP运行环境的配置运行环境的配置Tomcat的安装的安装启动和停止启动和停止Tomcat服务服务整合整合Apache和和Tomcat7.8 JSP运行环境的配置运行环境的配置JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司一起参与建立的一种基于Java技术的动态网页技术标准。Apache只是一个Web服务器,不能运行JSP程序。如果要运行JSP程序,还需要安装Tomcat服务器软件,通过整合Tomcat与Apache来运行JSP程序。Tomcat是由Apache-Jakarta子项目支持的开放源代码服务器软件,它得到Sun公司的全力支
25、持,而且Tomcat的运行效率非常高,所以它得到了广泛的应用。Tomcat的安装 默认情况下Red Hat Enterprise Linux安装程序不会将Tomcat服务安装在系统上,读者可以使用下面的命令检查系统是否已经安装了Tomcat服务或查看已经安装了何种版本。rpm-q tomcat5Tomcat服务的关联程序非常多,如果逐个安装会耗费大量的时间和精力,因此建议使用yum工具进行安装。Tomcat的安装yum(Yellow dog Updater,Modified)是一个针对RPM操作系统的非常方便的自动升级和软件包管理工具。yum会自动计算出程序之间的相互关联性,并且计算出完成软件
26、包的安装需要哪些步骤。默认情况下yum需要从Red Hat公司的服务器上下载程序并安装,此时用户必须提供相关的订阅号,而且下载的速度也非常慢。因此需要通过修改配置文件使yum能够在不需要订阅号的情况下从本地下载并安装程序,具体操作步骤如下。Tomcat的安装 首先使用命令“mkdir/var/www/html/rhel5”创建目录,然后将Red Hat Enterprise Linux 5的五张安装光盘中Server目录下的所有文件复制到/var/www/html/rhel5中,也可以使用光盘编辑工具将Server目录下的所有文件制作成DVD,然后使用mount命令将文件挂载到/var/www
27、/html/rhel5中。在/etc/yum.repos.d目录下建立一个名为update.repo的文件,该文件的内容如下。basename=base RPM Repository for RHEL5baseurl=http:/192.168.16.177/rhel5/enabled=1gpgcheck=0 将/usr/lib/python2.4/site-packages/yum/yumRepo.py文件中的语句“remote=url+/+relative”,修改为“remote=”http:/192.168.16.177/rhel5/“+/+relative”。Tomcat的安装 使用命
28、令“yum clean all”清除yum的缓存。使用命令“yum install tomcat5 tomcat5-webapps tomcat5-admin-webapps”下载安装Tomcat服务及关联程序。在图7-27中,yum工具列出需要安装的程序,并提示是否安装,输入“y”后,程序开始安装Tomcat服务。使用命令“/etc/rc.d/init.d/tomcat5 start”启动Tomcat服务后,打开客户端的浏览器访问“http:/Linux服务器的IP地址:8080”。启动和停止Tomcat服务 1.启动Tomcat服务/etc/rc.d/init.d/tomcat5 star
29、t2.停止Tomcat服务/etc/rc.d/init.d/tomcat5 stop3.重新启动Tomcat服务/etc/rc.d/init.d/tomcat5 restart启动和停止Tomcat服务4.自动启动Tomcat服务如果需要让Tomcat服务随系统启动而自动加载,可以执行“ntsysv”命令启动服务配置程序,找到“Tomcat5”服务,在其前面加上星号(*),然后选择“确定”即可。整合Apache和Tomcat 1下载mod_jk2安装和配置mod_jk 将mod_jk-1.2.23-apache-2.2.x-linux-i686.so拷贝到/etc/httpd/modules目
30、录中,并将它重命名为mod_jk.so。在/usr/share/tomcat5/conf目录中新建子目录jk,并新建文件workers.properties,内容如下。workers.tomcat_home=/usr/share/tomcat5workers.java_home=/usr/lib/jvm/javaps=/worker.list=ajp13worker.ajp13.port=8009worker.ajp13.host=127.0.0.1worker.ajp13.type=ajp13worker.ajp13.lbfactor=1整合Apache和Tomcat 修改/usr/shar
31、e/tomcat5/conf/server.xml文件,在语句下添加语句。重新启动Tomcat服务,这时将自动生成目录/usr/share/tomcat5/conf/auto和文件/usr/share/tomcat5/conf/auto/mod_jk.conf。将文件/usr/share/tomcat5/conf/auto/mod_jk.conf拷贝到/usr/share/tomcat5/conf/jk目录中,并重命名为mod_jk.conf-auto。修改mod_jk.conf-auto文件,修改后内容如下。LoadModule jk_module/etc/httpd/modules/mod
32、_jk.soJkWorkersFile/usr/share/tomcat5/conf/jk/workers.propertiesJkLogFile/usr/share/tomcat5/logs/mod_jk.logJkLogLevel emerg ServerName localhost JkMount/*.jsp ajp13整合Apache和Tomcat3配置Tomcat要实现Apache和Tomcat整合,需要设置Apache和Tomcat的主目录一致。由于Tomcat默认的主目录是/var/lib/tomcat5/webapps/ROOT,因此应编辑Tomcat的主配置文件/usr/sh
33、are/tomcat5/conf/server.xml,找到如下语句:在其后添加以下语句:4配置Apache编辑文件/etc/httpd/conf/httpd.conf,在文件末尾添加如下语句:Include/usr/share/tomcat5/conf/jk/mod_jk.conf-auto5重新启动Apache和Tomcat6测试Apache和Tomcat整合在主目录/var/www/html/中建立一个名为test.jsp的文件,该文件的内容如下:Hello!The time is 在客户端的浏览器中访问“http:/Linux服务器的IP地址/test.jsp”,如果出现右如图所示的“
34、Hello!The time is 当前时间”的信息,则表示Apache和Tomcat整合成功。7.9 练习题练习题【练习1】建立Web服务器,并根据以下要求配置Web服务器。(1)设置主目录的路径为/var/www/web。(2)添加index.jsp文件作为默认文档。(3)设置Apache监听的端口号为8888。(4)设置默认字符集为GB2312。【练习2】在Web服务器中建立一个名为temp的虚拟目录,其对应的物理路径是/usr/local/temp,并配置Web服务器允许该虚拟目录具备目录浏览和允许内容协商的多重视图特性。【练习3】在Web服务器中建立一个名为private的虚拟目录,
35、其对应的物理路径是/usr/local/private,并配置Web服务器对该虚拟目录启用用户认证,只允许用户名为abc和xyz的用户访问。【练习4】在Web服务器中建立一个名为test的虚拟目录,其对应的物理路径是/usr/local/test,并配置Web服务器仅允许来自网络192.168.16.0/24客户机的访问。【练习5】使用192.168.1.17和192.168.1.18两个IP地址创建基于IP地址的虚拟主机,其中IP地址为192.168.1.17的虚拟主机对应的主目录为/usr/www/web1,IP地址为192.168.1.18的虚拟主机对应的主目录为/usr/www/web2。【练习6】在DNS服务器中建立和两个域名,使它们解析到同一个IP地址192.168.16.17上,然后创建基于域名的虚拟主机。其中域名为的虚拟主机对应的主目录为/usr/www/web1,域名为的虚拟主机对应的主目录为/usr/www/web2。【练习7】让Web服务器支持CGI运行环境。【练习8】让Web服务器支持PHP运行环境。【练习9】让Web服务器支持JSP运行环境。
限制150内