参考白树明:https://www.zutuanxue.com所写
一、Apache介绍
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。
Apache HTTP服务器是一个模块化的服务器,源于NCSAhttpd服务器,经过多次修改,成为世界使用排名第一的Web服务器软件。
- 官网:www.apache.org
- 学习手册:学习手册:http://httpd.apache.org/docs/
- 目前的最新版本:2.4.46(2020-08-05发布)
二、Http知识
2.1 http状态码的含义
2.2 http状态码具体描述说明
三、Apache安装
3.1 安装依赖
[root@nginx1 ~]# yum install -y pcre-devel libxml2 expat-devel
3.2 安装Apr
APR(Apache portable Run-time libraries,Apache可移植运行库)的目的如其名称一样,主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。在早期 的Apache版本中,应用程序本身必须能够处理各种具体操作系统平台的细节,并针对不同的平台调用不同的处理函数。
3.2.1 下载源码包
[root@nginx1 ~]# wget https://www.apache.org/dist/apr/apr-1.7.0.tar.bz2
3.2.2 解压、配置安装目录、编译、安装
- 解压
[root@nginx1 apache]# tar xf apr-1.7.0.tar.bz2
- 配置安装目录
[root@nginx1 apr-1.7.0]# ./configure --prefix=/usr/local/apr
- 编译、安装
[root@nginx1 apr-1.7.0]# make
[root@nginx1 apr-1.7.0]# make install
3.3 Apr-util 安装
apr-util该目录中也是包含了一些常用的开发组件。这些组件与apr目录下的相比,它们与apache的关系更加密切一些。比如存储段和存储段组,加密等等。
- 下载、解压、安装编译依赖包、配置安装目录、编译安装
[root@nginx1 apache]# wget https://www.apache.org/dist/apr/apr-util-1.6.1.tar.bz2
[root@nginx1 apache]# cd apr-util-1.6.1/
[root@nginx1 apr-util-1.6.1]# yum install -y expat-devel
[root@nginx1 apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
[root@nginx1 apr-util-1.6.1]# make && make install
3.4 Apr-iconv 安装
apr-iconv包中的文件主要用于实现iconv编码。目前的大部分编码转换过程都是与本地编码相关的。在进行转换之前必须能够正确地设置本地编码。因此假如两个非本地编码A和B需要转换,则转换过程大致为A->Local以及Local->B或者B->Local以及Local->A
- 下载源码包,解压、配置安装目录、编译安装
[root@nginx1 apache]# wget https://www.apache.org/dist/apr/apr-iconv-1.2.2.tar.bz2
[root@nginx1 apache]# cd apr-iconv-1.2.2/
[root@nginx1 apr-iconv-1.2.2]# ./configure --prefix=/usr/local/apr-iconv --with-apr=/usr/local/apr
[root@nginx1 apr-iconv-1.2.2]# make && make install
3.5 安装Apache
- 下载最新安装包
[root@nginx1 apache]# wget https://downloads.apache.org/httpd/httpd-2.4.46.tar.gz
[root@nginx1 apache]# tar xzvf httpd-2.4.46.tar.gz
[root@nginx1 apache]# cd httpd-2.4.46/
- 编辑配置文件和开启功能
[root@nginx1 httpd-2.4.46]# ./configure --prefix=/usr/local/apache
\ --enable-mpms-shared=all --with-mpm=event --with-apr=/usr/local/apr
\--with-apr-util=/usr/local/apr-util --enable-so --enable-remoteip --enable-proxy
\ --enable-proxy-fcgi --enable-proxy-uwsgi --enable-deflate=shared
\--enable-expires=shared --enable-rewrite=shared --enable-cache
\--enable-file-cache --enable-mem-cache --enable-disk-cache --enable-static-support
\--enable-static-ab --disable-userdir --enable-nonportable-atomics
\--disable-ipv6 --with-sendfile
具体含义
--prefix=/usr/local/apache 指定安装目录
--enable-mpms-shared=all --with-mpm=event 开启动态MPM切换
--with-apr=/usr/local/apr --with-apr-util