使用Ubuntu的apt管理,通过源码进行安装的方式,将nginx版本1.4.1和ngx_pagespeed安装在服务器上

在Amazon EC2上,我将尝试将上述插件安装在租用的微型实例上。ngx_pagespeed是由nginx和Google发布的一个页面加载速度优化模块,只能通过源代码安装到nginx中,官方只介绍了通过编译的方式进行安装。然而,据说apt中有管理源码安装的功能,我尝试了一下。如果能够成功,我将不再担心依赖关系的问题!

将最新稳定版的nginx从ppa仓库中获取,并使其可用。

sudo aptitude install python-software-properties
sudo add-apt-repository ppa:nginx/stable

安装所需的各种软件。

sudo aptitude update
sudo aptitude safe-upgrade
sudo aptitude install build-essential zlib1g-dev libpcre3 libpcre3-dev unzip

下载nginx的源代码(只需注意这里使用apt-get)

mkdir ~/ngxsrc
cd ~/ngxsrc
sudo apt-get source nginx-full

带来ngx_pagespeed.

cd nginx-1.4.1/debian/modules
wget https://github.com/pagespeed/ngx_pagespeed/archive/release-1.5.27.3-beta.zip
unzip release-1.5.27.3-beta.zip
cd ngx_pagespeed-release-1.5.27.3-beta/
wget https://dl.google.com/dl/page-speed/psol/1.5.27.3.tar.gz
tar -xzvf 1.5.27.3.tar.gz

描述构建选项

cd ~/ngxsrc/nginx-1.4.1
nano debian/rules

为了安装nginx-full,编辑该部分。
在第57行添加以下内容(顺便安装cache-purge)。
cache-purge已经包含在包中。

--add-module=$(MODULESDIR)/ngx_pagespeed-release-1.5.27.3-beta \
--add-module=$(MODULESDIR)/nginx-cache-purge \

以下是補充資訊。
在Ubuntu的nginx套件中,根據所安裝的模組數量,分為nginx-light、nginx-full和nginx-extras三種版本。
一般情況下,我們可以選擇安裝全部功能的nginx-extras版本,但為了輕量化,我選擇指定nginx-full並編輯構建選項。
此外,由於nginx1.4已經支援了SPDY協議,我添加了「–with-http_spdy_module \」以啟用SPDY功能。
另外,我取消了郵件緩存服務功能。不過,大家有在使用嗎?
我將「–with-mail \」和「–with-mail_ssl_module \」用#註釋掉了。

在构建之前,需要先准备好必要的软件包(使用ec2.micro构建可能需要很长时间,可能超过1个小时)。

sudo apt-get build-dep nginx
sudo dpkg-buildpackage -b

安装生成的deb文件。

cd ..
sudo dpkg --install nginx-common_1.4.1-1ppa1~precise_all.deb nginx-full_1.4.1-1ppa1~precise_amd64.deb nginx_1.4.1-1ppa1~precise_all.deb

确认一下模块是否已经安装

nginx -V

只要输出结果包含「–add-module=/home/ubuntu/ngxsrc/nginx-1.4.1/debian/modules/ngx_pagespeed」,就表示成功!

根据您的环境,编辑/etc/nginx/nginx.conf、/etc/nginx/sites-available/default等文件,然后重新启动服务吧!(如果是通过apt以外的方式安装的,还需要自行准备init.d,非常麻烦…)

sudo service nginx restart