CentOS下编译安装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。
所需源码包
apr-1.4.6.tar.gz(可从http://apr.apache.org/download.cgi下载到最新版本)
apr-util-1.4.1.tar.gz(可从http://apr.apache.org/download.cgi下载到最新版本)
httpd-2.4.6.tar.gz(可从http://www.apache.org/dist/httpd/下载到最新版本)
pcre-8.33.tar.gz(可从ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/下载到最新版本)
#安装 apr
cd /usr/local/src/Apache-2.4.
tar -xzvf ./apr-1.4..tar.gz
cd ./apr-1.4.
mkdir /usr/local/apr
./configure --prefix=/usr/local/apr
make && make install
#安装 apr-util
cd /usr/local/src/Apache-2.4.
tar -xzvf ./apr-util-1.4..tar.gz
cd ./apr-util-1.4.
mkdir /usr/local/apr-util
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr--config
make && make install
#安装 pcre
cd /usr/local/src/Apache-2.4.
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--config
make && make install
注意:可能会出现"configure: error: You need a C++ compiler for C++ support.",运行以下命令安装c++编译器,再重新执行configure即可。
yum install -y gcc gcc-c++
安装 Apache2.4.6
cd /usr/local/src/Apache-2.4.
tar -xzvf ./httpd-2.4..tar.gz
cd ./httpd-2.4.
./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 /etc/init.d/httpd #增加执行权限
chkconfig --add httpd #添加httpd到服务项
chkconfig --level 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 -j ACCEPT
#重启防火墙
service iptables restart # 或 /etc/init.d/iptables restart
启动Apache
service httpd start # 或 /etc/init.d/httpd start
安装过程中可能会出现以下问题:
编译Apache时出现:
checking whether to enable mod_ssl... configure: error: mod_ssl has been requested but can not be built due to prerequisite failures
解决办法:
yum install openssl-devel
启动Apache时出现:
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
解决办法:
#vi /etc/httpd/conf/httpd.conf (在这里/etc/httpd是我安装apache的目录)
找到#ServerName www.example.com:80 把#去掉,再重启apache即可没事了。
CentOS下编译安装Apache的更多相关文章
- CentOS 下编译安装Apache
CentOS 下编译安装Apache 卸载原有的apache 首先从 http://httpd.apache.or 下载apache源码包httpd-2.4.4.tar.gz然后从 http://ap ...
- CentOS下编译安装Apache(httpd)
官网下载最新版本的apache, apr, apr-util http://httpd.apache.org/download.cgi#apache24 http://apr.apache.org/d ...
- Linux(CentOS)下编译安装apache
Centos7.6系统 已经安装lnmp一键环境 想装个apache跑php7 (php7的安装以及与apache的交互在这里: https://www.cnblogs.com/lz0925/p/11 ...
- centos下编译安装lnmp
centos下编译安装lnmp 本文以centos为背景在其中编译安装nginx搭建lnmp环境. 编译安装nginx时,需要事先安装 开发包组"Development Tools" ...
- Linux下编译安装Apache Http Server
Linux下编译安装Apache Http Server [TOC] 1.下载httpd-2.4.12.tar.bz2 wget http://mirror.bit.edu.cn/apache/htt ...
- 转:在CentOS下编译安装GCC
转:https://teddysun.com/432.html 在CentOS下编译安装GCC 技术 秋水逸冰 发布于: 2015-09-02 更新于: 2015-09-02 6519 次围观 ...
- centos手动编译安装apache、php、mysql
64位centos 5.5手动安装lamp,要求curl.json.pdo_mysql.gd,记录如下. centos 5.4.5.5.5.6的内核都是2.6.18,都可以安装php 5.3. 卸载旧 ...
- centos下编译安装mysql5.6
CentOS 6.4下编译安装MySQL 5.6.14 参考:http://www.cnblogs.com/xiongpq/p/3384681.html 概述: CentOS 6.4下通过yum安装的 ...
- CentOS下编译安装MySQL 5.6.21
一.编译安装MySQL前的准备工作 安装编译源码所需的工具和库 yum install gcc gcc-c++ ncurses-devel perl 安装cmake:http://www.cnblog ...
随机推荐
- 《剑指offer》二进制中1的个数
一.题目描述 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 二.牛客网提供的框架 class Solution { public: int NumberOf1(int n) { } ...
- UWP开发小结
做了两天的UWP开发,上手还是挺快的,不过比较郁闷的是总会被一些很简单的细节卡住很久. 首先当然是用C#修改xaml界面这个难点了,Bing搜了好久都没找到相关信息,最后还是老司机伟神指点的我.对于g ...
- UVa 12661 Funny Car Racing【 dijkstra 】
题意:给出n个点,m条路,每条路用5个整数表示u,v,a,b,t u表示这条路的起点,v表示终点,a表示打开时间,b表示关闭时间,t表示通过这条道路需要的时间 看的紫书,因为边权不再仅仅是路上的时间, ...
- 3、Go Exit
package main import ( "fmt" "os") func main() { //当使用`os.Exit`的时候defer操作不会被运行 所以 ...
- div的padding和margin
原div一和div二的位置 增大div二的margin-left 增大div二的padding-top
- shell清除日志小脚本
#!/bin/bash #清除日志脚本 LOG_DIR=/var/log ROOT_UID=0 #用户id为0的 ,即为root if [ "$UID" -ne "$RO ...
- ArcSDE学习笔记---------使用
1.首先在 将下面四个jar包放到工程里 2.然后打开ArcMAP,在arcmap里建立属于你自己的表 3.然后在你的本地数据库上建立与arcmap的连接 完成这三步就可以开始对ArcSDE的数据进行 ...
- 3D打印技术之切片引擎(6)
[此系列文章基于熔融沉积( fused depostion modeling, FDM )成形工艺] 这一篇文章说一下填充算法中的网格填充.网格填充在现有的较为成熟的引擎中是非常普遍的:skeinfo ...
- BestCoder Round #11 (Div. 2)
太菜,仅仅能去Div2.(都做不完 ORZ... 各自是 HDU: 5054pid=5054"> Alice and Bob 5055Bob and math problem 5056 ...
- thinkphp5项目--企业单车网站(三)
thinkphp5项目--企业单车网站(三) 项目地址 fry404006308/BicycleEnterpriseWebsite: Bicycle Enterprise Websitehttps:/ ...