




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本科生毕业论文Linux环境下Apache服务器的架构与实施院 (系) 专 业 研 究 方 向 学 生 姓 名 学 号 指导教师姓名 指导教师职称 摘 要根据著名的WWW服务器调查公司所作的调查,世界上百分之五十以上的WWW服务器都在使用Apache,是世界排名第一的WEB服务器。Apache为网络管理员提供了多种功能。原有的客户端/服务器模式正在逐渐被浏览器/服务器模式所取代。本文主要是在linux系统下架构我们的Apche服务器,基于Apache服务器我们创建我们的个人站点和配置虚拟主机。关键字:Linux系统;Apache服务器;配置文件AbstractAccording to the
2、survey company famous WWW server the survey, more than fifty percent of the world's WWW server use Apache, is the world's number one WEB server.It provides all kinds of functions for network administrator. The old client/server module is substituted by browser/server. This paper architecture
3、 Apche server under the linux system. Wo set up sites and configurate virtual host that based Apache server.Key words: Linux system;Apache server;configuration file目 录第一章 前言 11.1 Apache概述 11.2 Apache的发展历史 11.3 Apache的工作原理 21.4 Apache服务器的特点 41.5 Linux系统下的常用命令 51.5.1简单命令的使用 51.5.2网络配置的常用命令 6第二章 LINUX环
4、境下APACHE的安装 72.1 安装Apache 服务器 72.2 启动Apache 服务器 82.3 Apache 服务器的配置文件 9第三章 个人站点的配置 123.1 修改httpd.conf 123.2 开启UserDir public_html 133.3 创建用户和创建public_html文件 133.4 修改权限 143.5 个人站点网页测试 15第四章 如何实现基于用户的验证 164.1 修改配置文件 164.2 建立配置文件口令 174.3 进行网页测试 18第五章 如何实现虚拟主机 195.1 域名解析 195.2 使用ping命令测试虚拟域名的连通性 195.3 配置
5、虚拟主机 205.4 创建/sina、/google在www目录下 215.5 检测网页是否成功 22第六章 总结 23参考文献 24谢 辞 25第一章 前言1.1 Apache概述现今网络的流行,大部分归功于WWW服务器,它的出现,使成千上万的网民可以通过图形界面去访问各种信息和服务。在 2003 年 7 月,Netcraft 所调查的 40936076 个 Web 站点中, 25856505 个 Web 站点有使用 Apache 作为其 Web 服务器,占总数的 63.16 %,而使用 Microsoft IIS 的站点数为10992195,只占 26.85 %。显而易见,Apache是最
6、受欢迎,拥有使用用户最多的web服务器。Apache这个词在不同的领域所给出的解释是不一样的。在种族名称上,Apache是美洲大陆上的一个印第安种族的名称;在军事名称上,Apache还是一种火力强大的攻击攻击型直升飞机的名称;那在信息领域Apache服务器名称的由来是什么样的?Apache的原始核心取自NCSA(University of Illinois,Urbana-Champaign)httpd服务器,后来加上由各方所提供的补丁文件而成,此种组合让这套HTTP服务器被人们戏称为"A Patchy Server",意思是“一个修修补补”的服务器。而"A Pat
7、chy"和"Apache"谐音,后来就慢慢演变成Apache,并正式命名。使用Apache的网站不胜枚举。如"Yahoo!" "IBM" "Hotmail" “维基百科”。1.2 Apache的发展历史Apache源自于NCSA(University of Illinois,Urbana-Champaign)所开发的httpd,在1994年中期,许多Web主管自行发展自己的外加功能及修正码。一批Web主管通过私人电子邮件聚集在一起来实现其改变。Apache的诞生,是非常引人注目的。项目暂停NCSAWWW服
8、务器时,使用NCSA WWW服务器,以换取他们的服务器补丁,他们很快就意识到,在论坛成立管理这些补丁是必要的。这种方式出生的Apache集团,这个集团是在NCSA的Apache的基础上创建的。直到 1999 年 6 月,由 Apache Group成立了非 盈利性组织的公司,即 Apache 软件基金会( Apache Software ASF),Apache 服务器都是由 Apache Group 来维护的, ASF 现在维护着包括 Apache 在内的多个项目,还包括 Perl、Foundation,PHP、 Java、Tcl、XML 等。ASF 的网址是 http:/www.apache
9、.org。Apache 的简单发展历史如表1.1。表1-1 Apache 的简单发展历史时间事件1995.3Apache 0.6.2 版发行,这是第一个公开版本1995.8Apache 0.8.8 版发行,新增部分所包含的模块结构沿用至今1995.10.1Apache 1.0.0 版发行1996.7Apache 1.1 版发行。支持 HTTP1.1,基于名称的虚拟主机等1997.6Apache 1.2 版发行1998.3Apache 1.3 版发行1998.6.12mod_perl 1.0.0 版发行2000Apache 2.0 测试版发行2002Apache 2.0 发行1.3 Apache
10、的工作原理Web系统是客户端/服务器式的,所以应该有服务器程序和客户端程序两部分。常用的服务器程序是Apache;常用的客户端程序是浏览器(如IE、Netscape、Mozilla)。我们可以在浏览器的地址栏内输入统一资源定位地址(URL)来访问Web页面。Web最基本的概念是超文本(Hypertext)。它使得文本不再是传统的书页式文本,而是可以在阅读过程中从一个页面位置跳转到另一个页面位置。用来书写Web页面的语言称为超文本标记语言,即HTML。WWW服务遵从HTTP协议,默认的TCP/IP端口是80,客户端与服务器的通信过程简述如下:1客户端(浏览器)和Web服务器建立TCP连接,连接建
11、立以后,向Web服务器发出访问请求(如get)。根据HTTP协议,该请求中包含了客户端的IP地址、浏览器的类型和请求的URL等一系列信息。2Web服务器收到请求后,将客户端要求的页面内容返回到客户端。如果出现错误,那么返回错误代码。3断开与远端Web服务器的连接。下面是一个客户端发送给Web服务器请求的数据包的内容:GET /engineer/ideal/list.htm HTTP/1.1Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/
12、vnd.ms-excel, application/msword, */*Referer: Accept-Language: zh-cnAccept-Encoding: gzip, deflateUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0Host: Connection: Keep-Alive从代码中可以看到,在客户端的请求里包含了很多有用的信息,如客户端类型等。Web服务器会将请求的Web页内容发送返回给客户端。HTTP/1.1说明:HTTP/1.1(超文本链接协议1.1版本)是HTTP协议的最新版本。HTTP协
13、议是运行在TCP/IP协议组上的万维网应用协议。HTTP/1.1提供了比前一版本更快的访问网站速度,同时针对网络资源进行优化,降低了网络流量。HTTP/1.1由互联网工程任务组开发。现在大部分服务器和网站都支持HTTP/1.1协议。下面是一些HTTP/1.1能够加快网页访问速度的原因。1以往的HTTP协议每次访问应用程序时,都会进行创立及撤销链接的步骤。HTTP/1.1在首次访问网站时建立持久链接,将多个请求批量或通过管道发送到输出缓冲区内。TCP协议允许将多个来自IP层的数据包请求或回复命令集中到一个TCP段中。因此减少了反复建立链接所需的时间,同时由于没有了不必要的申请链接数据包,也降低了
14、网络流量。由于将命令通过管道输送,大大提高了TCP段的效率。总之,网络流量降低了,性能提高了。2当支持HTTP/1.1的浏览器发现网页是未压缩网页时,会将网页进行压缩后进行传输,这样可以节约更多流量空间,不过由于网页中的图片文件一般都已经被压缩过,因此,这种压缩对图片多的网页不太有效。除持久链接及其他改进后的性能之外,HTTP/1.1还允许多个域名共享同一IP地址。这简化了网络服务器对虚拟主机数目管理的处理量。1.4 Apache服务器的特点正是由于Apache服务器拥有许多可以保持服务器稳定而高效运行的特性,才受到众多用户的青睐。其性能和特点主要如下几个方面:可以运行在几乎所有计算机平台。支
15、持最新的HTTP 1.1协议。简单而强有力的基于文件的配置。支持虚拟主机。支持HTTP认证。集成了代理服务器。具有可定制的服务器日志。支持安全 Socket 层(SSL)。用户会话过程的跟踪能力。支持通用网关接口 CGI。集成Perl脚本编程语言。支持服务器端包含命令(SSI)。支持FastCGI。支持PHP。支持Java Servlets。支持第三方软件开发商提供的大量功能模块。1 1.5 Linux系统下的常用命令1.5.1简单命令的使用常用命令如表1-1所示。表1-1 常用命令及说明命令功能说明reboot重启动计算机halt关机shutdown关机;-h,-r示例shutdown h
16、+5 五分钟后关机shutdown -h 18:18:18定时关机date显示时间与日期。修改时间:date 010112002006(月日小时分年ls列出文件和目录的属性信息pwd列出用户当前所处目录路径cd改变用户的当前目录mkdir建立一个新目录rmdir删除一个目录及其中的文件more分页查看文件内容 例如:cat /etc/passwd |morewc显示档案的相关信息,例如:行数,字数,byte数,档案名tail查看档案或文件的后多少行的内容.tail -3 yp.confcp连续显示、查看文件内容mv移动文件或目录(如果在同一目录,就是换名)rm删除文件或目录Grep在指定对象中
17、搜索指定文本,例如:grep this *.txtcat连续显示、查看文件内容1.5.2网络配置的常用命令网络配置常用命令如表1-2所示。表1-2 网络配置常用命令及说明命令功能说明ifconfig查看网卡的信息route配置并查看内核路由表的配置情况traceroute显示数据包到达目的主机所经过的路由ping测试网络的连通性netstat显示网络状态信息hostname更改主机名arp配置并查看arp缓存ifup启动指定的非活动网卡设备nslookup查询DNS数据库的用户级命令tcpdump监视TCP/IP连接并直接读取数据链路层的数据包的头部信息第二章 Linux环境下Apache的安
18、装2.1 安装Apache 服务器 首先我们需要查看Apache服务器的安装信息,查看linux系统下是否已安装了服务器。输入指令:#rpm qa | grep httpd如下图2-1所示。图2-1 检查apache的安装情况由检测结果看,linux系统下已经安装了Apache2.2。如果检测系统没安装Apache软件包,可以进行手动安装。安装方式有通过源码包安装和通过rpm包安装两种方式,两种安装方式的效果是相同的。下面是rpm包安装的方法:将Red Hat Enterprise Linux安装盘放入光驱,加载光驱后在光盘的Server目录下找到Apache的RPM安装包文件httpd-2.
19、2.3-6.el5.i386.rpm,可使用下面命令安装Apache:#rpm -ivh /mnt/Server/httpd-2.0.40-21.el5.i386.rpmApache将自己的所有配置文件和日志文件存放在了"/etc/httpd"目录下,其中"/etc/httpd/conf"下为配置文件,"/etc/httpd/log"下为日志文件。同时,它将建立"/home/httpd"目录,其下一共有三个子目录:"html/",在这个目录下存放HTML(主页)文件;"cgi-bin/
20、",在这个目录下可以存放一些 CGI程序;"icons/",在这个目录下是服务器自带的一些图标。查看rpm包的内容可以使用指令:#rpm ql httpd | more效果如图2-2所示。图2-2 查看apache rpm包内容2.2 启动Apache 服务器在完成安装之后,我们就可以将Apache服务器启动了,在终端下输入指令:# service httpd start即可。打开浏览器,在地址栏中输入 ,可以看到Apache启动的效果了。如图2-3所示。图2-3 Apache的启动效果若想让系统自动执行Apache,只需执行setu
21、p命令,进行Text Mode Setup Utility界面,选中System services中的:httpd服务即可。当然,还有一种更方便的图形化方法.选择:应用程序/系统设置/服务器设置/服务/ 如图2-4。图2-4 设置自动启动Apache2.3 Apache 服务器的配置文件Linux中httpd的配置文件是/etc/httpd/conf/httpd.conf。对其参数进行修改可以达到修改配置文件的目的。输入命令:#cd /etc/httpd/conf 然后输入:#vi httpd.conf 结果如下图2-5。图2-5 vi编辑httpd.conf这样就可以修改配置文件了。下面是一
22、些Apache主要的相关配置文件的功能:Server Root服务器位置Pidfilepid文件地址Timeout最大连接时间KeepAlive是否保持持久连接Max KeepAlive Requests最大请求连接数KeepAlive timeout保持连接时间Star Servers打开服务器时可以等待进行连接的用户数Min Spare Server最低空闲服务Max Spare Server最大空闲服务Server Limit连接最大数量MaxClients客户端最大数量Listen监听端口的数量Dyname Shared Object(DSOSupport动态模块支持功能,扩展功能可以
23、通过它以模块方式进行打入Include包含其他配置文件User Apache;Group ApacheApache在执行时的用户和组,对本地资源进行处理时,注意是否有权限Server Admin管理者的电邮Server Name服务器名称Document Root相关文件存放地址。正常一台服务器的工作,只要在Document Root下存放相应的内容,网站就可以正常工作。接下来我们对Document Root这个配置选项进行测试。Document Root的默认参数是”/var/www/html”,那么我们在这个目录下创建一个临时的主页。操作如下:#cd /var/www/html #echo
24、 "WELCOME MY FRIEND" > index.html 在浏览器中输入服务器的地址,查看效果。如图2-6所示。图2-6 服务器效果第三章 个人站点的配置3.1 修改httpd.confApache可以实现用户基于用户的个人站点设置。下面我们开始进行配置,首先我们需要对Apache的配置文件进行修改。进入/etc/httpd/conf路径,用vi编译配置文件httpd.conf。命令如图3-1所示。图3-1 对httpd.conf文件进行编译进入了httpd.conf的vi编辑界面后,我们需要找到UserDir disable和UserDir public_
25、html这两项,如下图 3-2所示。图3-2 httpd.conf的vi编辑界面3.2 开启UserDir public_htmlUserDir表示的是:指定在得到一个user请求时将会添加到用户home目录后的目录名,它的默认值是disable。开启个人站点,我们需要开启UserDir的功能,将UserDir disable 注释掉,将UserDir public_html前的注释标识"#"删除 ,开启UserDir public_html。最后不要忘记输入":wq"保存。如图3-3所示。图3-3 将public_html开启因为我们对主配置文件的内容
26、进行了修改,所以我们在修改配置文件后,需要将Apache服务器重新启动。在终端中输入命令:Service httpd restart3.3 创建用户和创建public_html文件基于个人站点用户设置,我们在用户创建时,在其宿主目录下创建public_html.首先我们需要添加一个新用户u1,然后切换到u1。我们需要输入的命令如下:#ls /home#useradd u1#su u1接着我们再在u1用户下创建目录public_html,所有演示如图3-4所示。图3-4 创建用户然后我们需要进入目录public_html。在其目录内创建文件a.html并将"this is u1 hom
27、e page! "写入其文件,这个文件将是后面我们在测试网页的时候显示的内容。如图所示3-5所示。图3-5 创建a.html文件并进行编译3.4 修改权限想要Apache访问目录public_html,Apache用户需要具有执行的权限。经查看u1对外的权限是700.所以我们需要用$ chmod 711 u1这个命令使其具有执行权限。具体配置如图 3-6所示。图 3-6 修改u1用户的权限注意:此处的权限修改是需要极其注意的,往往我们会因为此处对个人站点错误的配置而出现差错。3.5 个人站点网页测试修改权限执行完成后,我们进入浏览器执行一下测试。在地址栏输入 /u1
28、/a.html查看其结果是否是前面我们输入的用于测试的内容,如下图3-7所示。图3-7 检测是否创建成功第四章 如何实现基于用户的验证在上网的时候,经常发现访问某一资源的时候,出现一个验证用户名,密码的提示框。我们看一下在Apache上是如何实现这一功能的。4.1 修改配置文件首先,我们需要进入/etc/httpd/conf目录,输入指令:vi httpd.conf对配置文件进行文本编辑,找到 Directory>项,如图4-1所示。图4-1 编译httpd.conf文件我们来对其进行添加修改,添加内容如图4-2所示。图4-2 Directory添加内容以上内容的功能解析:Authnam
29、e 验证提示框内容AuthType Basic 验证的类型AuthUserFile 需要验证的文件Require 需要对哪些用户验证4.2 建立配置文件口令由于上一步中配置文件的设置,我们需要创建一个名为private的目录,输入命令:#mkdir /var/www/html/private。然后我们建立配置文件口令,我们可以通过指令:htpasswd c .htpw zhaokai(后为用户名。需要注意的是路径一定要正确。然后在”New password”后输入密码,并二次确认。流程如图4-3所示。图4-3 建立口令因为我们修改的是主配文档,所以我们需要把服务器重新启动。4.3 进行网页测试
30、最后进入浏览器测试一下,在浏览器地址栏输入:/private/结果如图4-4。图4-4 测试结果输入我们设置好的用户名和密码,结果如图4-5。图4-5 输入用户名密码后第五章 如何实现虚拟主机虚拟主机可以在一台web服务器上为多个单独的域名提供服务,每个域名具有特定的目录和配置,相当与一台主机分为多台主机。虚拟主机技术对于满足主机数量不足,但又想为不同用户提供独立的web服务的需求非常有效。下面我们看一下 基于一个IP地址进行多个虚拟主机的绑定设置。首先使用#ifconfig命令查看当前的IP地址。在当前的IP地址28上我们需要绑定上几个网址。这里我
31、们以 和为例。5.1 域名解析那么这里面我们首先解决域名解析的问题,我们通过vi /etc/hosts指令进行简单的地址映射,如图5-1所示。5-1 编译/etc/hosts文件5.2 使用ping命令测试虚拟域名的连通性地址映射后,我们用ping命令测试一下虚拟域名是否连通,如图5-2,5-3所示。图5-2 测试图5-3 测试由结果可以看出上述两个域名都能连通,下面我们对虚拟主机进行配置。5.3 配置虚拟主机首先我们需要再次编译httpd.conf输入命令:#vi /etc/httpd/conf/httpd.conf下图是httpd.conf配置文件的内容,按"G"直接跳
32、到文件的末尾,我们看到虚拟主机的简单的模板NameVirtualHost * 如下图5-4。图5-4 查看NameVirtualHost *首先我们需要删除NameVirtualHost *前的注释标识,将其打开。然后将下面的模块复制,并修改成如图5-5所示。图5-5 修改配置文件5.4 创建/sina、/google在www目录下下面我们用mkdir p /www/sina命令,创建目录/www/sina ,然后我们再使用echo "sina site" > /www/sina/index.html命令创建简单的测试页,最后我们用ls /www/sina命令检查是否创建成功,域名google采用相同的方法。如下图5-6所示。图5-6 创建目录和测试页验证成功后,我们将Apache服务器重启一下。5.5 检测网页是否成功 最后我们进入浏览器,分别输入和进行验证。验证结果如图5-7、5-8所示。图5-7 验证图5-8 验证第六章 总结Web服务是整个互联网服务器上的最基本的服务,今天在Linux下的Apache服务器是最大的和最流行的Web服务器,到目前为止,随着时间的沉淀它经历了无数用户的考验,因此,目前Apache的默认选项已经适合很多人了
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025上海车展智能汽车洞察分析报告
- 金银岛阅读心得600字(4篇)
- 商品房买卖合同模板(16篇)2
- 计算机嵌入式开发技巧试题及答案
- 数据库表设计的工具与技巧试题及答案
- 大学辅导员年度工作总结(4篇)
- 计算机网络中常见故障分析试题及答案
- 法律实务案例分析试题集及解答指南
- 会议举办合作合同书
- 边缘计算在嵌入式中的实现方式试题及答案
- 停车场改造的申请报告
- 教育机构2025年人才流失应对策略与吸引人才新思路报告
- 新疆生产建设兵团2025届七年级数学第二学期期末监测模拟试题含解析
- 《保安员培训手册》
- 农业执法考试试题及答案
- 股权转让解除协议书
- 幼儿园桌椅安全教育
- 《2025 急性心梗诊疗指南》解读课件
- 2025-2031年中国医学检验市场深度分析及行业前景展望报告
- 医院培训课件:《中华人民共和国母婴保健法》
- 佛山市普通高中2025年高三第二次诊断性检测生物试卷含解析
评论
0/150
提交评论