设为首页 收藏本站
查看: 1251|回复: 0

[经验分享] Linux运维实战之Apache2.4编译安装及其新特性

[复制链接]
累计签到:147 天
连续签到:1 天
发表于 2015-6-17 23:29:54 | 显示全部楼层 |阅读模式

HTTP协议基础(参见博文:http://sweetpotato.blog.iyunv.com/533893/1656137

Apache2.2的基本配置(参见博文:http://sweetpotato.blog.iyunv.com/533893/1657668

Apache2.2的虚拟主机(参见博文:http://sweetpotato.blog.iyunv.com/533893/1660229)

基于https的Apache2.2(参见博文:http://sweetpotato.blog.iyunv.com/533893/1662061

【本次博文的主要内容】

  • httpd 2.4的编译安装      
  • httpd2.4配置的综合实验


一、编译安装httpd-2.4.12:

1、安装环境

系统环境:CentOS 6.4-x86_64

所需软件包:

apr-1.5.0.tar.bz2:apr(Apache Portable Runtime)

apr-util-1.5.4.tar.bz2

Perl-Compatible Regular Expressions Library (PCRE):pcre-devel

httpd-2.4.12.tar.bz2

下载地址:

http://apr.apache.org/

http://httpd.apache.org/

2、Apache的运行原理:

理解了Apache的运行机制后,才能更好地理解为什么Apache的安装需要依赖apr包哈。

【Apache的运行机制】:

wKiom1WBid3RVZOAAAFqCGLlsOM703.jpg

由上图可知,apr(Apache可移植运行环境)是工作于OS之上的一层,Apache就是依靠它实现跨平台的哈;httpd-2.4.12依赖于更高版本(1.5版本以上)的apr和apr-util。

【Apache的启动过程】:

wKiom1WBid-QPlJ1AAHmwTye1SE840.jpg

3、编译安装Apache2.4.12:

了解了上述内容后,下面我们就来实际编译安装Apache2.4.12

(1)配置编译环境并解决依赖关系(安装相关包组):

安装开发环境包组:

wKiom1WBieCQjTCiAADmokX9wtY718.jpg

安装pcre-devel(兼容Perl的正则表达式库):

wKiom1WBieGQBqVUAAAiJFQBSMQ484.jpg

下载apr-1.5.2/apr-util-1.5.4:

wKioL1WBi5HyY2_dAACxuszvVvg519.jpg

编译安装apr-1.5.2:

[size=1em]1

[size=1em]2

[size=1em]3

[size=1em]4

[size=1em][size=1em][iyunv@Centos ~]# tar xf apr-1.5.2
[size=1em][iyunv@Centos ~]# cd apr-1.5.2
[size=1em][iyunv@Centos ~]# ./configure --prefix=/usr/local/apr
[size=1em][iyunv@Centos ~]# make && make install



编译安装apr-util-1.5.4:

[size=1em]1

[size=1em]2

[size=1em]3

[size=1em]4

[size=1em][size=1em][iyunv@Centos ~]# tar xf apr-util-1.5.4.tar.bz2
[size=1em][iyunv@Centos ~]# cd apr-util-1.5.4
[size=1em][iyunv@Centos apr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
[size=1em][iyunv@Centos apr-util-1.5.4]# make && make install



(2)下载httpd-2.4.12源码包:

wKioL1WBi5PSUa_5AAIuX9433bQ815.jpg

(3)解压并查看源码包内容:

wKioL1WBi5Xj51pcAAGX-UVaJzA410.jpg

(4)编译安装httpd-2.4.12:

[size=1em]1

[size=1em]2

[size=1em]3

[size=1em]4

[size=1em]5

[size=1em]6

[size=1em]7

[size=1em]8

[size=1em]9

[size=1em]10

[size=1em]11

[size=1em]12

[size=1em]13

[size=1em]14

[size=1em]15

[size=1em]16

[size=1em]17

[size=1em]18

[size=1em]19

[size=1em][size=1em][iyunv@Centos httpd-2.4.12]# tar xf httpd-2.4.12.tar.bz2
[size=1em][iyunv@Centos httpd-2.4.12]# cd httpd-2.4.12
[size=1em][iyunv@Centos httpd-2.4.12]# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd-2.4.12 --enable-so --enable-ssl --enable-cgi --enable-rewrite --enable-deflate --with-z --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --enable-modules=most --enable-mpms-shared=all --with-mpm=event
[size=1em][iyunv@Centos httpd-2.4.12]# make && make install
[size=1em]# 各编译参数详解
[size=1em]--prefix:#安装路径
[size=1em]--sysconfdir:#指定配置文件路径
[size=1em]--enable-so:#DSO兼容,DSO=Dynamic Shared Object,动态共享对象,可实现模块动态生效
[size=1em]--enable-ssl:#支持SSL/TLS,可以实现https访问
[size=1em]--enable-cgi:#支持CGI脚本(默认对非线程的MPM模式开启)
[size=1em]--enable-rewrite:#启用Rewrite功能
[size=1em]--enable-deflate:#支持压缩
[size=1em]--with-z:#使用指定的zlib库,不指定路径会自动寻找
[size=1em]--with-pcre:#使用指定的PCRE库,不指定路径会自动寻找
[size=1em]--with-apr:#指定apr安装路径
[size=1em]--with-apr-util:#指定apr-util安装路径
[size=1em]--enable-modules:#支持动态启用的模块,可选参数有“all”,“most”,“few”,“reallyall”
[size=1em]--enable-mpms-shared:#支持动态加载的MPM模块,可选“all”
[size=1em]--with-mpm:#设置默认启用的MPM模式



(5)查看httpd-2.4.12安装目录的内容:

[size=1em]1

[size=1em]2

[size=1em]3

[size=1em]4

[size=1em]5

[size=1em]6

[size=1em]7

[size=1em]8

[size=1em]9

[size=1em]10

[size=1em]11

[size=1em]12

[size=1em]13

[size=1em]14

[size=1em]15

[size=1em]16

[size=1em]17

[size=1em]18

[size=1em]19

[size=1em]20

[size=1em]21

[size=1em]22

[size=1em]23

[size=1em]24

[size=1em]25

[size=1em]26

[size=1em]27

[size=1em]28

[size=1em]29

[size=1em]30

[size=1em]31

[size=1em]32

[size=1em]33

[size=1em]34

[size=1em]35

[size=1em][size=1em][iyunv@Centos ~]# tree -d /usr/local/apache/
[size=1em]/usr/local/apache/
[size=1em]├── bin    #存放启动或关闭httpd的脚本文件
[size=1em]├── build
[size=1em]├── cgi-bin  #cgi程序文件的存放目录
[size=1em]├── error    #发生服务器端错误时返回给客户端的错误页面
[size=1em]│   └── include   
[size=1em]├── htdocs  #Web页面所在的目录
[size=1em]├── icons   #存放httpd的图标文件
[size=1em]│   └── small
[size=1em]├── include  #存放头文件
[size=1em]├── logs     #httpd的日志文件
[size=1em]├── man      #帮助手册
[size=1em]│   ├── man1
[size=1em]│   └── man8
[size=1em]├── manual  #httpd的配置手册
[size=1em]│   ├── developer
[size=1em]│   ├── faq
[size=1em]│   ├── howto
[size=1em]│   ├── images
[size=1em]│   ├── misc
[size=1em]│   ├── mod
[size=1em]│   ├── platform
[size=1em]│   ├── programs
[size=1em]│   ├── rewrite
[size=1em]│   ├── ssl
[size=1em]│   ├── style
[size=1em]│   │   ├── css
[size=1em]│   │   ├── lang
[size=1em]│   │   ├── latex
[size=1em]│   │   ├── scripts
[size=1em]│   │   └── xsl
[size=1em]│   │       └── util
[size=1em]│   └── vhosts
[size=1em]└── modules  #存放httpd的模块



配置文件存放位置:

wKioL1WBi5egaMIaAAJPdir6E2A331.jpg

(6)编译安装后的基本配置:

修改httpd的主配置文件,设置其Pid文件的路径:

wKioL1WBi5nhagSaAABDfJNgovE423.jpg

修改PATH环境变量,让/usr/local/apache/bin目录下的命令都可以执行:

[size=1em]1

[size=1em]2

[size=1em]3

[size=1em]4

[size=1em]5

[size=1em][size=1em][iyunv@Centos ~]# vim /etc/profile.d/httpd.sh #必须要以.sh结尾,并且放在这里可以单独管理,不要的时候可以直接删除,添加如下内容
[size=1em]export PATH=/usr/local/apache/bin:$PATH    #思考一下:/usr/local/apache/bin放在前面有什么好处?
[size=1em][iyunv@Centos ~]# . /etc/profile.d/httpd.sh  #source一下
[size=1em][iyunv@Centos ~]# httpd -t   #检查是相关命令是否可用了
[size=1em]Syntax OK



导出头文件:

wKiom1WBieuwzdBCAACJ9VSPNUU641.jpg

导出man手册(编辑/etc/man.config):

wKioL1WBi5ywKxqMAACFxoNmqDw655.jpg

编写服务脚本(因是编译安装,不会自动生成服务脚本),并给其添加执行权限:

[size=1em]1

[size=1em]2

[size=1em]3

[size=1em]4

[size=1em]5

[size=1em]6

[size=1em]7

[size=1em]8

[size=1em]9

[size=1em]10

[size=1em]11

[size=1em]12

[size=1em]13

[size=1em]14

[size=1em]15

[size=1em]16

[size=1em]17

[size=1em]18

[size=1em]19

[size=1em]20

[size=1em]21

[size=1em]22

[size=1em]23

[size=1em]24

[size=1em]25

[size=1em]26

[size=1em]27

[size=1em]28

[size=1em]29

[size=1em]30

[size=1em]31

[size=1em]32

[size=1em]33

[size=1em]34

[size=1em]35

[size=1em]36

[size=1em]37

[size=1em]38

[size=1em]39

[size=1em]40

[size=1em]41

[size=1em]42

[size=1em]43

[size=1em]44

[size=1em]45

[size=1em]46

[size=1em]47

[size=1em]48

[size=1em]49

[size=1em]50

[size=1em]51

[size=1em]52

[size=1em]53

[size=1em]54

[size=1em]55

[size=1em]56

[size=1em]57

[size=1em]58

[size=1em]59

[size=1em]60

[size=1em]61

[size=1em]62

[size=1em]63

[size=1em]64

[size=1em]65

[size=1em]66

[size=1em]67

[size=1em]68

[size=1em]69

[size=1em]70

[size=1em]71

[size=1em]72

[size=1em]73

[size=1em]74

[size=1em]75

[size=1em]76

[size=1em]77

[size=1em]78

[size=1em]79

[size=1em]80

[size=1em]81

[size=1em]82

[size=1em]83

[size=1em]84

[size=1em]85

[size=1em]86

[size=1em]87

[size=1em][size=1em][iyunv@Centos httpd-2.4.12]# vim /etc/rc.d/init.d/httpd
[size=1em]#!/bin/bash
[size=1em]#
[size=1em]# httpd        Startup script for the Apache HTTP Server
[size=1em]#
[size=1em]# chkconfig: - 85 15
[size=1em]# description: Apache is a World Wide Web server.  It is used to serve \
[size=1em]#        HTML files and CGI.
[size=1em]# processname: httpd
[size=1em]# config: /etc/httpd/conf/httpd.conf
[size=1em]# config: /etc/sysconfig/httpd
[size=1em]# pidfile: /var/run/httpd.pid
[size=1em]# Source function library.
[size=1em]. /etc/rc.d/init.d/functions
[size=1em]if [ -f /etc/sysconfig/httpd ]; then
[size=1em]        . /etc/sysconfig/httpd
[size=1em]fi
[size=1em]# Start httpd in the C locale by default.
[size=1em]HTTPD_LANG=${HTTPD_LANG-"C"}
[size=1em]# This will prevent initlog from swallowing up a pass-phrase prompt if
[size=1em]# mod_ssl needs a pass-phrase from the user.
[size=1em]INITLOG_ARGS=""
[size=1em]# Set HTTPD=/usr/sbin/httpd.worker in /etc/sysconfig/httpd to use a server
[size=1em]# with the thread-based "worker" MPM; BE WARNED that some modules may not
[size=1em]# work correctly with a thread-based MPM; notably PHP will refuse to start.
[size=1em]# Path to the apachectl script, server binary, and short-form for messages.
[size=1em]apachectl=/usr/local/apache/bin/apachectl
[size=1em]httpd=${HTTPD-/usr/local/apache/bin/httpd}
[size=1em]prog=httpd
[size=1em]pidfile=${PIDFILE-/var/run/httpd.pid}
[size=1em]lockfile=${LOCKFILE-/var/lock/subsys/httpd}
[size=1em]RETVAL=0
[size=1em]start() {
[size=1em]    echo -n $"Starting $prog: "
[size=1em]    LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONS
[size=1em]    RETVAL=$?
[size=1em]    echo
[size=1em]    [ $RETVAL = 0 ] && touch ${lockfile}
[size=1em]    return $RETVAL
[size=1em]}
[size=1em]stop() {
[size=1em]     echo -n $"Stopping $prog: "
[size=1em]     killproc -p ${pidfile} -d 10 $httpd
[size=1em]     RETVAL=$?
[size=1em]     echo
[size=1em]     [ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}
[size=1em]}
[size=1em]reload() {
[size=1em]    echo -n $"Reloading $prog: "
[size=1em]    if ! LANG=$HTTPD_LANG $httpd $OPTIONS -t >&/dev/null; then
[size=1em]        RETVAL=$?
[size=1em]        echo $"not reloading due to configuration syntax error"
[size=1em]        failure $"not reloading $httpd due to configuration syntax error"
[size=1em]    else
[size=1em]        killproc -p ${pidfile} $httpd -HUP
[size=1em]        RETVAL=$?
[size=1em]    fi
[size=1em]    echo
[size=1em]}
[size=1em]# See how we were called.
[size=1em]case "$1" in
[size=1em]start)
[size=1em]    start;;
[size=1em]stop)
[size=1em]    stop;;
[size=1em]status)
[size=1em]    status -p ${pidfile} $httpd
[size=1em]    RETVAL=$?;;
[size=1em]restart)
[size=1em]    stop
[size=1em]    start;;
[size=1em]condrestart)
[size=1em]    if [ -f ${pidfile} ] ; then
[size=1em]        stop
[size=1em]        start
[size=1em]    fi;;
[size=1em]reload)
[size=1em]    reload;;
[size=1em]graceful|help|configtest|fullstatus)
[size=1em]    $apachectl $@
[size=1em]    RETVAL=$?;;
[size=1em]*)
[size=1em]    echo $"Usage: $prog {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}"
[size=1em]    exit 1
[size=1em]esac
[size=1em]exit $RETVAL
[size=1em][iyunv@Centos httpd-2.4.12]# chmod +x /etc/rc.d/init.d/httpd   #添加执行权限



