大D技研室 移动版  |  完整版

向已安装好的Apache添加模块

背景故事

最近L同学单位搞了机房,搞了服务器,搞了新网站,然而L同学跟大D说网站慢的一笔。

又赶上春节期间偶感小病连躺好几天,也没腾出时间做事情,今天利用午休时间给L同学看了一下。

然而,大D都快瞎了啊~

大概列出几条罪状:

  • GZIP压缩没开
  • 没有Pagespeed模块
  • 网页资源文件(JS,CSS未合并)
  • php.ini中配置了memcached但没有正确安装并开启memcached

由于不熟悉L同学单位网站的源码情况,资源合并这事儿大D就不做了,把memcached正确配置上,GZIP开了速度也可以有很明显的提升。

于是习惯性的根据以前大D自己写在Blog上的博文来配置给Apache开启GZIP,然而。。

真是一口老血啊。。。。

于是又看一眼Apache安装的时候到底开了哪些模块?

我X,我不想说什么了。。。。

正文

在目睹了各种No such file or directory之后,只好向Apache添加模块了,这里就记录一下添加mod_headers.somod_deflate.so两个模块的过程。

首先查看一下安装的Apache是什么版本的。

ok,Apache 2.2.29,上网搜索一份Apache 2.2.29的源码并解压。

使用Apache自带的apxs进行模块安装。

apxs命令参数说明:
-i 此选项表示需要执行安装操作,以安装一个或多个动态共享对象到服务器的modules目录中。
-a 此选项自动增加一个LoadModule行到httpd.conf文件中,以激活此模块,或者,如果此行已经存在,则启用之。
-A 与 -a 选项类似,但是它增加的LoadModule命令有一个井号前缀(#),即此模块已经准备就绪但尚未启用。
-c 此选项表示需要执行编译操作。它首先会编译C源程序(.c)files为对应的目标代码文件(.o),然后连接这些目标代码和files中其余的目标代码文件(.o和.a),以生成动态共享对象dsofile 。如果没有指定 -o 选项,则此输出文件名由files中的第一个文件名推测得到,也就是默认为mod_name.so 。

使用apxs安装mod_header模块

mod_headers.so模块的源码文件存储在/modules/metadata/目录下

ok,开始安装。

使用apxs安装mod_deflate模块

mod_deflate.so模块的源码文件存储在:

这两个文件存储在不同的地方,还是需要留意的。

剩下的工作就是修改httpd.conf,添加开启GZIP的相关配置代码。

后记

网站开发商把服务器部署成这个德行我也是醉了。

 

暂无评论

© 2010 大D技研室 | 2 Queries, 0.740 Seconds
Powered by Theme Codename H Rev.96