ubuntu 将第三方模块编译到nginx包中

在Ubuntu系统下,我们通常是使用apt-get来搞定一切,简单方便快捷。但是如果要给nginx添加额外的模块就需要重新编译了。从源码编译nginx就要手工补充Debian包提供的一些文件,如启动脚本,logrotate等等。

获取额外的模块

以Pagespeed、upload模块为例。

获取pagespeed模块:

获取upload模块:

获取nginx源码包和依赖关系

添加nginx源,调整、重建并重新安装nginx。

添加PPA源文件,并确保deb-src指令没被注释掉。

更新

获取源码包和依赖包

ppa:nginx/stable 提供多个nginx可用包:common, light, full, extras。当执行apt-get install -y nginx时,是安装full版本的。

light 比 common少了 --without-* 的选项包。

编辑/opt/rebuildnginx/nginx-1.6.2/debian/rules文件来添加第三方模块。

重建nginx包

重建完后,会在/opt/rebuildnginx目录下生产一堆.deb文件,可以使用这些文件来安装nginx。由于我们调整了‘full'包,因此需要使用该包来安装nginx。该包有两个:

dbg的是debug版本。

重新安装nginx,可能需要先删除之前安装的nginx。

查看已安装的模块

配置pagespeed

参考资料

PageSpeed Module: https://developers.google.com/speed/pagespeed/module/configuration

Installing optional Nginx modules with apt-get: http://serverfault.com/questions/227480/installing-optional-nginx-modules-with-apt-get

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: