• CentOS6.3 编译安装LAMP(2):编译安装 Apache2.4.6


    Apache官方说:

    与Apache 2.2.x相比,Apache 2.4.x提供了很多性能方面的提升,包括支持更大流量、更好地支持云计算、利用更少的内存处理更多的并发等。除此之外,还包括性能提升、内存利用、异步I/O的支持、动态反向代理设置、与时间驱动的Web服务器相当或更好的性能、更强大的处理资源分配能力,更便捷的缓存支持以及可定制的高速服务器和代理等。其它的功能还包括更简单的错误分析、更灵活的设置项、更强大的验证机制和更完整的文档。

    Apache服务器项目管理委员会和Apache基金会主席Jim Jagielski表示,他们希望终端用户能真正地看到性能进步,Apache 2.4.x比许多以速度见长的Web服务器更快,例如 Nginx

    apache-2.2与新出的apache-2.4安装不同的地方在于,2.4版的已经不自带apr库,所以在安装apache-2.4之前,需要下载apr

    所需源码包

    /usr/local/src/Apache-2.4.6/apr-1.4.6.tar.gz
    /usr/local/src/Apache-2.4.6/apr-util-1.4.1.tar.gz
    /usr/local/src/Apache-2.4.6/httpd-2.4.6.tar.gz

    安装Apache依赖库

    #安装 apr

    cd /usr/local/src/Apache-2.4.6
    tar -xzvf ./apr-1.4.6.tar.gz
    cd ./apr-1.4.6
    mkdir /usr/local/apr
    ./configure --prefix=/usr/local/apr
    make && make install

    #安装 apr-util

    cd /usr/local/src/Apache-2.4.6
    tar -xzvf ./apr-util-1.4.1.tar.gz
    cd ./apr-util-1.4.1
    mkdir /usr/local/apr-util
    ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
    make && make install

    #安装 pcre

    cd /usr/local/src/Apache-2.4.6
    tar -xzvf ./pcre-8.33.tar.gz
    cd ./pcre-8.33
    mkdir /usr/local/pcre
    ./configure --prefix=/usr/local/pcre --with-apr=/usr/local/apr/bin/apr-1-config
    make && make install

    安装 Apache2.4.6

    #切换到apache源码目录

    cd /usr/local/src/Apache-2.4.6
    tar -xzvf ./httpd-2.4.6.tar.gz
    cd ./httpd-2.4.6

    #生成configure

    ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre --enable-so --enable-deflate=shared --enable-expires=shared --enable-ssl=shared --enable-headers=shared --enable-rewrite=shared --enable-static-support --with-mpm=prefork

    #编译

    make && make install

    编译参数解释:

    --prefix=/usr/local/apache :指定安装目录
    --with-apr=/usr/local/apr : apr库
    --with-apr-util=/usr/local/apr-util :apr-util库
    --with-pcre=/usr/local/pcre : pcre库
    --enable-so : 允许运行时加载DSO模块(注意:so模块需静态编译)
    --enable-deflate=shared : 将deflate模块编译为DSO
    --enable-expires=shared : 将expires模块编译为DSO
    --enable-ssl=shared : 将ssl模块编译为DSO
    --enable-headers=shared : 将headers模块编译为DSO
    --enable-rewrite=shared : 将rewrite模块编译为DSO
    --enable-static-support : 使用静态连接(默认为动态连接)编译所有二进制支持程序
    --with-mpm=prefork : 使用prefork形式的mpm

    更详细的编译参数解释:http://lamp.linux.gov.cn/Apache/ApacheMenu/programs/configure.html

    cp ./build/rpm/httpd.init  /etc/init.d/httpd  #使用init脚本管理httpd
    chmod 755 /etc/init.d/httpd  #增加执行权限
    chkconfig --add httpd  #添加httpd到服务项
    chkconfig --level 2345 httpd on  #设置开机启动
    chkconfig --list httpd  #查看是否设置成功
    
    mv /etc/httpd  /etc/httpd_old  #移走旧的httpd文件夹
    ln -s /usr/local/apache  /etc/httpd  #建立httpd的软链接,
    #到时候,Apache的配置文件路径为 /etc/httpd/conf/httpd.conf,其实真实路径为 /usr/local/apache/conf/httpd.conf
    
    ln -sf /usr/local/apache/bin/httpd  /usr/sbin/httpd  #设置软链接以适应init脚本
    ln -sf /usr/local/apache/bin/apachectl  /usr/sbin/apachectl
    
    rm -rf /var/log/httpd/
    ln -s /usr/local/apache/logs  /var/log/httpd
    
    groupadd apache #添加apache用户组及用户
    useradd -g apache -s /usr/sbin/nologin apache
    chown -R apache:apache /usr/local/apache

    修改init命令文件

    主要是修改文件中pidfile参数的值(进程文件指向)

    vim /etc/init.d/httpd

    把其中的

    pidfile=${PIDFILE-/var/run/${prog}.pid}

    修改为

    pidfile=${PIDFILE-/usr/local/apache/logs/${prog}.pid}

    配置防火墙,开启80端口

    vim /etc/sysconfig/iptables

    #添加如下规则到22端口这条规则的下面即可

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

    #重启防火墙

    service iptables restart # 或 /etc/init.d/iptables restart

    启动Apache

    service httpd start # 或 /etc/init.d/httpd start

    延伸阅读:

    CentOS6.x编译安装LAMP(1):准备工作

    CentOS6.x编译安装LAMP(2):编译安装 Apache2.2.25

    CentOS6.x编译安装LAMP(2):编译安装 Apache2.4.6

    CentOS6.x编译安装LAMP(3):编译安装 MySQL5.5.25

    CentOS6.x编译安装LAMP(4):编译安装 PHP5.2.17

    CentOS6.x编译安装LAMP(4):编译安装 PHP5.3.27

    PHP5不重新编译,如何安装自带的未安装过的扩展,如soap扩展?

    Apache常用2种工作模式preforkworker比较

    CentOS编译安装Apache 2.4.x时报错:configure: error: Bundled APR requested but not found at ./srclib/. Download and unpack the corresponding apr and apr-util packages to ./srclib/.

  • 相关阅读:
    数据库基础概念及操作语句
    多态、封装、继承的概念。
    排序有几种方式
    构造函数、复制构造函数和析构函数的特性
    String类的构造函数,析构函数、拷贝构造函数和赋值函数
    操作系统中进程调度策略
    静态数据成员和函数
    指针与引用的区别
    const的用法及它在C语言和C++中的不同
    反射性能优化
  • 原文地址:https://www.cnblogs.com/52php/p/5669728.html
Copyright © 2020-2023  润新知