第7章Web服务.docx

上传人:b****8 文档编号:10533282 上传时间:2023-02-21 格式:DOCX 页数:38 大小:577.50KB
下载 相关 举报
第7章Web服务.docx_第1页
第1页 / 共38页
第7章Web服务.docx_第2页
第2页 / 共38页
第7章Web服务.docx_第3页
第3页 / 共38页
第7章Web服务.docx_第4页
第4页 / 共38页
第7章Web服务.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

第7章Web服务.docx

《第7章Web服务.docx》由会员分享,可在线阅读,更多相关《第7章Web服务.docx(38页珍藏版)》请在冰豆网上搜索。

第7章Web服务.docx

第7章Web服务

第7章Web服务器

本章内容:

⏹Web服务概述

⏹Apache的安装和启动

⏹配置Apache

⏹实现动态站点

学习目标:

⏹了解Web的工作过程

⏹熟悉apache的特点

⏹掌握apache的安装和配置

由于Linux操作系统的高稳定性,世界上大部分的网站都架设在Linux系统上,有名的如Yahoo、Hotmail等网站。

在Linux系统上架设Web服务器时使用最多和最广泛的软件是Apache,本章我们就以RedHatEnterpriseASLinuxAS4.0系统为例介绍Apahce的安装及详细配置。

15.1Web服务概述

目前,WEB服务已经成为计算机用户在互联网上查询和浏览信息的主要的方法。

WWW提供一种交互式图形界面的Internet服务,具有强大的连接功能和易于使用的特点。

因此使得很多用户通过简单的图形界面就可以访问各个大学、组织和企业等机构和个人最新信息和服务等。

15.1.1Web服务的工作过程

Web服务系统采用的是客户机/服务器的工作方式。

服务器主要采用的是apache和windows的IIS;客户端常用的程序是浏览器(如IE、netscape、Mozilla等)。

这样用户就可以在地址栏输入统一资源定位符(URL)来访问Web页面。

Web最基本的是超文本传输协议和超文本标注语言。

超文本传输协议即HTTP协议,是Web服务必须遵从的协议,默认的端口是80端口。

整个通信流程如图15-1所示。

 

 

图15-1Web服务器通信过程

(1)Web客户机建立到服务器的TCP连接

(2)Web客户(浏览器)根据用户输入的URL把请求发送到相应的远程服务器,并等待远程服务器回送过来的响应

(3)远程服务器接受客户端发送过来的请求,分析请求、处理请求而形成结果返回给客户端。

(4)从指定的服务器端获得Web文档并断开与远程服务器的连接

15.1.2Apache的简介

Apache是目前使用最为广泛的WEB服务器,它可以运行在现有的各种平台上。

Apache自1995年推出第一个发行版之后,得到迅速的发展,先后推出1.1、1.2和1.3等多个版本,目前最高版本2.0。

选择WEB服务器,其运行的性能、速度、功能、安全、易扩展性是最为重要的因素,而apache2.0的众多特性保证了apache可以高效、安全、稳定的运行。

其主要特性如下:

●几乎可以运行在所有的计算机平台上. 

●实现了动态共享对象(DSO),允许运行时动态装载功能模块。

●采用预生成模式的技术提高响应的速度。

●支持最新的HTTP/1.1协议 

●简单而且强有力的基于文件的配置

●支持通用网关接口(CGI) 、JAVA Servlets和FastCGI

●支持虚拟主机和HTTP认证 

●集成perl和代理服务器

●可通过WEB浏览器监视服务器的状态,可自定义日志

●支持服务器端包含命令(SSI)和安全SOCKET层(SSL)

●具有用户会话过程的跟踪能力

●支持Unix线程,可使Apache在混合的多进程、多线程模式下运行

●ApacheAPI提高模块的性能

●支持IPv6和多协议支持

●采用过滤器对内容进行有效的处理

●支持多语种错误应答信息

15.2Apache的安装和启动

