沃梦达 / IT编程 / 服务器 / 正文

Apache编译安装

同样apache也需要到官网下载合适的版本,apache官网下载地址: http://www.apache.org/dyn/closer.cgi 或https://coding.net/u/aminglinux/p/resource/git/blob/master/README.md[root@localhost mysql]# cd /usr/lo...

同样apache也需要到官网下载合适的版本,apache官网下载地址:  http://www.apache.org/dyn/closer.cgi  或 https://coding.net/u/aminglinux/p/resource/git/blob/master/README.md

[root@localhost mysql]# cd /usr/local/src/ [root@localhost src]#wget http://syslab.comsenz.com/downloads/linux/httpd-2.2.16.tar.gz

解压:

[root@localhost src]# tar zxvf httpd-2.2.16.tar.gz

配置编译参数:

[root@localhost src]# cd httpd-2.2.16 [root@localhost httpd-2.2.16]# ./configure --prefix=/usr/local/apache2 --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --with-pcre           (复制就行)

--prefix 指定安装到哪里, --enable-so 表示启用DSO  --enable-deflate=shared 表示共享的方式编译deflate,后面的参数同理。

既然可以动态共享当然也可以静态的方式编译deflate模块。那么什么是动态共享,什么是静态?

Apache编译安装完成后会生成一个核心的二进制可执行文件叫做httpd,这个文件作为核心文件提供服务时就是他在处理用户的请求,但是有一些功能,比如这里提到的expires就是配置静态文件(图片)过期时间的,也就是说图片可以再用户浏览器的临时缓存目录中缓存多久。这些功能是作为http的一个扩展模块来工作的,那么这种扩展模块有两种存在的方式,一种是直接在编译的时候和http文件拧到一起,组成一个体积大的文件, 这种叫静态 。而另一种方式就是,扩展模块作为一个独立的文件存在,只有在使用这个模块是在调用他, 这种叫做动态共享 。两种方式中,动态的好处是,核心文件httpd比较小,模块随时用随时加载,耗费内存相对较少。二静态的优势是,在服务启动时,会把所有的模块加载,用到时很快就执行,效率较高。

如果 ./configure 这一步你出现了这样的错误:

error: mod_deflate has been requested but can not be built due to prerequisite failures

解决办法是:

yum install -y zlib-devel

如果是Apache版本问题,请安装:

yum install gcc

为了避免在make的时候出现错误,所以最好是提前先安装好一些库文件:

yum install -y pcre pcre-devel apr apr-devel

编译:

[root@localhost httpd-2.2.16]# make

安装:

[root@localhost httpd-2.2.16]# make install

以上两个步骤都可以使用 echo $? 来检查是否正确执行,否则需要根据错误提示去解决问题。


本文出自 “12350027” 博客,谢绝转载!

原文:http://12360027.blog.51cto.com/12350027/1936730

本文标题为:Apache编译安装