httpd2.4.23部署Web服务器

HTTP协议html

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

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。 web

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

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

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

image.png

HTTP事物
安全

request请求报文bash

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

response回应报文服务器

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

http报文分析app

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 进行

 还新增如下几条新特性; 

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

二、支持 event 

三、支持异步读写

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

五、加强版的表达式分析器

六、每请求配置:

七、毫秒级别的 keepalive timeout 

八、基于 FQDN 的虚拟主机再也不须要 NameVirtualHost 指令 

九、支持使用自定义变量

步骤

首先下载源码包

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时间很长。

相关文章
相关标签/搜索