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 #查看是否设置成功 06
- 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 10
- ln -sf /usr/local/apache/bin/httpd /usr/sbin/httpd #设置软链接以适应init脚本
- ln -sf /usr/local/apache/bin/apachectl /usr/sbin/apachectl 13
- rm -rf /var/log/httpd/
- ln -s /usr/local/apache/logs /var/log/httpd 16
- 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