启动服务并测试:

I:编辑/etc/hosts文件,添加如下内容(还记得为什么吗?参考上一篇博文的相关内容哈:http://sweetpotato.blog.iyunv.com/533893/1657668):

wKioL1WBi56j7E89AACFPtbnP84467.jpg

II:测试能否启动、关闭httpd服务:

wKioL1WBi5-guMGcAAHXZ3LxltE985.jpg

III:设置开机启动:

wKioL1WBi6DAQUDxAABgGMomAtI106.jpg

IV:在浏览器中测试:

wKioL1WBi6KhPzcOAAB_Zx25UgM792.jpg

到此,我们就成功编译安装了httpd-2.4.12。


二、Apache2.4配置的综合实验:

【实验目标】:

Apache2.4的配置主要体现出其与Apache2.2版本的区别之处。

建立httpd服务器(基于编译的方式进行),要求:

1)提供两个基于名称的虚拟主机:

(a)www1.webtest.com,页面文件目录为/web/vhosts/www1;错误日志为/var/log/httpd/www1.err,访问日志为/var/log/httpd/www1.access;

(b)www2.webtest.com,页面文件目录为/web/vhosts/www2;错误日志为/var/log/httpd/www2.err,访问日志为/var/log/httpd/www2.access;

(c)为两个虚拟主机建立各自的主页文件index.html,内容分别为其对应的主机名;