在Linux系统中可以同时安装和运行多个不同版本的apache,本节将介绍在RedHatEnterpriseLinuxAS4.0系统中安装和启动apache2.0的方法。

15.2.1apache的安装

RedHatEnterpriseLinuxAS4.0系统自带了Apache2.0的软件包,可以在安装Linux系统过程安装该软件包。

如果安装系统时没有选择Apache,则可以通过rpm命令安装,具体操作如下。

//插入第2张安装光盘

#mount/dev/cdrom

#cd/media/cdrom/RedHat/RPMS

//查看是否已安装

#rpm–qa|grephttpd

#rpm–ivhhttpd-2.0.52-9.ent.i386.rpm//安装apache服务器软件包

#rpm–ivhhttpd-manual-2.0.52-9.ent.i386.rpm//安装apache的帮助手册软件包

#rpm–ivhhttpd-suexec-2.0.52-9.ent.i386.rpm//安装apache的CGI支持软件包

用户也可以到http:

//httpd.apache.org下载apache的源代码包,进行源代码的编译安装,具体操作过程如下。

//解压缩源代码包

#tar-xzvfhttpd-2.0.52.tar.gz

#cdhttpd-2.0.52

//配置编译参数

#./configure--prefix=/usr/apache20–enable-so–enable-mods-shared=most

//编译和安装

#make;makeinstall

安装Apache之后,Linux系统下会自动生成许多目录和文件。

但RPM安装与编译方式安装之后,各文件分布的位置不同,下面列出RPM方式安装各文件的路径名称及功能描述。

/etc/httpd/confapache服务器配置文档的目录

/etc/httpd/conf/httpd.confapache服务器的主配置文件

/etc/httpd/modulesapache服务器模块的存放目录

/etc/rc.d/init.d/httpdapache服务器守护进程的启动脚本

/usr/bin/htpasswd设置Web用户口令的实用程序

/usr/sbin/apachectlapache控制程序,可以启动和关闭apache

/usr/sbin/httpdapache守护进程所对应的可执行程序

/usr/share/doc/httpd-2.0.52apache服务器文档信息

/usr/share/man/man1/apache服务器相关指令手册页目录

/var/cache/mod_proxyapache服务器代理缓存文件的存储目录

/var/log/httpdapache服务器日志文件的存放目录

/var/wwwapache服务器文档主目录

/var/www/cgi-binapache服务器CGI程序文件存放目录

/var/www/errorapache服务器错误文档存放目录

/var/www/htmlapache服务器web站点的文件

/var/www/html/manualapache服务器WEB手册

15.2.2apache的启动

安装完apache并设置好httpd.conf文件和相关项目之后,就可以启动apache服务了。

RedHatEnterpriserAS4.0系统中默认httpd.conf文件是正确的,并且Apache以独立运行方式启动,下面是启动的具体方法。

//利用RPM方式安装的apache,可以用service命令启动

#servicehttpdstart

#apachectlstart

//检查apache启动是否成功

#pstree|grephttpd

|--httpd-----8*[httpd]//表示启动成功

//设置自动启动

#chkconfig--levelhttpdon

启动apache服务时会读取httpd.conf文件中的设置,因此修改这个文件之后,需要重新启动apache服务才会生效。

重启apache服务的方法如下。

#servicehttpdrestart

15.3配置apache

apache的配置主要集中在/etc/httpd/httpd.conf文件中,本节将详细介绍如何配置apache的httpd.conf文件。

15.3.1默认httpd.conf文件

Apache的默认配置文件httpd.conf适应几乎所有种类操作系统、所有种类硬件下的设置,但不可能为特定平台和特定硬件进行配置。

用户可根据需要针对特定平台对默认的httpd.conf进行修改。

httpd.conf由全局环境设置、主服务器设置和虚拟服务器设置三部分构成,其中“#”开头的为注释行。

1.全局环境设置选项

全局环境设置用于定义apache服务器的工作目录、预派生进程数和工作端口等参数。

