Web 服务

下载
第34章Web 服务
作者:Neal S. Jamison
本章内容包括:
• We b服务器工作概览
• 主流We b服务器
• 运行Apache HTTP We b服务器
• 浏览其他We b服务器
World Wide We b (万维网)已发展为互联网上最流行的服务。许多用户在We b上搜索信息、
寻找工作、购物甚至炒股票。基于We b的商业应用前景也十分广阔。本章介绍互联网上最流
行的We b服务器:Apache HTTP Web Server的安装、配置和运行。
34.1 Web服务工作概览
World Wide We b (万维网)的成功主要由于T C P / I P协议:超文本传输协议( H T T P )。H T T P是
一种请求/响应服务,客户浏览器和We b服务器可使用它交换信息。We b服务器是一个软件,
它监听来自浏览器的请求,通过H T T P提供H T M L格式的数据。一个标准H T T P会话包括:
• 浏览器连接到服务器。
• 浏览器请求文件或其他信息。
• 服务器响应。
• 服务器断开连接。
例如:浏览器向服务器发送HTTP GET请求,请求文件i n d e x . h t m l:
服务器返回H T T P响应,其中包含客户方请求的文件:
文件传输完毕后,连接关闭。H T T P是一种无状态协议,它不维护浏览器或会话信息(除
非服务器将信息写入日志文件)。
在缺省情况下,H T T P运行于TCP 80端口。
We b服务器术语
本节介绍少量与We b服务器相关的术语,用户将会在本章或其他We b服务器文档中碰到这
些术语。
1. Web服务器
We b服务器是在互联网上使用H T T P协议提供文档信息( We b页面)的计算机。术语We b服务
器可以指计算机( We b服务器软件、硬件的结合)也可单指We b服务器软件包本身(例如A p a c h e
We b服务器)。
2. 浏览器
浏览器是We b的客户程序。常见的浏览器包括Ly n x ,、Netscape Communicator、O p e r a及
IE(Internet Explorer)等。
3. URL
U R L是用于指定We b页面的全局地址。例如H T T P : / / w w w. a p a c h e . o rg /。
4. 服务器root
服务器r o o t是计算机上We b服务器所在的位置。在缺省情况下,所有的日志、配置文件及
守护进程及其他支持文档均位于服务器r o o t下。例如: / u s r / l o c a l / a p a c h e或c : / n e t s c a p e /
suitespot/https-my server。
5. 文档root
文档r o o t是We b服务器上We b页面存放的位置。该目录可以使用U R L访问到, U R L的格式
如下:h t t p : / / w w w. y o u r s e r v e r. c o m / .。
6. 端口
T C P / I P服务使用端口建立连接及传输信息。在缺省情况下, H T T P使用8 0端口,它也可以
被配置成使用0 ~ 6 5 5 3 5的任何一个端口。其他常用端口有Te l n e t ( 2 3 )、S M T P电子邮件( 2 5 )及
F T P ( 2 1 )。
7. 虚拟服务器(虚拟主机)
大多数We b服务器都有能力表示多个域。这一功能通过虚拟主机实现。在虚拟服务器中,
We b服务器可服务多个站点。通常,虚拟We b服务器用于I n t e r n e t服务提供商( I S P ),以防止为
每一个用户建立单独的We b服务器。
8. 安全套接字层(SSL)
S S L由网景公司开发,该协议可使数据在We b安全传输。S S L使用公钥加密技术加密需要
传输的数据。
9. MIME—多用途互联网邮件扩充
M I M E使We b服务器与浏览器可交换多种格式的文件,除了H T M L或A S C I I码格式外,还
可交换微软w o r d文档和图像等数据。
关于H T T P和We b服务器的详细信息参见第3 2章。
374使用第八部分使用基于I P的应用
下载
什么是U R L
We b使用的地址方案是统一资源定位器,简称U R L,通过它标识We b页面和其他
资源。
U R L示例如下:
h t t p : / / w w w. a p a c h e . o r g / d o c s / i n d e x . h t m l
上述U R L指向A p a c h e组织的文档页,它可以分为以下部分:
在上例中:
• 协议( p r o t o c o l ):h t t p
• 全称域名(full domain name):w w w. a p a c h e . o rg
• 目录( d i r e c t o r y ):d o c s
• 文件( f i l e ):i n d e x . h t m l
34.2 主流Web服务器
新闻媒体经常报道互联网上的商业竞争,如网景与微软竞争客户浏览器市场的主导权。
然而,服务器方并不是网景或微软的天下。事实上,主流服务器不是商业产品。We b服务器
由免费、源码公开的服务器A p a c h e控制。
源码公开软件
在互联网起步阶段,所有的一切都是免费的。思想免费、帮助免费甚至软件也是
免费的。因此,互联网成长极为迅速。计算机科学家和工程师集合在一起共同解决常
见的问题。随着网络的发展,它逐渐演化为商业工具。因此,共享受到商业利益的限
制。互联网的免费哲学渐渐退出互联网的发展,但是仍然有一部分组织坚持“免费”
哲学。其中最主要的思想是源码公开,它使成千上万的软件开发人员从中获益。
一些流行的源码公开软件包括:
• Apache Web Server:互联网上最流行的We b服务器。
• Linux:流行的操作系统。
• Perl:We b编程语言(许多U n i x管理员也经常使用)。
关于源码公开的详细信息,参见h t t p : / / w w w. o p e n s o u r c e . o rg /。
一家互联网调查统计公司Netcraft Ltd ( http://www. n e t c r a f t . c o m ),定期对We b进行调查,获
取We b站点采用We b服务器软件的类型等方面的数据。表3 4 - 1显示出N e t c r a f t公司最新调查结果。
表34-1 1999年8月We b服务器市场份额(7 0 7 8 1 9 4站点)
服务中市场份额
A p a c h e 5 5%
Microsoft IIS 2 2%
Netscape Enterprise 7%
第3 4章Web 服务使用375
下载
34.3 运行Apache HTTP Web服务
Apache We b服务器是一个源码公开的服务器,它的前身是曾经流行一时的NCSA httpd服
务器。A p a c h e是目前最流行、可靠及功能强大的服务器,并且是免费的。因此, A p a c h e占据
互联网We b服务器市场的一半份额就不足为奇了。
34.3.1 下载、安装和配置Apache
本节讲述L i n u x环境下Apache HTTP We b服务器的下载、安装和配置。
注意Apache最初为Unix系统设计,目前它们主要是基于Unix的Web服务器。本节主要
讲述A p a c h e在U n i x环境(尤其是L i n u x )下的安装和配置。在编写本书时,已出现了可运
行于Wi n d o w s上的Apache 1.3.9 ,但仍只是测试版。本节最后将简单介绍如何在
Wi n d o w s上安装A p a c h e。但是,如果用户需要在Wi n d o w s环境下运行一个稳定的We b服
务器,则应选择更为可靠的服务器,如:微软的互联网信息服务器( I I S )、O ' R e i l l y的
WebSite或网景的Enterprise服务器。
如果用户运行的是L i n u x操作系统,则在安装过程中就可以安装Apache Web Server。如果
用户已安装了A p a c h e,则可以跳过A p a c h e下载和安装操作。但是,用户最好卸载已安装的
A p a c h e服务器,原因有以下两点: 1) 系统安装过程中安装的版本很可能已经过时或配置不正
确。2) 下载、编译、安装A p a c h e可使用户了解A p a c h e的工作过程。因此,用户最好从下载开
始。在下载之前需要检查以下两点:
• 硬盘空间—用户至少需要1 2 M的临时空间。安装完成后, A p a c h e大约需要3 M的硬盘
空间,此外用户还需考虑We b页面所需的空间。
• ANSI C编译器—用户需要安装ANSI C编译器,并且配置正确。我们推荐使用GNU C
编译器,它可从h t t p : / / w w w. g n u . o rg /下载。如果用户没有ANSI C编译器,参见下一节。
1. 下载Apache
A p a c h e可从A p a c h e站点( h t t p : / / w w w. a p a c h e . o rg / )或其镜像站点下载。
提示从与用户较近的镜像站点下载速度较快。镜像站点信息可在http:/ /www. apache.
org/mirrors上找到。
下载时,用户可以选择下载源码自己编译,如果用户想跳过编译,可以直接下载二进制
文件。
注意如果用户打算下载预编译的二进制文件,最好从A p a c h e站点或其镜像站点下载。
其他二进制文件的编译可能出错或包含安全漏洞。
下面的示例说明如何下载源码。
访问站点h t t p : / / w w w. a p a c h e . o rg / d i s t。用户可以看到下载文件列表,从中选择用户所需的
版本,点击开始下载。
376使用第八部分使用基于I P的应用
下载
提示用户可以使用M D 5检查所下载的包是否是正确的A p a c h e软件包。这对下载预编
译的二进制文件尤为重要。检查因操作系统不同而不同,在L i n u x中,用户可以运行下
述命令:
将输出结果与A p a c h e站点上的M D 5文件相比较,如果两者相同表示一切正常。否则,应
重新下载。
在上述示例中,我们下载的是A p a c h e 1 . 3 . 6版本,且是压缩格式,将A p a c h e下载到临时目
录下后,用户需要使用g z i p或u n c o m p r e s s (与下载格式有关)及t a r解压缩。
注意gzip(GNU zip)是一种免费的压缩工具。由于它压缩能力出众,在Unix系统及互联
网上十分流行。
用户可从h t t p : / / w w w. g z i p . o rg /上获得g z i p或了解其功能。
2. 编译和安装Apache
编译和安装A p a c h e的最简单方式是使用Apache Autoconf-Style Interface(APA C I ),它包含
在Apache 1.3或更高的版本中。A PA C I提供通用类型的安装。
注意用户也可以选择自己编译和安装Apache。用户可从SRC目录下的INSTALL文件中
得到指导。
使用A PA C I安装A p a c h e,用户需要将目录改为包含A p a c h e文件的临时目录。在大多数情
况下,无需修改配置文件,除非需要安装特殊的模块。如果用户在安装过程中碰到错误,可
读取文件中的文档。需要注意的常用属性有E X T R A _ C F L A G S 、L I B S 、L D F L A G S、
I N C L U D E S和C C等。查阅同一目录下的I N S TA L L文件可得到更多的信息。
在安装之前,运行下述命令:
#./configure -prefix=PREFIX
P R E F I X指向We b服务器的目标目录(如/ u s r / l o c a l / a p a c h e )。
然后使用m a k e命令编译A p a c h e包:
# make
注意如果m a k e不在用户路径中(即返回command not found),用户需要将m a k e添加到
路径中(/usr/bin或/usr/ccs/bin)。对于不同的shell采用的方法不同。对于bash,运行:
# PAT H = $ PAT H : / u s r / c c s / b i n /
# export PAT H
第3 4章Web 服务使用377
下载
执行m a k e需要几分钟,根据系统的速度不同,时间也不尽相同。执行完成后,用户可以
开始安装A p a c h e。运行m a k e命令:
# make install
它将把Apache We b服务器及其相关文档安装到P R E F I X所指的目录下。此后,用户可以根
据指定环境配置A p a c h e。
3. 配置Apache
A p a c h e使用的配置文件主要有三个,它们是:
• access.conf—对用户We b服务器资源的访问控制。
• httpd.conf—主要配置文件。定义A p a c h e的运行属性。
• srm.conf—指定用户站点提供的资源。
在使服务器正确运行之前,需要对上述文件作一定的修改。需要编辑的配置项或服务器
属性将在下面详细讨论。配置文件结构清晰,用户可以通过阅读配置文件确定对文件的修改。
关于配置A p a c h e的详细信息参见h t t p : / / w w w. a p a c h e . o rg / d o c s /。
注意在A p a c h e的最新版本中,将以上三个配置文件合成为一个配置文件:h t t p d . c o n f。
因此,我们也将所有属性放在一个标题之下。
h t t p d . c o n f
h t t p d . c o n f文件中包含A p a c h e运行的关键属性。其中需要用户注意的有:
• ServerName—We b服务器名。
ServerName www. m y d o m a i n . c o m
• S e r v e r Ty p e—指定守护进程属性:独立运行或由i n e t d激活。独立运行服务器在任何时
间都运行。而i n e t d服务器类型使服务器仅在请求到达时才运行。独立运行( s t a n d a l o n e )的
性能较好。
S e r v e r Typ standalone
• P o r t—在缺省情况下,H T T P服务器使用端口8 0。用户也可以使用非标准端口运行服务
器。如用户需要隐藏自己的We b服务器时,可使用此方法。如果用户使用非标准端口如
1 2 3 4,则访问服务器时需要在U R L中指明端口号,有效端口号为0 ~ 6 5 5 3 5,前1 0 2 4个端
口为保留端口。
port 80
• U s e r—此项指定A p a c h e服务器运行的用户权限。A p a c h e将使用其控制用户的权限,大多
数U n i x系统均有称为“n o b o d y”的用户。如果用户系统没有未授权用户,则需创建一个。
User nobody
• ServerAdmin—设置管理员,当A p a c h e出现问题时将自动向管理员发送邮件。
ServerAdmin root
• S e r v e r R o o t—A p a c h e安装的根目录。除非用户特殊声明,否则所有的配置文件及日志
文件都存放在此目录下。
ServerRoot /usr/local/apache
• Errorlog—错误日志文件所在的目录及名称。
ErrorLog logs/error. l o g
• Tr a n s f e r L o g—传输(访问)日志文件所在的目录及名称。
378使用第八部分使用基于I P的应用
下载
TransferLog logs/access.log
• Ti m e o u t—断开连接前,服务器等待浏览器响应的时间。缺省值为3 0 0秒。
Timeout 300
以下项用于控制A p a c h e的资源。在A p a c h e的早期版本中这些信息存放在s r m . c o n f文件中。
最新版本的A p a c h e将这些信息合并到h t t p d . c o n f文件。
• DocumentRoot—We b服务器文档树的根目录。
Document Root /usr/local/apache/htdocs/
• D i r e c t o r y I n d e x—如果用户请求的U R L以路径结尾, We b服务器将返回目录下与
D i r e c t o r y I n d e x所指的文件名相同的文件。例如h t t p : / / w w w. a p a c h e . o rg /将返回i n d e x . h t m l。
DirectoryIndex index.html
• I n d e x I g n o r e—在缺省情况下,用户请求的U R L以路径结尾并且目录下无i n d e x . h t m l文
件,We b服务器将列出该目录下的所有文件。其中可能包括We b服务器管理员不愿列出
的文件(如. h t a c c e s s或R E A D M E文件),设置此属性可以避免显示这些文件。
IndexIgnore .??**~ *#HEADER*README* RCS CVS *, v *, t
在A p a c h e的早期版本中,a c c e s s . c o n f文件用于设置We b服务器资源的访问权限。在最新的
版本中,这些属性被合并到h t t p d . c o n f文件。
考虑以下代码块:
该代码块几乎存在于每个a c c e s s . c o n f文件中。< D i r e c t o r y / >为代码块的开始,位于
< / D i r e c t o r y >之间的所有属性均作用于目录/。在本例中, A p a c h e允许标记链接到此目录但禁
止其他控制文件作用于此目录。
关于使用a c c e s s . c o n f文件对用户站点进行访问控制的详细信息可查阅We b服务器携带的
A p a c h e文档。
4. 启动与停止Apache
编译、安装和配置A p a c h e后,用户可以启动A p a c h e。启动A p a c h e需要以下命令:
# PREFIX /bin/apachectl start
其中P R E F I X为S e r v e r R o o t。
用户可以用下述命令检查A p a c h e是否运行:
使用We b浏览器,访问新安装的We b服务器,其U R L 为服务器名( h t t p : / / w w w .
y o u r d o m a i n . c o m或h t t p : / / l o c a l h o s t / )。如果A p a c h e配置正确并且已启动,用户可见到测试页,
如图3 4 - 1所示。
第3 4章Web 服务使用379
下载
图34-1 Apache测试页
用户可以使用下述命令停止A p a c h e的运行:
# PREFIX/bin/apachectl stop
/ e t c / r c . d
用户可以使用r c . d系统自动运行A p a c h e。某些版本的U n i x和L i n u x自动安装h t t p d . i n i t文件
(例如:Red Hat Linux中的/ e t c / r c . d / i n i t . / d / h t t p d : i n i t文件)。在这种情况下,用户需要编辑此文
件以保证运行用户安装的h t t p d文件。
对于大多数系统,只需在/ e t c / r c . d / r c . l o c a l文件加入以下行:
5. 下载预编译的Apache
如果用户想要下载新编译的二进制文件,可访问h t t p : / / w w w. a p a c h e . o rg / d i s t / b i n a r i e s将看到
一个操作环境列表:
380使用第八部分使用基于I P的应用
下载
进入与用户操作系统相应的目录,可以看到可用的版本列表,如下所示:
选择适当的版本并下载到系统的临时目录。
6. 安装并配置预编译的Apache
下载适当的软件包后,用户可以安装并配置A p a c h e。首先在临时目录中解压缩下载的软
件包(使用u n c o m p r e s s或g i z p和t a r )。
然后运行s h e l l脚本i n s t a l l - b i n d i s t . s h安装A p a c h e。如果用户需要将A p a c h e安装在其他目录
以取代缺省目录( / u s r / l o c a l / a p a c h e ),就需要在命令行中指定目标路径。详细信息参见
I N S TA L L文件。
安装好A p a c h e后,用户可以使用上面讲述的方法配置、运行及停止A p a c h e。
34.3.2 在Windows环境下使用Apache
本小节介绍如何在Wi n d o w s平台上安装、配置A p a c h e。
第3 4章Web 服务使用381
下载
注意基于Wi n d o w s的A p a c h e目前仍是b e t a测试版。它的性能未得到优化,并且可能有
安全漏洞或系统b u g。如果用户需要在Wi n d o w s平台上运行We b服务器应用,最好使用
Microsoft IIS或其他基于Windows的服务器。
详细信息参见本章3 4 . 4节或h t t p : / / w e b c o m p a r e . i n t e r n e t . c o m /获取We b服务器的完整列表。
1. 下载基于Windows的Apache
用户可以从http:// www. a p a c h e . o rg / d i s t / b i n a r i e s / w i n 3 2 /上下载运行于Wi n 3 2上的预编译的
A p a c h e。
将文件下载到临时目录或桌面上。
2. 安装基于Windows的Apache
在安装前,运行下载软件包的自解压程序。用户需要指定安装A p a c h e的目录。点击接受
或修改缺省路径。如果路径不存在,安装程序会自动创建该目录。
下一步,用户需要为A p a c h e指定一个名字,接收缺省设置或指定一个名字。
选择用户所需的安装类型。“典型安装”将安装除了源码外所有程序,“最小安装”不安
装源码和帮助文件。“自定义安装”允许用户指定所需安装的组件(帮助手册、源码等等)。
3. 配置基于Windows的Apache
安装完成后,用户需要对配置文件做适当修改。与U n i x类似,其配置文件也有三个:
• access.conf
• httpd.conf
• srm.conf
这些文档结构清晰,用户可以通过读文件对文件进行修改。不对文件进行修改也可以运
行Apache We b服务器。配置文件的详细信息参见3 4 . 3 . 1节。
4. 运行基于Windows的Apache
运行基于Wi n d o w s的A p a c h e有以下几种方式:
• 从Wi n d o w s的开始菜单。
• 从D O S命令行方式下。
• 作为N T服务。
5. 从开始菜单和/或DOS命令行运行Apache
从开始菜单运行A p a c h e,需要事先选择Start Apache属性。运行时, A p a c h e将激活一个
D O S窗口。如果要重新启动A p a c h e或停止A p a c h e的运行需要另开一个窗口并运行:
apache -k shutdown