(d)通过www1.webtest.com/status输出httpd工作状态相关信息,且只允许提供帐号密码才能访问(status:status);

2)www1主机仅允许192.168.1.0/24网络中的客户机访问;www2主机可以被所有主机访问;

【实验环境】:

一台CentOS6.4虚拟机作为DNS/CA/Apache2.4服务器,两台windows 7的虚拟机做客户端,规划如下:

CentOS6.4虚拟机上:配置了两块网卡(192.168.1.59/24  192.168.80.2/24)

域名:webtest.com      192.168.1.0/24

DNS/CA:ns1.webtest.com        192.168.1.59/24  192.168.80.2/24     CentOS6.4

Web:192.168.1.59/24  192.168.80.3/24  CentOS6.4

虚拟主机1:www1.webtest.com

虚拟主机2:www2.webtest.com

win7客户端1:

192.168.1.201/24    DNS指向192.168.1.59   

win7客户端2:

192.168.80.11/24 DNS指向192.168.80.2


【实验步骤】:

Step1:按照规划,配置好各个虚拟机的网络,其中CentOS虚拟机上配置了两个IP地址,配置如下:

wKiom1WBifXhT7fpAAHofkJIjDo398.jpg

Step2:在192.168.1.59的CentOS虚拟机上安装并配置好DNS服务,区域文件的配置如下图所示:

