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

[经验分享] CentOS6 编译安装httpd-2.4

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-6-1 16:54:05 | 显示全部楼层 |阅读模式
httpd-2.4:新特性:
    (1) MPM支持运行为DSO机制;以模块形式按需加载;
    (2) event MPM生产环境可用;
    (3) 异步读写机制;
    (4) 支持每模块及每目录的单独日志级别定义;
    (5) 每请求相关的专用配置;
    (6) 增强版的表达式分析式;
    (7) 毫秒级持久连接时长定义;
    (8) 基于FQDN的虚拟主机也不再需要NameVirutalHost指令;
    (9) 新指令,AllowOverrideList;只能将那些文件放在,htaccess文件中;
    (10) 支持用户自定义变量;
    (11) 更低的内存消耗;
            
引入新模块:
        (1) mod_proxy_fcgi :httpd-2.2没有被整合进httpd,需要自己装载
        (2) mod_proxy_scgi :反向代理模块
        (3) mod_remoteip   :基于IP的访问控制机制被改变
            
               
CentOS 6编译安装httpd-2.4:
    默认:apr-1.3.9, apr-util-1.3.9   
    但是httpd-2.4依赖于apr-1.4+, apr-util-1.4+, [apr-iconv]
        
apr简介:

        apache portable runtime(Apache可移植运行环境) ,Apache是一个跨平台的web服务器,为了避免在跨平台是需要重复写代码来调用API来驱动运行环境 故apache的开发者开发福一个类似于虚拟机的东西,来实现一个运行Apache的统一接口,此即为apr
   
提供开发环境
1.开发环境包组:Development Tools, Server Platform Development
2.开发程序包:pcre-devel 需要手动安装

1
2
# yum groupinstall -y "Development tools"  "Server platfrom Development"
# yum install -y pcre-devel



获取源码包
可从官网获取www.apache.org,此处在ftp服务器上获取

1
2
3
4
lftp 172.18.0.1
> cd pub/Sources/sources/httpd/
> mget apr-1.5.0.tar.bz2 apr-util-1.5.3.tar.bz2
> mget httpd-2.4.10.tar.bz2



               
编译安装步骤:
    apr-util 依赖于apr故先安装被依赖的程序包

(1) apr-1.4+         

1
2
3
4
# tar -xf apr-1.5.0.tar.bz2
# cd apr-1.5.0
# ./configure  --prefix=/usr/local/apr 指明安装目录卸载时,只需删除此目录
# make && make install



(2) apr-util-1.4+

1
2
3
4
# tar -xf apr-util-1.5.3.tar.bz2
# cd apr-util-1.5.3
# ./configure  --prefix=/usr/local/apr-util  --with-apr=/usr/local/apr
# make  -j 2 && make install



注意一定要指明所依赖包的路径否则其会去/usr路径查找,找不到就会报错                        
(3) httpd-2.4

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# yum install -y openssl-devel (编译过程提示mod_ssl版本太低)
# tar -xf httpd-2.4.10.tar.bz2
# cd httpd-2.4.10
# ./configure --prefix=/usr/local/apache24  安装路径
           --sysconfdir=/etc/httpd24   配置文件路径
           --enable-so                    支持dso机制
           --enable-ssl
           --enable-cgi
           --enable-rewrite            支持url重写
           --with-zlib                 依赖zlib环境,其提供压缩库,实现页面文件压缩后的发送接收
           --with-pcre                 支持perl扩展的正则表达式模式
           --with-apr=/usr/local/apr   不指明其会到/usr默认路径查找
          --with-apr-util=/usr/local/apr-util  
          --enable-modules=most       启用那些模块,有列表此处most大多数模块
           --enable-mpms-shared=all    需要将那些mpm编译成共享模块
           --with-mpm=prefork             将哪个mpm当作默认的mpm机制配置
   # make  && make install



注意:安装时最好以普通用户来运行
       其会以某个用户的身份来运行,需要指明其以哪个用户身份运行
            
(4)启动
1)自带的服务控制脚本:apachectl,编译安装不在PATH路劲中,我们需要自行导入   

1
# /usr/local/apache24/bin/apachectl



编译安装需要绝对路径启动
                 
2)导入PATH环境变量中   

1
# vim /etc/profile.d/apache24.sh



     export PATH=/usr/local/apache24/bin:$PATH

1
# . /etc/profile.d/apache24.sh



1
2
# apachectl stop
# hash



hits    command
1 /usr/local/apache24/bin/apachectl
3)输出头文件

1
# ln -sv /usr/local/apache24/include/ /usr/include/httpd



4)导出库文件

1
2
# ldconfig -p 查看已加载的库文件
# vim /etc/ld.so.conf.d/httpd.conf



    /usr/local/apache24/lib

1
# ldconfig -v 重新加载库文件



(5)提供一个服务脚本文件(修改原有的服务脚本文件)

1
2
3
# cd /etc/rc.d/init.d/
# cp httpd httpd24
# vim httpd24



修改以下项为:
apachectl=/usr/local/apache24/bin/apachectl
httpd=${HTTPD-/usr/local/apache24/bin/httpd}
pidfile=${PIDFILE-/usr/local/apache24/logs/httpd.pid}
lockfile=${LOCKFILE-/var/lock/subsys/httpd24}

(6)手动将此配置文件加入服务控制列表

1
2
# chkconfig --add httpd24
# service httpd24 start



(7)切换mpm机制
编辑httpd.conf确保mpm相关指令开启

1
# vim /etc/httpd24/httpd.conf



Include /etc/httpd24/extra/httpd-mpm.conf 去掉注释,确保能加载extra/httpd-mpm.conf文件
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so 装载选用的mpm机制此处为prefork

1
2
# service httpd24 restart
# httpd -M|grep mpm



补充:
     所有的配置文件在安装路径/usr/local/apache24/下
     编译安装步骤可在/usr/local/apache24/build/config.nice查看

1
#less /usr/local/apache24/build/config.nice



#! /bin/sh
#
# Created by configure

"./configure" \
"--prefix=/usr/local/apache24" \
"--sysconfdir=/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" \
"$@"
/usr/local/apache24/build/config.nice (END)


运维网声明 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-224909-1-1.html 上篇帖子: apache/httpd 安装 下篇帖子: Apache - 403错误
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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