http的编译安装

httpd的编译安装

APR

  • APR(Apache portable Run-time libraries,Apache可移植运行库)主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。在早期的Apache版本中,应用程序本身必须能够处理各种具体操作系统平台的细节,并针对不同的平台调用不同的处理函数。

  • 随着Apache的进一步开发,Apache组织决定将这些通用的函数独立出来并发展成为一个新的项目。这样,APR的开发就从Apache中独立出来,Apache仅仅是使用 APR而已。目前APR主要还是由Apache使用,由于APR的较好的移植性,因此一些需要进行移植的C程序也开始使用APR,开源项目比如用于服务器压力测试的Flood loader tester,该项目不仅仅适用于Apache,http://httpd.apache.org/test/flood

  • APR:Apache可移植运行库
    以http为例:因为http不仅可以部署在linux上,同时也可以部署在windows系统上,但是由于OS不同,开发接口并不相同。APR可以为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。因为http是构建在APR上的,因此安装http必须安装对应的APR即http和APR的版本与之对应。

编译安装httpd-2.4.41

  • 在centos7.6上编译安装httpd-2.4.41
    apr:apache portable runtime,解决跨平台实现

【编译安装准备】

  • 安装前准备开发包:
    • 开发环境包:
      相关包:gcc pcre-devel openssl-devel expat-devel
  • 下载源代码并解压缩:
    httpd-2.4.41.tar.bz2
    apr-1.7.0.tar.bz2
    apr-util-1.6.1.tar.bz2

方法一

【安装APR】

  • cd apr-1.7.0
  • ./configure --prefix=/app/apr
  • make && make install

【安装apr-util】

  • cd …/apr-util-1.6.1
  • ./configure --prefix=/app/apr-util --with-apr=/app/apr/
  • make -j 2 && make install

【编译安装httpd】

  • cd …/httpd-2.4.39
  • ./configure --prefix=/app/httpd24 \
    –enable-so \
    –enable-ssl \
    –enable-cgi \
    –enable-rewrite \
    –with-zlib \
    –with-pcre \
    –with-apr=/app/apr/ \
    –with-apr-util=/app/apr-util/ \

    –enable-modules=most \
    –enable-mpms-shared=all \
    –with-mpm=prefork
  • make -j 4 && make install

方法二

  • mv apr-1.7.0 httpd-2.4.39/srclib/apr
  • mv apr-util-1.6.1 httpd-2.4.39/srclib/apr-util
  • cd httpd-2.4.39/
  • ./configure \
    –prefix=/app/httpd24 \
    –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
  • make && make install
使用方法二编译安装:

源码包:
    data]# ls /data/
    apr-1.7.0.tar.bz2  
    apr-util-1.6.1.tar.bz2  
    httpd-2.4.41.tar.gz

解压缩:
    tar xf apr-1.7.0.tar.bz2
    tar xf apr-util-1.6.1.tar.bz2
    tar xf httpd-2.4.41.tar.gz

将APR安装包移动至httpd解压的包目录下
    mv apr-1.7.0 httpd-2.4.41/srclib/apr
    mv apr-util-1.6.1 httpd-2.4.41/srclib/apr-util

准备安装环境
    yum install -y gcc pcre-devel openssl-devel expat-devel

configure
    ./configure --prefix=/app/httpd24 --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

make && make install 

编译安装httpd完成之后的后续工作

  • Httpd编译过程:/app/httpd24/build/config.nice
  • 自带的服务控制脚本:/app/httpd24/bin/apachectl
  • 创建用户:useradd -s /sbin/nologin -r apache
  • vim /app/httpd24/conf/httpd
    user apache
    group apache
  • vim /etc/profile.d/httpd24.sh
    PATH=/app/httpd24/bin:$PATH
  • vim /etc/man_db.conf
    MANDATORY_MANPATH /app/httpd24/man
  • 设置开机自动启动
    vim /etc/rc.d/rc.local
    /app/httpd24/bin/apachectl start
    chmod +x /etc/rc.d/rc.local

server文件模板:

# vim /usr/lib/systemd/system/httpd24.service

[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target
Documentation=man:httpd(8)
Documentation=man:apachectl(8)

[Service] 
    Type=forking
    #EnvironmentFile=/etc/sysconfig/httpd
    ExecStart=/app/httpd24/bin/httpd $OPTIONS -k start 
ExecReload=/app/httpd24/bin/httpd $OPTIONS -k graceful
ExecStop=/bin/kill -WINCH ${MAINPID}
KillSignal=SIGCONT
PrivateTmp=true

[Install]
WantedBy=multi-user.target
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值