常用全局配置选项如下。

(1)设置响应信息中包含操作系统信息

设置服务器响应主机头(header)信息时,显示apache的版本和操作系统的名称,可以设置ServerTokens选项

ServerTokensOS

(2)设置服务器的根目录

ServerRoot"/etc/httpd"

ServerRoot选项用于指定Apache服务器守护进程httpd的运行目录,httpd在启动之后自动将进程的当前目录改变为此目录。

如果在配置文件中指定的文件或目录是相对路径,那么真实路径就位于这个ServerRoot定义的目录之下。

(3)设置ScoreBoardFile

Apache使用ScoreBoardFile来维护进程的内部数据,通常不设置这个选项,除非用户想在一台计算机上运行多个Apache服务器,这时每个Apache服务器都需要独立的配置文件httpd.conf,并使用不同的ScoreBoardFile。

ScoreBoardFilerun/httpd.scoreboard

(4)设置PID文件位置

PidFilerun/httpd.pid

该选项用于指定Apache记录进程标准符的文件。

由于httpd能自动复制其身,因此系统中同时可以有多个httpd进程,但只有一个初始进程,它是其他进程的父进程。

(4)设置连接超时

Timeout选项用以设置服务器接收到一个请求时,保持连接开启的时间。

超过这个时间服务器会断开和客户端的连接。

Timeout300

(5)设置HTTP保持连接

KeepAlive的值可以为On或Off,Off表示连接不保持,即客户方发送一次请求,服务器方就响应一个文件。

On表示连接保持,避免多次请求与服务器方建立多次连接。

建议此参数值设为On

KeepAliveOff

(6)设置一次HTTP连接支持的最大请求数

当KeepAlive选项值为On时,该选项用于控制连接请求最大数。

默认100,设置为0表示不限制。

MaxKeepAliveRequests100

(7)设置请求之间的间隔时间

KeppAliveTimeout用于设置当保持连接时,两次请求之间时间间隔,单位为秒。

KeepAliveTimeout15

(8)设置服务器进程数

Apache2.0为了提高性能,增加了MPM(Multi-ProcessingModules多道处理模块)。

MPM负责绑定本机网络接口,接受请求并调度子进程来处理请求。

Apache2.0支持3种方式的MPM,分别是预派生(Prefork)MPM、工作者(Worker)MPM和独立子进程(Perchild)MPM。

对于不同的操作系统,所应用MPM方式也是不同的,对于Linux系统下安装的Apache服务器,默认加载了PreforkMPM,如下所示为默认http.conf文件一段MPM配置内容。

#preforkMPM//设置preforkMPM运行方式的参数

//判断apache是否内置prefork模块

StartServers8//设置服务器启动时运行进程数(8个httpd子进程)

MinSpareServers5//设置apache生成空闲子进程数的最小值

MaxSpareServers20//设置apache生成空闲子进程数的最大值

//限制同时连接的数目,因为同时连入过多的数目会降低系统的性能。

MaxClients150

//控制每个子进程在终止处理请求之前能够提出的连接请求数量,0表示没有限制。

MaxRequestsPerChild1000

#workerMPM//设置workerMPM运行方式的参数

//判断是否内置worker模块

StartServers2

MaxClients150

MinSpareThreads25

MaxSpareThreads75

ThreadsPerChild25//每个子进程可以生成多少个线程,以处理客户对Web站点的请求。

(MaxThreadsPerChild:

限制每个子进程允许的线程数)

MaxRequestsPerChild0

(9)设置地址绑定

Linsten选项的作用是将Apache服务器绑定到指定的IP地址和端口上。

在Linux系统下,一个主机可以有多个网络接口和IP地址,此时可以使用Linsten选项绑定Apache到指定的IP地址上,也可以同时监听所有的IP地址。

Listen80//监听所有接口的80号端口

Listen192.168.5.1:

80//只监听192.168.5.1的80号端口

(10)配置DSO,加载模块

