您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 使用Apache搭建Web服务器
1.声明版本信息:本文档的最新版本将张贴于:LinuxSir.Org论坛Debian发行版讨论区;也可以从获取.反馈:所有评论,错误报告,其他信息以及批评,请邮寄到etony@tom.com;或在LinuxSir.Org论坛Debian发行版讨论区张贴.版权信息:本文档的版权(c)2006-2007归etonyC.F.AN所有.转载请注明源自的历史与前景1995年,美国国家计算机安全协会(NCSA)的开发者创建了NCSZ全球网络服务软件,其最大的特点是HTTP守护进程,它比当时的CERN服务器更容易由源码来配置和创建,又由于当时其他服务器软件的缺乏,他很快流行起来。但是后来,该服务器的核心开发人员几乎都离开了NCSA,一些使用者们自己成立了一个组织来管理他们编写的补丁,于是ApacheGroup应运而生。他们把该服务器软件称为Apache。Apache源于Apatchyserver的读音,意思是充满补丁的服务器。如今Apache慢慢地已经成为Internet上最流行的Web服务器软件了。在所有的Web服务器软件中,Apache占据绝对优势,远远领先排名第二的MicrosoftIIS。如果你对它感兴趣,你可以访问Apache的官方网站:。Apache作为自由软件之一,像其他自由软件一样,他们都是由许许多多的自由开发人员投入了大量的时间和精力来实现并逐步完善的,所以我们有理由相信Apache的发展前景会更好。下图为Apache2市场占有量的曲线图:版本介绍现在ApacheHTTP存在三种版本,1.32.0和2.2Apache1.3新的功能:新的功能:新的功能:在它的1.X版本年代,虽然Apache已经足够稳定和强大并取得了举足轻重的地位,但仍然存在着它无法覆盖的区域而让一些非全功能型的WEB服务器取得了市场。在2.X中这一情况得到了很大的改善,编译和安装也变得简单了些,Apache使用了标准GNU自动设置工具,对于Windows平台,它也提供了图形化的安装界面。在设置方面,新版本去掉了一些易让人糊涂的指示符号,不过大部分工作仍然基于一个文件的设置文件。对那些习惯图形界面设置工具的用户可能有点麻烦。设置工具与核心的发布包是分离的,一些类似ApacheConf可以免费或以很低的价格的获取,利用这些工具可以很方便的对Apache进行各种设置。从运行的角度看,Apache2.X版本比老版本更加强大,更具可扩展性。一个多线程/多进程的混合模块使它可以充分利用各种规模的主机性能(从一台只运行小型站点的典型X86服务器到同时运行多个虚拟实例的大型主机),这正是Apache1.3所缺乏的。新版本以插件的形式提供了对一些特定平台和几个通用模块的支持。对IPV6的官方支持已经为互联网的升级做好了准备,对HTTP1.1的支持提高了代理服务器的性能。另外新版本的核心发布包中增加了几个加强安全和可管理性的模块:mod_auth_ldap引入了基于LDAP(LightweightDirectoryAccessProtocol)认证,mod_autoindex模块可以很方便的生成目录列表供访问者使用,而mod_deflate模块允许内容在发送前先进行压缩以节约带宽。考虑到稳定性和扩展性,本文中使用的是Apache2.04.Apache的安装Apache的安装无外乎两种方式:源代码安装和DEB包安装。这两种安装类型各有特色,DEB包安装不需要编译,而源代码安装则需要先配置编译再安装,DEB包安装在一个固定的位置下,选择固定的模块,而源代码安装则可以让你选择安装路径,选择你想要的模块。本文主要介绍DEB安装方式。系统:GNU/LinuxDebian/etchApache当前版本:2.0.55-44.11.安装:使用以下命令安装:tony@tonybox:~$sudoaptitudeupdatetony@tonybox:~$sudoaptitudeinstallapache2apache2-utils其中apache2-utils提供了我们在配置维护过程中非常有用的一些工具安装完成后,可以使用下面的命令启动Apache服务:tony@tonybox:~$sudo/etc/init.d/apache2start停止Apache服务则是:tony@tonybox:~$sudo/etc/init.d/apache2stop也可以只接用kill命令强制杀死apache2进程tony@tonybox:~$sudokillallapache2如有需要,可以通过rcconf来控制是否在系统启动是加载Apache服务启动完成后打开浏览器,使用URL来访问已经启动的Apache服务器,服务器将会将会跳转到向浏览器返回一个Apache安装成功的页面.注:这取决于/etc/apache2/sites-available/default配置文件中,是否取消了RedirectMatch^/$/apache2-default/行的注释4.22.配置文件说明在Debian下,安装完成后,软件包为我们提供的配置文件位于/etc/apache2目录下:tony@tonybox:/etc/apache2$ls-ltotal72-rw-r--r--1rootroot124822006-01-1618:15apache2.confdrwxr-xr-x2rootroot40962006-06-3013:56conf.d-rw-r--r--1rootroot7482006-01-1618:05envvars-rw-r--r--1rootroot2682006-06-3013:56httpd.conf-rw-r--r--1rootroot124412006-01-1618:15magicdrwxr-xr-x2rootroot40962006-06-3013:56mods-availabledrwxr-xr-x2rootroot40962006-06-3013:56mods-enabled-rw-r--r--1rootroot102006-06-3013:56ports.conf-rw-r--r--1rootroot22662006-01-1618:15READMEdrwxr-xr-x2rootroot40962006-06-3013:56sites-availabledrwxr-xr-x2rootroot40962006-06-3013:56sites-enableddrwxr-xr-x2rootroot40962006-01-1618:15ssl其中apache2.conf为apache2服务器的主配置文件,查看此配置文件,你会发现以下内容#Includemoduleconfiguration:Include/etc/apache2/mods-enabled/*.loadInclude/etc/apache2/mods-enabled/*.conf#Includealltheuserconfigurations:Include/etc/apache2/httpd.conf#IncludeportslistingInclude/etc/apache2/ports.conf#IncludegenericsnippetsofstatementsInclude/etc/apache2/conf.d/[^.#]*有此可见,apache2根据配置功能的不同,对配置文件进行了分割,这样更利于管理conf.d下为配置文件的附加片断,默认情况下,仅提供了charset片断,tony@tonybox:/etc/apache2/conf.d$catcharsetAddDefaultCharsetUTF-8如有需要我们可以将默认编码修改为GB2312,即文件的内容为:AddDefaultCharsetGB2312httpd.conf是个空文件magic文件中包含的是有关mod_mime_magic模块的数据,一般不需要修改它.ports.conf则为服务器监听IP和端口设置的配置文件,tony@tonybox:/etc/apache2$catports.confListen80mods-available目录下是一些.conf和.load文件,为系统中可以使用的加载各种模块的配置文件,而mods-enabled目录下则是指向这些配置文件的符号连接,从配置文件apache2.conf中可以看出,系统通过mods-enabled目录来加载模块,也就是说,系统仅通过在此目录下创建了符号连接的mods-available目录下的配置文件来加载模块。同时系统还提供了两个命令a2enmod和a2dismod用于维护这些符号连接。这两个命令由apache2-common包提供。命令各式也非常简单:a2enmod[module]或a2dismod[module]sites-available目录下为配置好的站点的配置文件,sites-enabled目录下则是指向这些配置文件的符号连接,系统通过这些符号连接来起用站点sites-enabled目录下的符号连接附有一个数字前缀,如000-default,这个数字用于决定启动顺序,数字越小,启动优先级越高.系统提供了两个命令a2ensite和a2dissite用于维护这些符号连接。这两个命令由apache2-common包提供./var/默认情况下将要发布的网页文件应该置于/var/目录下,这一默认值可以同过主配置文件中的DocumnetRoot选项修改.5.配置指令:5.1apache2.conf中:1.ServerRootdirectory-pathServerRoot指令设置了服务器所在的目录。一般来说它将包含conf/和logs/子目录。使用DEB包安装的系统,此项的默认值为/etc/apache2也就是说仅仅包括apache2的配置文件.必须注意,该目录是受保护的,不允许非root用户对其进行修改.2.LockFilefilename指定httpd配置文件守护进程的加锁文件。由于httpd会经常进行并发的文件操作,就需要使用加锁的方式来保证文件操作不冲突,由于NFS(网络文件系统)在文件加锁方面能力有限,因此这个目录应该是本地磁盘文件系统,而不应该使用网络上的文件系统。一般不需要设置这个参数,Apache服务器将自动在ServerRoot下面的路径中进行操作。但如果ServerRoot为NFS文件系统,便需要使用这个参数指定本地文件系统中的路径。3.PidFilefilename指定记录httpd配置文件守护进程的进程号的文件。由于httpd配置文件能自动复制其自身,因此系统中有多个httpd进程,但只有一个进程为最初启动的进程,它为其他进程的父进程。对这个进程发送信号将影响所有的httpd进程。PidFile定义的文件中就记录httpd父进程的进程号。示例:PidFile/var/run/apache.pid4.Timeoutseconds设置连接请求的最大延时,超过这个设置,即自动断开。5.KeepAlive
本文标题:使用Apache搭建Web服务器
链接地址:https://www.777doc.com/doc-4501643 .html