说明:DNS的配置参考我前面的博文,这里不再赘述(参考博文地址:http://sweetpotato.blog.iyunv.com/533893/1598225)。

wKiom1WBiffACenVAAC4uxAsMAs530.jpg

Step2:启动DNS服务并测试:

wKioL1WBi6jAvNXWAADIBe_AB00030.jpg

wKioL1WBi6yTg6nTAAIOEBOxbxQ976.jpg

Step3:按照上面步骤编译安装好Apache2.4.12并启动:

wKioL1WBi66QB3FeAACVB36xM2E162.jpg

Step4:看看当前是以什么工作模型工作的:

wKioL1WBi7DwuN6wAACGa2_WLBU717.jpg

说明:Apache2.4的新特性之一:正式支持event MPM模型

Step5:配置基于主机名的虚拟主机:

【配置说明】:

1、此处配置与RPM包安装的httpd2.2不同,虚拟主机的配置全部位于/etc/httpd-2.4.12/extra目录:

wKioL1WBi7KAQBs2AAEZsDfKDA0946.jpg

2、基于主机名的虚拟主机不再需要NameVirtualHost指令定义;

编辑httpd-vhosts.conf文件,定义基于主机名的虚拟主机并为每个虚拟主机定义日志:

[size=1em]1

[size=1em]2

[size=1em]3

[size=1em]4

[size=1em]5

[size=1em]6

[size=1em]7

[size=1em]8

[size=1em]9

[size=1em]10

[size=1em]11

[size=1em]12

[size=1em][size=1em]<VirtualHost *:80>    #配置基于主机名的虚拟主机(不再需要NameVirtualHost指令)
[size=1em]     ServerName  www1.webtest.com
[size=1em]     DocumentRoot "/web/vhost/www1"
[size=1em]     ErrorLog "/var/log/httpd/www1.err"
[size=1em]     CustomLog "/var/log/httpd/www1.access" common
[size=1em]</VirtualHost>
[size=1em]<VirtualHost *:80>
[size=1em]     ServerName  www2.webtest.com
[size=1em]     DocumentRoot "/web/vhost/www2"
[size=1em]     ErrorLog "/var/log/httpd/www2.err"
[size=1em]     CustomLog "/var/log/httpd/www2.access" common
[size=1em]</VirtualHost>



根据上述站点目录的定义,创建相关目录:

[size=1em]1

[size=1em]2

[size=1em]3

[size=1em]4

[size=1em]5

[size=1em]6

[size=1em]7

[size=1em]8

[size=1em][size=1em][iyunv@Centos ~]# mkdir -pv /web/vhost/www1
[size=1em]mkdir: created directory `/web'
[size=1em]mkdir: created directory `/web/vhost'
[size=1em]mkdir: created directory `/web/vhost/www1'
[size=1em][iyunv@Centos ~]# mkdir -pv /web/vhost/www2
[size=1em]mkdir: created directory `/web/vhost/www2'
[size=1em][iyunv@Centos ~]# mkdir -pv /var/log/httpd
[size=1em]mkdir: created directory `/var/log/httpd'



在对应的虚拟主机站点目录下创建默认主页面,内容为对应的主机名:

wKiom1WBigWzV_r_AACDmFCaxpA391.jpg

检查语法错误并重启httpd服务:

wKiom1WBigaThR2iAABpJn2_Iy4506.jpg


Step6:在win7虚拟机上配置好网络并测试,特别注意将DNS指向我们配置好的DNS服务器:

win7-01(192.168.1.201):

wKiom1WBigjC-H-TAAGSLTjig-A524.jpg

wKiom1WBiguydu2-AADVjjyUa7E770.jpg wKiom1WBig6jGCcZAADkdszBl5k653.jpg

win7-02(192.168.80.11):

wKiom1WBihKgwsTYAAGMiYaaHts672.jpg

wKioL1WBi8XAppKCAAET8V_i61w621.jpg wKioL1WBi8jznlqPAAEZbUMSzhs930.jpg

Step7:查看每个虚拟主机的访问日志:

wKioL1WBi82TXaUrAATcxIqPHuE737.jpg

可以看到,两个虚拟主机运行正常哈,其日志正是我们在配置文件中定义的。

Step8:通过www1.webtest.com/status输出httpd工作状态相关信息,且只允许提供帐号密码才能访问(status:status):

wKioL1WBi87wG4sQAAEm5j1csWI596.jpg

wKioL1WBi9DRquStAAFasSExnvs772.jpg

在win7-01客户端上访问status:

wKioL1WBi9PAaoauAAGA7b3_M7Y909.jpg

输入用户名和密码:

wKioL1WBi9WRTYeSAAPsssic1aY649.jpg

Step9:配置www1主机仅允许192.168.1.0/24网络中的客户机访问;www2主机可以被所有主机访问:

【配置说明】:

与Apache2.2不同之处:

对于基于IP(客户端)的访问控制做了修改,不再支持使用order, allow, deny这些机制,而是统一使用require进行:

[size=1em]1

[size=1em]2

[size=1em]3

[size=1em]4

[size=1em]5

[size=1em]6

[size=1em]7

[size=1em]8

[size=1em]9

[size=1em]10

[size=1em]11

[size=1em][size=1em]#语法:
[size=1em]<directory "paht/to/somedir">
[size=1em]    <RequireAll>
[size=1em]Require all granted  #允许所有IP访问
[size=1em]Require all denied    #不允许任何IP访问
[size=1em]Require ip  192.168  #IP地址的简写方式
[size=1em]Require ip  192.168.1.0/24  #允许某个网段的IP访问
[size=1em]Require not ip  192.168.80.0/24  #不允许某个网段的IP访问
[size=1em]Require host test.com  #不允许主机名是test.com的主机访问
[size=1em]    </RequireAll>
[size=1em]#注:Require的限制策略遵循“最后匹配原则”,即后一条规则会部分覆盖前一条规则(取交集)。



wKiom1WBiieDJBRJAAIgQrhFqo0853.jpg

检查语法并重读httpd.conf配置文件:

wKioL1WBi9niWh60AABjVRm4R5E634.jpg

清空www1虚拟主机的日志:

wKiom1WBiiyzECCXAADYjodIKXA087.jpg

用win7-02(IP:192.1658.80.11/24)的虚拟机访问www1.webtest.com:

wKiom1WBii_DX1fIAAHTp8UCCKc251.jpg

查看www1主机的错误日志:

wKiom1WBijDR0KV3AADgB4q1aKM680.jpg

用win7-01(IP:192.165.1.201)的虚拟机访问www1.webtest.com:

wKioL1WBi-LBHQpIAADcPQbGnNE691.jpg

查看www1主机的访问日志和错误日志:

wKioL1WBi-SwgqZMAAGNM8gKz3k947.jpg


小结:

本次博文我们主要讨论了:

1、编译安装Apache2.4.12:

Apache2.4.12的编译安装依赖于1.5以上版本的apr和apr-util。

2、通过配置Apache2.4.12阐述了与RPM包安装的Apache2.2在配置上的区别

  • 对于基于IP的访问控制做了修改,不再支持使用order, allow, deny这些机制,而是统一使用require进行
  • 基于主机名的虚拟主机不再需要NameVirtualHost指令

3、Apache2.4的新特性:

  • MPM支持在运行时装载
  • 支持event MPM类型
  • 支持异步读写
  • 在每模块及每目录上指定日志级别
  • 每请求配置:<If>,<Elseif>
  • 增强版的表达式分析器
  • 毫秒级的keepalive timeout
  • 支持使用自定义变量

新增模块

  • mod_proxy_fcgi
  • mod_ratelimit
  • mod_request
  • mod_remoteip



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-78240-1-1.html 上篇帖子: Apache服务【手工编译安装】 下篇帖子: Apache + SSL搭建Linux证书服务器
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表