CentOS安装apache2(转载)
From:http://www.onepx.com/centos-apache-246.html
之前服务器 Apache 版本一直是 2.2.x,鉴于 Centos 更新软件的惰性,我看直到 2014 年结束,apache 2.4 都不一定会出现在 Centos 中,我是不打算等了,编译安装吧。
升级前自行啃文档:Upgrading to 2.4 from 2.2。简单的说,如果沿用之前 2.2.x 的配置,Apache将无法启动。
Centos 编译安装 Apache 2.4 准备:
yum groupinstall "Development tools"
之前服务器是 yum install httpd 安装的 Apache,所以可能解决了部分依赖关系,在我编译安装的过程中,只需要再格外 yum 两个 devel 包:
yum install zlib-devel pcre-devel
从官方下载:
wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.6.tar.gz
wget http://mirror.esocc.com/apache//apr/apr-1.4.8.tar.gz
wget http://mirror.esocc.com/apache//apr/apr-util-1.5.2.tar.gz
解压缩:
tar -xvf httpd-2.4.6.tar.gz
tar -xvf apr-1.4.8.tar.gz
tar -xvf apr-util-1.5.2.tar.gz
一点文件操作:
mv apr-1.4.8 httpd-2.4.6/srclib/apr
mv apr-util-1.5.2 httpd-2.4.6/srclib/apr-util
cd httpd-2.4.4
编译命令:
./configure --with-included-apr --enable-nonportable-atomics=yes --with-z
出奇的简单,因为默认就有 --enable-mods-shared=most ,模块化安装,以后自行到 httpd.conf 中决定是否开启模块,所以什么 --enable-deflate --enable-rewrite --enable-blablabla 等就完全不必要了。
默认安装的是 event mpm,如果要用 worker ,就需要 --with-mpm=worker,或者干脆 --enable-mpms-shared=all,这样event、worker、prefork就会以模块化的方式安装,要用哪个就在 httpd.conf 里配置就好了。
编译完成后:
make
make install
安装完毕后, 所有的东西都在 /usr/local/apache2 这个目录下,最重要的当属 conf/httpd.conf ,自行配置吧。
加载模块上,我尽可能的做了精简,仅开启如下:
必须:
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule userdir_module modules/mod_userdir.so
LoadModule dir_module modules/mod_dir.so
LoadModule mime_module modules/mod_mime.so
设置超时:
LoadModule reqtimeout_module modules/mod_reqtimeout.so
以下三个都是为了配合 Google mod_pagespeed 才开启,不用可不开:
LoadModule filter_module modules/mod_filter.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
Apache 日志:
LoadModule log_config_module modules/mod_log_config.so
指定 Apache 用户和组:
LoadModule unixd_module modules/mod_unixd.so
phpMyAdmin 要用:
LoadModule alias_module modules/mod_alias.so
wordpress, joomla 要用:
LoadModule rewrite_module modules/mod_rewrite.so
还有很多配置文件在 /usr/local/apache2/conf/extra 下面,在 httpd.conf 中可以选择是否加载,我加载的部分有:
配置 timeout, keepalive 的
httpd-default.conf
配置 apache mpm 的
httpd-mpm.conf
这个很重要,性能优化基本上就靠这个文件了
配置网站目录的
httpd-userdir.conf
配置虚拟主机的
httpd-vhosts.conf
确定所有配置弄好后,就可以删除服务器上以前的 apache 了,至少我就是这么干的...:
service httpd stop
yum remove httpd
把新编译安装的 Apache 2.4.6 拷贝到位:
cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd
编辑 /etc/init.d/httpd 文件,在首行 #!/bin/sh 下面加入两行:
# chkconfig: 35 85 15
# description: Activates/Deactivates Apache 2.4.6
将 Apache 加入开机自动启动:
chkconfig --add httpd
chkconfig httpd on
最后一步,启动编译好的 Apache 2.4.6:
service httpd start
Done.
Apache 是搞定了,但是之前通过 remi-test 源 yum 安装的 php 5.5 就不能用了,因为它依赖 httpd 包,卸载的时候一起卸掉了,编译 php 的事情,下篇再说。
简单 ab 测试过 apache 2.2 和 apache 2.4 之间的性能差异:
- 静态内容,2.4完胜;
- 动态内容,apache 2.4 和 2.2 之间没啥太大区别...
CentOS安装apache2(转载)的更多相关文章
- centos 安装 apache2.4
1. centos 安装 apache2.4 安装基础依赖:# yum install gcc gcc-c++ glibc glibc-devel gd gd-devel zlib zlib-deve ...
- CentOS安装Apache-2.4.10+安全配置
注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 在安装Nginx之前,请确保已经使用yum安装了各基础组件,并且配置了www用户和用户组,具体见<CentOS ...
- CentOS安装Apache-2.4.25+安全配置
注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 在安装Nginx之前,请确保已经使用yum安装了各基础组件,并且配置了www用户和用户组,具体见<CentOS ...
- Centos安装 Apache2.4提示 APR not found的解决办法
在安装apache2.2.22版本的时候没有任何问题,可直接使用命令编译安装. 但是,在apache 2.4.12版本,./configure 进行配置时, 提示 configure: error: ...
- Centos安装Nginx(转载)
一.概述 项目总使用到Nginx的代理转发,学习和整理内容如下,由于是整理所以参考博客大牛的内容,有很多雷同之处,还望见谅(非抄袭对待) 二.Nginx依赖包的安装 yum install gcc y ...
- 【推荐】CentOS安装Subversion-1.8.11+HTTP协议支持配置
注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. 我们需要搭建一个自己的SVN服务器. 此外,搭建好的SVN服务器除了需要支持svn协议外,最好还需要支持HTTP协议和HTTPS协 ...
- 【推荐】CentOS安装PHP-5.6.4+扩展安装+安全配置+性能配置
注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. #准备工作# 前段时间PHP官方发布了一个重要的安全升级公告,修复了两个unserialize函数的严重漏洞,目前受影响的版本有: ...
- 【推荐】CentOS安装Subversion-1.8.17+HTTP协议支持配置
注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. 我们需要搭建一个自己的SVN服务器. 此外,搭建好的SVN服务器除了需要支持svn协议外,最好还需要支持HTTP协议和HTTPS协 ...
- CentOS下源码安装Apache2.4+PHP5.4+MySQL5.5
一.准备(把所有的源文件放在‘/home/yuanjun’目录下) apr http://mirror.bjtu.edu.cn/apache/apr/apr-1.4.6.tar.gz apr-util ...
随机推荐
- Git-rebase与merge小结
git merge是用来合并两个分支的. git merge b # 将b分支合并到当前分支 同样 git rebase b,也是把 b分支合并到当前分支 ---------------------- ...
- 在CentOS上安装Python
首先我们需要在服务器上安装一个比较新的 Python,CentOS 5.8 默认装的 Python 是 2.4.3. [root@nowamagic ~]# python -V Python 我们需要 ...
- Linux 数据流重定向
1.三种数据流重定向1)标准输入(stdin):代码为0,使用0<或0<<,其中代码0可以省略2)标准输出(stdout):代码为1,使用1>或1>>,其中代码1可 ...
- 在VS 2015 RTM 版中 提示 未能正确加载 NuGetPackage包
在原来的项目中曾经启用了Nuget在编译时还原包功能.这样就会在 *.sln在平行目录生成 一个.Nuget文件夹, 删除了它,就好了. 我分析原因是, VS 2015 使用的是 NugetP ...
- 数据恢复-extundelete
http://extundelete.sourceforge.net/options.html 误删除/usr/share目录因此考虑恢复目录过程如下:1.选用extundelete软件来进行恢复,源 ...
- android 添加依赖的库文件
Notpad: 2016-3-16: 1.android 添加依赖的库文件 右键自己的项目 -> properties ->android ->在Library处点击add -> ...
- 09_android入门_采用android-async-http开源项目的GET方式或POST方式实现登陆案例
根据08_android入门_android-async-http开源项目介绍及使用方法的介绍,我们通过最常见的登陆案例进行介绍android-async-http开源项目中有关类的使用.希望对你学习 ...
- CentOS 系统配置完jdk,tomcat mysql,nginx 项目发布步骤
1.启动项目之前,一定要先启动nginx服务 重启nginx服务的命令:./nginx -s reload 2.然后启动三个tomcat的服务 3.如果只能进入tomcat,不能进入项目:把tomca ...
- 常见的java 错误--转
Java常见错误列表: 找不到符号(symbol) 类X是public的,应该被声明在名为X.java的文件中 缺失类.接口或枚举类型 缺失X 缺失标识符 非法的表达式开头 类型不兼容 非法的方法声明 ...
- Shell学习:sed命令
http://blog.sina.com.cn/s/blog_a56ef5490101cn58.html sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行 ...