1、编译是什么?
简单的来说,编译就是根据源码包中 Makefile.in 文件的指示,configure 脚本检查当前的系统环境和配置选项,在当前目录中生成 Makefile 文件(还有其它本文无需关心的文件),然后 make 程序就按照当前目录中的 Makefile 文件的指示将源代码编译为二进制文件,最后将这些二进制文件移动(即安装)到指定的地方(仍然按照 Makefile 文件的指示)。
2、为什么要编译?
编译的主要目的是将便于人编写、阅读、维护的高级计算机语言写的源代码翻译为计算机能读懂的运行的低级机器语言的程序,也就是所谓的可执行文件。
3、用什么编译?
编译器是一种计算机程序(原始语言),它会把某种编程语言写的源代码转换成另一种编程语言(目标语言),常用的编译器有gcc、glibc等
4、如何编译、编译的步骤:
1)拿到源代码,源代码一般是压缩包,需要解压
2)切换到源代码目录中 cd package-version
3)执行configure脚本:./configure
4)编译:make
5)安装 make install
5、configure脚本的通用功能:
我们需要定义的配置:
1)指定安装路径:
-prefix=/usr/local/package_name
--sysconfigdir=/etc/package_name
2) 指定启用/禁用的特性:
--enable-feature:例如--enable-fpm
3) 指定所依赖的功能、程序或文件
--with-function:启用某功能
--without-function:禁用某功能
不同的程序,其configure的脚本功能不同,要获取帮助:./configure --help
6、httpd编译的具体实现:
1)查看主机上是否已经安装了httpd,有的话就行卸载
2)从ftp服务器上下载包:
3)解压之后进入httpd-2.2.25的目录,查看目录下边的文件,
4)执行configure脚本,并指定安装路径,先删除之前的httpd文件生成的配置文件:
rm -rf /etc/httpd/:删除之前的httpd的配置文件
yum -y install gcc:安装gcc编译环境
配置没有问题,由于配置的过程太长,无法截图,这里不再截图,有的时候会有错误提示,一般情况下是编译器没有安装,比如gcc,glibc等,安装之后即可配置成功,下边我继续编译、安装,httpd的编译安装都比较慢,耐心等待。。。
最后把httpd的配置写进系统的全局配置文件中:
二进制程序:
#vim /etc/profile.d/apache.sh
PATH=/usr/local/apache/bin:/usr/local/apache/sbin:$PATH
头文件输出给系统:
# ln -sv /usr/local/apache/include /usr/include/httpd
库文件输出:
# vim /etc/ld.so.conf.d/httpd.conf
/usr/local/apache/lib
让系统重新生成库文件路径缓存:
# ldconfig
导出man文件:
# vim /etc/man.config
MANPATH /usr/local/apache/man
End。。。
转载于:https://blog.51cto.com/il23f/1365565