apache -k restart
类似的,A p a c h e也可以在D O S窗口下通过以下命令运行:
apache -k start
该窗口将一直处于激活状态直到A p a c h e停止运行。
6. 使Apache成为NT服务
在A p a c h e作为N T的一个服务运行前,它必须作为一个服务安装。在D O S命令中敲入:
apache -i -n "Apache We b s e r v e r "
删除作为服务的A p a c h e可用以下命令:
382使用第八部分使用基于I P的应用
下载
apache -u -n "Apache We b s e r v e r "
安装完成后,用户可在Wi n d o w s控制面板的S e r v i c e s (服务)应用中配置、启动和停止
A p a c h e服务。
34.4 浏览其他Web服务器
虽然A p a c h e占据了互联网We b服务器市场的大部分,但还存在许多其他的We b服务器产品
供用户选择。本节将简单介绍较为流行的We b服务器。
• Netscape Enterprise Server—网景公司最强大的服务器(见F a s t Tr a c k ),支持H P - U X、
S o l a r i s、N T等。价格在1 3 0 0美元左右(
)。
• Netscape FastTr a c k—网景公司基本We b服务器(是E n t e r p r i s e ),支持U N I X、Wi n d o w s
9 5 / 9 8、N T等。价格在3 0 0美元左右(
)。
• Microsoft Internet Information Server(IIS)—基于Windows NT的较为流行的We b服务
器,支持Windows NT。价格在1 0 0美元左右( h t t p : / / w w w. m i c r o s o f t . c o m )。
• Microsoft Personal Web Server(PWS)—个人We b服务器,最好不要使用在流量大的站点,运
行环境:Wi n d o w s。免费使用(与NT 4.0 Option Pack捆绑发售)(http:// www. microsoft.com)。
• A O L S e r v e r—支持We b应用开发的小型We b服务器,运行环境: U n i x、L i n u x。价格:
源码公开( )。
• O'Reilly We b S i t e P r o—功能全面的We b服务器,适于We b应用开发,运行环境:
Windows 95/98、N T。价格:8 0 0美元左右( h t t p : / / w e b s i t e . o r a . c o m )。
• Zeus—支持安全虚拟服务器的全特性We b服务器。
运行环境: U n i x。价格在1 6 0 0美元左右( h t t p : / w w w. z e u s . c o . u k / p r o d u c t s / z e u s 3 )。
• S t r o n g h o l d—A p a c h e的商业版本,安全性较高。运行环境: U n i x。价格在9 9 5美元左右
( )。
• We b S TA R—由S t a r N i n e技术公司开发,适用于M a c i n t o s h环境功能全面的We b服务器。
价格在5 0 0美元左右( h t t p : / / w w w. s t a r n i n e . c o m / w e b s t a r / )。
以上We b服务器的详细信息参见其后的U R L或以下站点:
• We b服务器间的比较,h t t p : / / w e b c o m p a r e . i n t e r n e t . c o m /。
• Server Wa t c h提供大量关于互联网服务器的信息: h t t p : / / s e r v e r w a t c h . i n t e r n e t . c o m /。
34.5 小结
万维网的规模每年翻一翻,好像没有尽头。然而专家一致认为我们仅使用了互联网和
We b的一小部分功能。在5年间,提供信息的We b站点从几千台发展为几百万台,并提供日益
丰富的信息和服务。人们开始使用We b进行基础研究、购物、存取款等。
本章主要讨论We b服务器。目前,互联网上5 0%的We b服务器都使用A p a c h e。本章的目
标是为用户提供足够的信息,使用户可以正确使用A p a c h e,其中包括下载、安装、配置、运
行及停止A p a c h e。同时对其他较为流行的We b服务器也作了简短的介绍。用户可以通过本章
了解到不断发展、日新月异的技术: World Wild We b (万维网)。
第3 4章Web 服务使用383
下载 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值