基本介绍
公众号: SRE艺术
欢迎关注
httpd是一个比较经典的web服务器,也就是静态资源服务器,主要用来服务于一些静态的文件,例如css,js,html等文件,所谓的静态文件,也就是不需要通过服务器进行运行的文件。
在使用静态服务器的时候,大部分的图片或者js文件或者css文件的变化一般都是比较少的,从而我们可以设置缓存时间,从而实现用户访问的加速,从而提高用户体验。
由于httpd程序发展的时间过长,采用的是动态共享模块,从而在使用的时候,需要加载相关的模块来进行使用,在使用httpd进行缓存的时候,可以使用header模块或者是expires模块。
在使用httpd的时候,生产环境一般使用的版本为2.2的版本,并且采用的mpm机制为worker模式,从而在进行编译的时候,指定worker模式。
编译httpd2.2
在编译的时候,可能出现依赖包错误,从而首先需要安装相关的依赖包,pcre,zlib,openssl,arp,arp-util,第一个是perl的扩展正则表达式,第二个是提供压缩的,也就是gzip和deflate压缩,第三个和第四个主要是提供httpd的可移植的运行环境。
当编译的时候,出现如下错误(不能使用外部的apr和apr-util,表示不能使用操作系统自带的rpm包,从而需要重新编译安装):
Configuring Apache Portable Runtime Utility library...
checking for APR-util... reconfig
configure: error: Cannot use an external APR with the bundled APR-util
需要首先安装apr和apr-util,这两个包在httpd2.2的源码中是自带的,从而不需要专门下载,如下所示:
[root@mogilenode1 httpd-2.2.34]# cd srclib/
[root@mogilenode1 srclib]# cd apr
[root@mogilenode1 apr]# ./configure --prefix=/usr/local/apr2 (prefix表示安装路径)
[root@mogilenode1 apr]# make && make install