您的位置:首页 > 运维架构 > Apache

简单编译安装apache2

2015-12-27 10:56 363 查看
引 入CentOS系统的软件管理主要有三种方式,rpm,yum,以及直接源码管理,前面已经详细介绍了rpm以及yum的相关用法,作为运维人员,源码安装有时也是不可避免的,下面,我们就以Apache为例简单介绍一下编译安装。

一、 什么是编译安装
编译:将源代码变为机器可执行的代码文件。
安装:将可执行文件安装到操作系统里。

二、 为什么要编译安装
有些软件,并不能通过例如rpm这种包管理系统安装,这就需要下载源码编译安装。

编译安装可以灵活地定制软件,选择自己需要的,取消自己不需要的。

针对特定的硬件进行优化,编译安装可以获得更好的性能表现。

三、 如何编译安装
1. 构造编译环境
编译工具链工具:
工具简介
binutils连接器、汇编器和其他用于目标文件和档案的工具
gcc编译器,将源代码转换为机器代码
glibcC库,提供标准例程(C函数)
上述工具可以用yum install来安装
2. 获取源码

官方自建站点:

apache.org (ASF)
mariadb.org
...
代码托管:

SourceForge
Github.com
code.google.com
...
3. 根据源码构造Makefile文件




上图是生成Makefile文件的主要步骤,有时我们可能需要先用autoconf来构造configure,而autoconf工具也可以用yum来安装。
[b]4. 用make和make install把软件安装到系统[/b]
make工具的主要用法:
目标用途
make all产生预设的目标,只敲入make也可以
make clean清除编译结果
make distclean除了清除编译结果,也把configure所产生的 Makefile 清除掉
make install将程序安装到系统中
make dist将程序和相关的文档打包为一个压缩文档以供发布
make distcheck打包并检验
[b]四、 简单编译安装httpd[/b]

[b]1. 获取源码[/b]

wget http://apache.dataguru.cn/httpd/httpd-2.2.31.tar.bz2[/code] href="http://s1.51cto.com/wyfs02/M01/78/87/wKiom1Z_OB_DZ9wZAAA8Ab0u8Lk597.png" target=_blank>

通过wget命令去官网推荐的mirror下载,可以获取以.tar.bz2或以.tar.gz结尾的源码包
[b]2. 做好编译准备[/b]
解压源码包

tar xvf httpd-2.2.31.tar.bz2


通过“tar xf”命令可以根据源码包的相应后缀名解压源码包,进入解压后的源码包,我们可以看到已经有现成的configure跟Makefile.in文件。
查看安装手册



源码包安装前建议看一下INSTALL跟README文件,例如httpd的解压目录下的INSTALL文件就告诉了我们基本的编译安装步骤。
阅读./configure --help帮助

[b]

[/b]
可以看到,通过./configure --help可以了解各详细的编译选项,例如可以通过--prefix来修改软件的安装位置,也可以通过--with-pcre=PATH等来指向对应需要依赖的软件,不过编译Apache2一般很简单,也就不过多介绍其他选项。
[b]3. 开始编译[/b]
./configure --prefix=/usr/apache2


在此,只给configure 添加--prefix选项来修改软件安装位置,可以看到已经成功生成Makefile文件。
[b]4. 产生预定的目标并安装到系统[/b]
make && make install
[b]

[/b]
用make工具来完成这一步,当然,make跟make install你也可以分开两条命令来写。可以看到,在--prefix选项指定的位置上已经安装上apache2相关文件包。
[b][b]5. 启动httpd,检查安装情况[/b][/b]
[root@localhost bin]# cd /usr/apache2/bin
[root@localhost bin]# ./httpd -k start
[root@localhost bin]# curl -i localhost:80



可以看到,httpd服务正在运行,说明安装成功。

后 记简单的编译源码安装很容易,但要编译出高效的符合自己需求的软件包,这往往还需要一定的工作经验来辅助之。至此,软件包管理的rpm,yum和源码安装就介绍完了。
附:如对上面描述有疑问,期待与朋友您共同探讨。本人QQ:1084569767本文出自 “小蚊子的家园” 博客,请务必保留此出处http://timber.blog.51cto.com/7677013/1728724
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: