第十章Web服务器Apache的配置
Apache是世界排名第一的Web服务器, 根据uk)所作的调查,世界上百分之五十以上的Web服务器在使用Apache。
尤其是现在,使用LAMP(Linux + Apache + MySQL + PHP)来搭建中等级别的应用已经是一种流行的方式,因此,掌握Apache的配置是系统工程师必备的技能之一。本章主要介绍Apache的配置以及如何构建LAMP平台。
本章目标:
学习完本章你将能够
¾了解HTTP协议
¾配置APACHE服务器
¾构建LAMP平台
1.HTTP协议简介
超文本传送协议(Hypertext Transfer Protocol,HTTP )是万维网( World Wide We b,WWW,也简称为Web )的基础。
HTTP服务器(通常的Web服务器)与HTTP客户机(通常为网页浏览器)之间的会话如图10-1所示:
图10-1
下面对这一过程进行详细分析。
1 客户机与服务器建立连接
与服务器建立连接,就是与SOCKET建立连接,因此要指定机器名称、资源名称和端口号,可以通过URL来提供这些信息。URL的格式为:
HTTP://<IP地址>/[端口号]/[路径][?<;查询信息>] ,例如:
www.koorka/index.php?op=ShowProductDetail&product_id=1
资源的缺省值是INDEX或DEFAULT,端口号缺省为80。
2 客户向服务器提出请求
请求信息包括希望返回的文件名和客户机信息。客户机信息以请求头发送给服务器,请求头包括HTTP方法和头字段。
HTTP方法常用的有GET、HEAD、POST,而PUT、DELETE、LINK、UNLINK 方法许多HTTP服务器都不使用。
头字段(通常叫做HTTP头)包括:
。DATE:请求发送的日期和时间
。PARGMA:用于向服务器传输与实现无关的信息。这个字段还用于告诉代理服务器,要从实际服务器而不是从高速缓存取资源
。FORWARDED:可以用来追踪机器之间,而不是客户机和服务器的消息。这个字段可以用来追踪在代理服务器之间的传递路由。
。MESSAGE_ID:用于唯一地标识消息
。ACCEPT:通知服务器客户所能接受的数据类型和尺寸。(*/*表示可以接受
所有类型的数据。
。AOTHORIZATION:向服务器提供旁路安全保护和加密机制,若服务器
不需要这个字段,则不提供这个字段
。FROM:当客户应用程序希望想服务器提供有关其地址时使用
。IF-MODEFIED-SINCE用于提供条件GET。如果所请求的文档自从所指定的日期以来没有发生变化,则服务器应不发送该对象。如果所发送的日期格式不合法,或晚于服务器的日期,服务器会忽略该字段。
。BEFERRER:向服务器进行资源请求用到的对象
。MIME-VERTION:用于处理不同类型文件的MIME协议版本号
。USER-AGENT:有关发出请求的客户信息
3 服务器对请求作出应答
服务器收到一个请求,就会立刻解释请求中所用到的方法,并开始处理应答。服务器的应答消息也包含头字段形式的报文信息。
报文第一行是状态行,格式为:
<HTTP版本号><;状态代码><;解释短语>
状态码是个三位数字码,分为四类:
。以2开头,表示请求被成功处理
。以3开头,表示请求被重定向
。以4开头,表示客户的请求有错
。以5开头,表示服务器不能满足请求
例如,如图10-2所示,就是访问一个不存在的网页或目录时返回的响应,注意浏览器的标题栏中的代码404(图片的左上角)就是返回的状态码:
图10-2
解释短语是对状态码的解释。例如 Not Found是对404的解释。
响应报文除了返回状态行,还向客户返回几个头字段,如:
。DATE:服务器的时间
。LAST-MODIFIED:网页最后被修改的时间
。SERVER:服务器信息
。CONTENT _TYPE:数据类型
。RETRY_AFTER:服务器太忙时返回这个字段
。WWW_AUTHENTICATE:当服务器的安全机制要求客户发送某中授权信息时使用该字段
报文最后是实体信息,即客户请求得到的HTTP服务器上的资源内容。
4 关闭客户与服务器之间的连接
2.使用Apache搭建电子商务网站
免费平台源码资源网使用LAMP(Linux + Apache + MySQL + PHP)来搭建中等级别的应用(尤其是电子商务)已经是一种流行的方式,因为全部是开源和免费的软件,所以成本非
常低廉。本节介绍平台的搭建。在搭建平台时,也可以直接使用RPM包来安装,但是由于使用RPM包在一些系统上不支持,因此我们使用更通用的方法:直接从源代码来安装。
2.1 APACHE简介
1995年4月,最早的Apache(0.6.2版)由Apache Group公布发行。 Apache Group 是一个完全通过Internet进行运作的非盈利机构,由它来决定Apache Web服务器的标准发行版中应该包含哪些内容,准许任何人修改隐错,提供新的特征和将它移植到新的平台上,以及其它的工作。当新的代码被提交给Apache Group时,该团体审核它的具体内容,进行测试,如果认为满意,该代码就会被集成到Apache的主要发行版中。
Apache 的特性:
1) 几乎可以运行在所有的计算机平台上.
2) 支持最新的HTTP/1.1协议
3) 简单而且强有力的基于文件的配置(HTTPD.CONF)
4) 支持通用网关接口(CGI)
5) 支持虚拟主机.
6) 支持HTTP认证.
7) 集成PERL.
8) 集成的代理服务器
9) 可以通过WEB浏览器监视服务器的状态, 可以自定义日志.
10) 支持服务器端包含命令(SSI).
11) 支持安全SOCKET层(SSL).
12) 具有用户会话过程的跟踪能力.
13) 支持FASTCGI
14) 支持JAVA SERVLETS.
2.2 从源代码安装Apache
通常,对于大多数电子商务网站而言,都会有在线支付系统。为安全起见,对于支付系统需要使用https协议来进行访问,也就是需要SSL的支持,因此,在开始安装apache软件之前,首先要安装OpenSSL。
安装OpenSSL的步骤如下:
(1)获取源代码:
创建存放软件的目录:
mkdir /backup/software (可以存放在任何自己想存放的目录)
到/source/下载最新稳定版的源代码,放到/backup/software。
本案例中下载的是openssl-0.9.
(2)解压软件
tar -zxvf openssl-0.9.
(3)进入源代码目录:
cd openssl-0.9.8
(4)配置编译选项:
./config --prefix=/mnt/software/openssl --shared
--shared的含义是创建共享库文件,如果不加,在编译时只生成静态库文件。
(5)编译:
make
make test #测试
(6)安装
make install
执行后将把相关的文件拷贝到/mnt/software/openssl的对应目录下。
在安装完OpenSSL后,接下来就可以安装Apache了,安装Apache的步骤如下:
(1)获取源代码
创建存放软件的目录:
mkdir /backup/software (可以存放在任何自己想存放的目录)
到/下载最新稳定版的源代码,放到/backup/software。
本案例中下载的是httpd-2.0.59.tar.bz2
(2)解压软件包

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。