2eew 发表于 2016-1-18 08:57:37

httpd2.4在CentOS 6 上编译安装

httpd-2.4 新特性:
    1、MPM支持运行为DSO机制,以模块形式按需加载
    2、Event MPM生产环境可用
    3、支持异步读写机制
    4、支持每模块每目录的日志级别定义
    5、每请求相关专用配置
    6、增强版表达式分析器
    7、毫秒级连接时长
    8、基于FQDN的虚拟机不在需要NameVirtualHost指令
    9、新指令,AllowOverrideList
    10、支持用户自定义变量使用
    11、更低的内存消耗
httpd-2.4 新模块:
1、mod_proxy_fcgi   支持phpfastCGI工作模式
   2、mod_proxy_scgi代理时支持不同的协议功能,如Python
   3、mod_remoteip    基于IP访问控制机制被改动 (allow from、deny from 被废弃)
CentOS 6安装httpd-2.4说明:
      httpd-2.4依赖于较新版本的apr-1.4以上版本(apache portable runtime)和apr-util-1.4以上版本。而CentOS 6仅提供apr-1.3 ,apr-util-1.3版本。因此CentOS 6需要编译安装httpd-2.4及其依赖的apr-1.4和apr-util-1.4。
httpd-2.4编译安装步骤:
    1、首先确保本机已安装的httpd-2.2服务停掉,如果没安装过那就更好了。

1
2
~]#service httpd stop
~]#chkconfif httpd off




    2、构建编译安装环境:必须安装Development Tools,Server Platform Development、开发程序包pcre-devel


1
2
3
~]#yum groupinstall "Development Tools" "Server Platform Development"
~]#yum -y install pcre-devel
说明:yum源的配置这里就不介绍了,读者可以根据自己的情况进行安装。




    3、编译安装apr-1.4以上(我用的是par-1.5版本做测试),获取到apr-1.4以上程序包。解压后进入apr-1.5目录,进行编译安装:

1
2
3
4
~]# cd ~/apr-1.5.0
~]# ./configure--prefix=/usr/local/apr   #环境检查
       --prefidx 指定编译安装的路径
~]# make && make install    #编译,成功后将文件复制到/usr/local/apr中




   4、编译安装apr-util-1.5

1
2
3
4
5
~]# cd ~/apr-util-1.5.3
# ./configure – prefix=/usr/local/apr-util -–with-apr=/usr/local/apr   #环境检查
       --prefidx 指定编译安装的路径
       --with-apr 指定所依赖的包
~]# make && make install    #编译,成功后将文件复制到/usr/local/apr-util中




      5、编译安装及环境配置
    5.1编译安装


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
~]#useradd -r apache    #创建名为apache的用户,默认创建同名的用户组
~]# cd ~/httpd-2.4.9
~]# ./configure --prefix=/usr/local/apache24 --sysconf=/etc/httpd24 --enable-so --enable-ssl \
> --enable-cgi --enable-rewrite --with-zlib –with-pcre --with-apr=/usr/local/apr \
> --with-apr-util=/usr/local/apr-util/ --enable-modules=most–enable-mpms-shared=all \
> --with-mpm=prefork
    --sysconf                   :将其配置文创建在/etc/httpd24
    --enable-so
    --enable-ssl
    --enable-cgi
    --enable-rewrite            :支持URL重写
    --enable-mpms-shared=all    :表示把三个模块全部编译出来。
    --with-mpm                  :设置默认的mpm
    --with-zlib               :依赖于zlib 可供压缩库
    --with-pcre               :支持于扩展正则表达式   不指明(=) 则到默认位置去
    注:--with/--without 支持或不支持哪些依赖包   
      --enable/--disable 启用或禁用哪些特性
~]# make && make install    #编译,成功后将文件复制到/usr/local/apache24中




编译安装至此完毕,安装后的文件都有哪些呢?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
~]# cd /usr/local/apache24
~]# ls
binbuildcgi-binconferrorhtdocsiconsincludelogsmanmanualmodules
bin : apache可执行的二进制文件
include :报文首部
icons:资源存放位置
conf:配置文件
build:安装过程中产生的文件
    ~]# cat /usr/local/apache24/build/config.nice    编译安装时的./configure 的命令
      "./configure" \
      "--prefix=/usr/local/apache24"\
      "--enable-so" \
      "--enable-ssl" \
      "--enable-cgi" \
      "--enable-rewrite" \
      "--with-zlib" \
      "--with-pcre" \
      "--with-apr=/usr/local/apr"\
      "--with-apr-util=/usr/local/apr-util/"\
      "--enable-modules=most" \
      "--enable-mpms-shared=all"\
      "--with-mpm=prefork" \
      "--sysconf=/etc/httpd24"\





    此时启动服务必须到/usr/local/apache24/bin/目录中执行apachectl命令管理httpd进程。但如果需要httpd能够与其他服务一样正常启动,需要进行如下配置:

      5.2环境配置

   设置 全局环境变量

1
2
~]#vim/etc/profile.d/httpd.sh
    echoPATH=/user/local/apache24/bin:$PATH




    导出头文件
    ~]# ln -sv /usr/local/apache24/include /usr/include/httpd
      `/usr/include/httpd/include' -> `/usr/local/apache24/include'
    加载库文件
~]# ldconfig -v   # 重新加载库文件
~]# ldconfig -p#已加载所有库文件路径
    服务管理设置   


1
2
3
4
5
6
7
~]#cp/etc/rc.d/init.d/httpd /etc/rc.d/init.d/httpd24
~]#vim/etc/rc.d/init.d/httpd24
    apachectl=/usr/sbin/apachectl
    httpd=${HTTPD-/usr/local/apache24/bin/httpd}此目录需要更改
    prog=httpd
    pidfile=${PIDFILE-/usr/local/apache24/logs/httpd.pid}
    lockfile=${LOCKFILE-/var/lock/subsys/httpd24}




将其加入到开机启动中

1
2
~]#chkconfig –addhttpd24
~]#chkconfig–list httpd24




启动服务,httpd可以使用了

1
~]# service httpd start














页: [1]
查看完整版本: httpd2.4在CentOS 6 上编译安装