Apache支持DSO功能,在编译apache的时候,动态编译的模块在服务器运行过程中并不被调入内存。

如果需要使用某个模块时,可以使用LoadModule选项指定模块名称和路径,实现动态加载。

LoadModuleaccess_modulemodules/mod_access.so

LoadModuleauth_modulemodules/mod_auth.so

LoadModuleauth_anon_modulemodules/mod_auth_anon.so

……………….

……………………..

(11)加载子配置文件

httpd.conf是apache的主配置文件,为了提高可读可用Include选项包含其他的子配置文件。

Includeconf.d/*.conf//包含存放在/etc/httpd/conf.d下所有.conf结尾的文件

(12)配置状态信息

Apache服务器可以通过特殊的HTTP请求,来报告自身的运行状态。

默认情况下只能生成基本的状态信息,如要生成完整的状态信息,需要使用ExtendedStatus,并设置参数值为On。

ExtendedStatusOn

以上介绍的是常用全局配置选项,用户可根据自已的需要修改默认httpd.conf中全局选项,以实现自已的目标。

2.主服务器配置

默认httpd.conf文件的第二部分用来设置主服务器,这部分的设置将应用于所有的Web站点,同时这部分的设置也是虚拟主机的默认设置。

下面具体介绍默认httpd.conf中包含的主服务器配置选项。

(1)设置apache的运行用户和组

用户在运行Apache的时候最好不要以root用户的身份来运行,配置选项User和Group分别用于指定运行apache的用户和用户组,默认配置如下。

Userapache

Groupapache

(2)设置管理员的E-Mail地址

ServerAdminroot@localhost

ServerAdmin选项的作用是设置在服务器出现问题时,把错误信息发送到指定的邮箱中去。

这个E-Mail地址也会出现在服务器自动产生的Web页面上,当出现了HTTP错误的时候提示Web使用者用此E-Mail地址和管理员联系

(3)设置服务器名

默认情况下Aapache服务器会通过DNS来自动获取自身主机的名称。

但有时候域名解析会出现问题,如域名反向解析不正确,则需要用ServerName来设置服务器名。

通常一个Web服务器可以具多个名字,客户浏览器可以使用所有这些名字或IP地址来访问这台服务器,但在没有定义虚拟主机的情况下,服务器总是以自已在ServerName中定义的DNS名字回应浏览器。

服务器名一定要设置正确,否则apache服务器无法正常启动。

ServerNamenew.host.name:

80

(4)设置正式名称

UseCanonicalName选项的作用是设置服务器正式名称,该选项的值可以为Off或On。

UseCanonicalName为Off时使用客户端提供的的主机名和端口,为On时使用ServerName选项中指定的主机名和端口。

UseCanonicalNameOff

(5)设置站点主目录

DocumentRoot"/var/www/html"

DocumentRoot选项定义服务器对外发布的文件所存放的路径,默认路径是/var/www/html,客户端请求的URL就被映射为该路径中。

当然,被发布的目录属性必须允许访问用户读取和执行,否则客户端无法浏览器目录内容。

如果需要客户端利用http协议向发布目录中上传内容,目录属性必须允许用户写入。

(6)设置目录访问权限

利用Directory容器可以配置目录的访问权限及目录选项,容器内由若干个配置选项构成,常用的选项如表15-1所示。

表15-1常用的目录配置选项

选项名

说明

Options[+/-]特性值

指令特定目录的特性,目录的特性值如下:

●All除MultiViews之外的所有特性。

这是默认设置。

●ExecCGI允许使用mod_cgi执行CGI脚本。

●FollowSymLinks服务器允许在此目录中使用符号连接

●IncludesNOEXEC允许服务器端包含,但禁用"#execcmd"和"#execcgi"。

但仍可以从ScriptAlias目录使用"#includevirtual"虚拟CGI脚本。

●Indexes如果一个映射到目录的URL被请求,而此目录中又没有DirectoryIndex(例如:

index.html),那么服务器会返回由mod_autoindex生成的一个格式化后的目录列表。

●MultiViews根据文件提供的语言进行内容协商的"多重视图"

●SymLinksIfOwnerMatch服务器仅在符号连接与其目的目录或文件的拥有者具有相同的uid时才使用它。

●None关闭所有的访问控制特性

注意:

可采用“+”和“-”表示启用和取消某特性

AllowOverride参数

利用目录访问控制文件,覆盖Directory中部分配置选项,AllowOverride的参数可以为:

●All可以使用.htaccess文件的全部指令组

●AuthConfig进行认证授权及安全相关的指令

●FileInfo控制文档类型的指令

●Indexes控制目录索引的指令

●Limit控制主机访问的指令(Allow,Deny,Order)

●Options控制指定目录功能的指令

●None禁止所有.htaccess文件中的指令组

Orderallow,deny/deny,allow

用于指定执行访问规则和执行访问规则的先后顺序

DenyAll/ip地址

定义拒绝访问主机列表

Allowall/ip地址

定义允许访问的主机列表

下面是一段默认httpd.conf文件中的配置内容,该段内容设置了/和/var/www/html目录的访问控制和目录特性。

OptionsFollowSymLinks

AllowOverrideNone

OptionsIndexesFollowSymLinks

AllowOverrideNone

Orderallow,deny

Allowfromall

(7)设置用户目录

如在Linux系统上运行apache服务器,在系统上的所有用户都可以创建自已的主页,保存到自已的指定目录中,此项功能称之为“个人主页”。

在客户端可以用形如http:

//servername/~username的地址访问用户的主页,其中useraname代表服务器中的用户名称。

默认httpd.conf文件禁止用户个人主页功能,如果需要启用个人主页功能可设置UserDir选项。

UserDirdisable//禁止个人主页功能,如果想启用的话,可以在UserDir选项后面跟目录名

(8)设置默认首页文件名

DirectoryIndexindex.htmlindex.html.var

DirectoryIndex选项用于建立文件列表,当客户端发出的连接请求是一个目录而不是一个文件时,需要使用这个列表。

例如,客户端发了连接请求http:

//servername/soft/,则服务器首先会在soft目录中依次查找在DirectoryIndex选项指定的文件index.html、index.html.var,把找到的第一个文件作为该目录中的默认文件,如果都找不到便自动生成一个该目录的文件列表,然后提交给客户端。

(9)指定目录访问控制文件名

目录访问控制文件是用来设置目录的访问权限,该文件放在被控制的目录中,默认文件名为.htaccess。

AccessFileName.htaccess

//Files容器用于设置文件的访问权限

Orderallow,deny

Denyfromall

(10)配置MIME类型文件

Apache服务器利用MIME功能识别用户请求的文件类型。

MIME是通过MIME类型文件实现文件映射的,可利用TypesConfig指定类型文件的路径。

如果服务器无法从指定MIME类型文件确定用户访问的文件类型,则用默认类型来作为此文件的类型。

默认类型用DefaultType选项来定义。

TypesConfig/etc/mime.types

DefaultTypetext/plain

Apache可利用mod_mime_magic模块,根据文件的特征实现自动断文件的MIME类型,下面默认httpd.conf中的配置内容。

MIMEMagicFileconf/magic

(11)设置Apche日志功能

HostnameLookups选项用以配置Apache日志是记录连接客户机的IP地址,还是记录客户机的DNS名称。

该选项可取值On或Off,Off表示记录客户的IP址,On表示记录客户机的DNS名称。

HostnameLookupsOff

可以在httpd.conf文件中利用ErrorLog选项指定错误日志文件的位置,利用LogLevel指定什么样的错误被记录到日志文件中,其参数值包括debug、info、warn、error、crit、alert和emerg。

还可以利用LogFormat选项定义日志的格式,该选项可取以“%”开头的宏定义,常用的宏定义如表15-2所示。

表15-2LogFormat中的宏定义

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1