httpd2.4.23部署Web服务器

HTTP协议

http/0.9:简单超文本浏览,只支持get方式,内部文件检索系统 

http/1.0 : cache ,MIME机制 method(请求方法),可以传输非文本格式的数据。Html 格式的文本文档有text/html类型标记,普通的ASCII文本文档由text/plain,类型标记 Jpeg格式的图片为image/gif类型,Apple的quick time 电影格式为video/quicktime类型。Method:请求方式 GET、POST、HEAD、PUT、DELDTE、TARCE、OPTIONS。 

http/1.1:增加了缓存,持续连接的功能(keep-alive) 

http/2.0:借鉴google SPDY协议的特性。

但目前来说http版本以1.1居多,2.0用的依然较少。

image.png

HTTP事物

request请求报文

<method> <request URL> <HTTP version>
<header>
<entity-body>

response回应报文

<HTTP version> <state code> <reason-phrase>
<header>
<entity-body>

http报文分析

Request Method:GET#请求方式
Status Code:304 Not Modified#状态码
##回应报文##
Connection:Keep-Alive#使用keep-alive长连接
Date:Tue, 13 Dec 2016 14:41:57 GMT#连接时间
ETag:"5-54361251beb00"#相应内容特征码
Keep-Alive:timeout=5, max=100#长连接的超时时间,最大连接保持时间
Server:Apache/2.4.6 (CentOS) PHP/5.4.16#服务器的系统和web服务器版本
##请求报文##
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8#客户端支持的数据类型
Accept-Encoding:gzip, deflate, sdch#支持的压缩
Accept-Language:zh-CN,zh;q=0.8#支持的语言
Cache-Control:max-age=0#缓存控制
Connection:keep-alive#支持长连接
Host:www.linuxinfo.top#客户端请求的域名
Upgrade-Insecure-Requests:1#表示支持不安全的http连接,但最好使用https
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, likeGecko) Chrome/49.0.2623.22 Safari/537.36 SE 2.X MetaSr 1.0#客户端使用的浏览器信息

使用httpd-2.4.23部署

Apache HTTP Server(简称Apache),是Apache软件基金会的一个开放源代码的网页服务器,可以在大多数电脑操作系统中运行,由于其具有的跨平台性和安全性,被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,Perl/Python解释器可被编译到服务器中,可以创建一个每天有数百万人访问的Web服务器。

新版本的 httpd-2.4 新增以下特性; 

新增模块;

mod_proxy_fcgi(可提供 fcgi 代理)

mod_ratelimit(限制用户带宽)

mod_request(请求模块,对请求做过滤) 

mod_remoteip(匹配客户端的 IP 地址)

 对于基于 IP 的访问控制做了修改,不再支持 allow,deny,order 机制,而是统一使用 require 进行

 还新增以下几条新特性; 

1、MPM 支持在运行时装载;不过要开启这种特性,在编译安装要启用这三种功能; --enable-mpms-shared=all --with-mpm=event 

2、支持 event 

3、支持异步读写

4、在每个模块及每个目录上指定日志级别 

5、增强版的表达式分析器

6、每请求配置:

7、毫秒级别的 keepalive timeout 

8、基于 FQDN 的虚拟主机不再需要 NameVirtualHost 指令 

9、支持使用自定义变量

步骤

首先下载源码包

apr-1.5.2.tar.gz 
apr-util-1.5.4.tar.gz 
pcre-8.39.tar.gz 
zlib-1.2.8.tar.gz 
httpd-2.4.23.tar.gz 
openssl-1.0.1u.tar.gz

给一个我自己做的脚本。拆分一下就是整个步骤。

#!/bin/bash
echo "解压软件包"
cd /root
tar zxf apr-1.5.2.tar.gz 
tar zxf apr-util-1.5.4.tar.gz 
tar zxf pcre-8.39.tar.gz 
tar zxf zlib-1.2.8.tar.gz 
tar zxf httpd-2.4.23.tar.gz 
tar zxf openssl-1.0.1u.tar.gz
echo "安装apr"
cd /root/apr-1.5.2/
./configure --prefix=/usr/local/apr &> /dev/null
make &> /dev/null
make install &> /dev/null
echo "安装apr-utils"
cd /root/apr-util-1.5.4/
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr &> /dev/null
make &> /dev/null
make install &> /dev/null
echo "安装zlib"
cd /root/zlib-1.2.8/
./configure --prefix=/usr/local/zlib &> /dev/null
make &> /dev/null
make install &> /dev/null
echo "安装pcre"
cd ../pcre-8.39/
./configure --prefix=/usr/local/pcre &> /dev/null
make &> /dev/null
make install &> /dev/null
echo "安装opensll-1.0.1u"
cd ../openssl-1.0.1u/
./config -fPIC --prefix=/usr/local/openssl enable-shared &> /dev/null
make &> /dev/null
make install &> /dev/null
mv /usr/bin/openssl /usr/bin/openssl.1.0.1e
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
echo "安装httpd"
cd /root/httpd-2.4.23/
./configure --prefix=/usr/local/http --enable-so --enable-cgi --enable-cgid --enable-ssl --with-ssl=/usr/local/openssl --enable-rewrite --with-pcre=/usr/local/pcre --with-z=/usr/local/zlib/ --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --enable-modules=most --enable-mods-shared=most --enable-mpms-shared=all --with-mpm=event --enable-proxy --enable-proxy-fcgi --enable-expires --enable-deflate &> /dev/null
make &> /dev/null
make install &> /dev/null
ln -s /usr/local/http/bin/* /usr/local/bin/
sed -i s/#ServerName/Servername/g /usr/local/http/conf/httpd.conf
cp /usr/local/http/bin/apachectl /etc/init.d/httpd
sed -i '1 a # chkconfig: 35 85 15' /etc/init.d/httpd
chkconfig --add httpd
chkconfig httpd on
apachectl start
if [ $? -eq 0 ];then
echo "!!!!!!Complete!!!!!!"
fi

注意,openssl如果不安装上面的版本,可以直接

yum -y install openssl-devel

这样就省去了下载并源码安装openssl的时间了,因为安装openssl时间很长。



猜你喜欢

转载自blog.51cto.com/13434336/2160450
今日推荐