«
apache介绍及安装

时间:2022-8-9     作者:李泽信     分类:


Linux系统安装Apache

Apache简介
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。

Apache安装前准备

1、Apache软件下载
Apache的相关软件包下载地址:http://httpd.apache.org/download.cgi#apache24

2、APR and APR-Util包
截止目前为止,APR and APR-Util的最新版本如下,下载地址:http://apr.apache.org/download.cgi

3、 PCRE包
截止目前为止,PCRE最新的包为8.45,下载地址: https://sourceforge.net/projects/pcre/files/pcre/

4、本次安装所用安装包:
apr-1.7.0.tar.gz
apr-util-1.6.1.tar.gz
httpd-2.4.51.tar.gz
pcre-8.45.tar.gz

Apache安装过程
1.安装依赖包

[root@localhost ~]# yum -y install gcc make pcre-devel openssl-devel expat-devel

2.批量解压安装包

[root@localhost ~]# mkdir /data
[root@localhost ~]# for i in *.tar.gz -C /data; do tar xf $i;done

3.将apr和apr-util源码与httpd源码合并

[root@localhost ~]# cp -ar /data/apr-1.7.0 /data/httpd-2.4.53/srclib/apr
[root@localhost ~]# cp -ar /data/apr-util-1.6.1 /data/httpd-2.4.53/srclib/apr-util

4.判断是否存在且创建

[root@localhost ~]# [ -a /data/apache ]||mkdir -p /data/apache

5.编译并安装

[root@localhost ~]# cd httpd-2.4.51/
[root@localhost httpd-2.4.53]#./configure --prefix=/data/apache --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-included-apr --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
[root@localhost httpd-2.4.51]# make -j 8 &&make install

注释:
--prefix=/data/apache   指定安装位置;
--enable-so 支持动态共享模块;
--enable-ssl 支持ssl;
--enable-cgi 开启cgi通用网管接口;
--enable-rewrite 支持url重写;
--with-zlib  支持 zlib ;
--with-pcre  支持 pcre ;
--with-included-apr  支持apr ;
--enable-modules=most  编译成二进制是安装常用模块;
--enable-mpms-shared=all  安装apache的所有工作模式;
--with-mpm=prefork   指定apache工作模式

6.修改httpd.conf中ServerName www.example.com:80

[root@localhost ~]# vi /data/apache/conf/httpd.conf
#ServerName www.example.com:80
修改为
ServerName localhost:80

7.启动并验证

[root@localhost ~]# /data/apache/bin/apachectl start
[root@localhost bin]# netstat -utpln |grep 80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      47848/httpd         
[root@localhost bin]# netstat -ant |awk '/^tcp/{S[$NF]++}END{for(a in S) print a,S[a]}'
LISTEN 3
ESTABLISHED 2

注解:
  CLOSED          无连接是活动的或正在进行 
  LISTEN          服务器在等待进入呼叫 
  SYN_RECV        一个连接请求已经到达,等待确认 
  SYN_SENT        应用已经开始,打开一个连接 
  ESTABLISHED     正常数据传输状态/当前并发连接数 
  FIN_WAIT1       应用说它已经完成 
  FIN_WAIT2       另一边已同意释放 
  ITMED_WAIT      等待所有分组死掉 
  CLOSING         两边同时尝试关闭 
  TIME_WAIT       另一边已初始化一个释放 
  LAST_ACK        等待所有分组死掉