Nginx(engine-x)是一款开源和高性能的HTTP服务器,反向代理和IMAP / POP3代理服务器。 Nginx的突出特点是稳定性,丰富的功能集,简单的配置和低内存消耗。 本教程将介绍如何从已编译Google PageSpeed模块的源代码为Ubuntu 16.04构建Nginx .deb软件包。
PageSpeed是由Google 开发的一个Web服务器模块,用于加快网站响应时间,优化返回的HTML并减少页面加载时间。 ngx_pagespeed功能包括:
- 图像优化:剥离元数据,动态调整大小,重新压缩。
- CSS和JavaScript的缩小,连接,内联和大纲。
- 小资源内联。
- 延迟图像和JavaScript加载。
- HTML重写
- 缓存生存期延长。
请参阅https://developers.google.com/speed/pagespeed/module/ 。
先决条件
- Ubuntu Server 16.04 - 64位
- root权限
我们将在本教程中做什么:
- 安装必备软件包。
- 用ngx_pagespeed安装nginx。
- 测试。
安装构建依赖项
sudo apt-get install dpkg-dev build-essential zlib1g-dev libpcre3 libpcre3-dev unzip
用ngx_pagespeed安装nginx
第1步 - 添加nginx存储库
使用vim创建一个新的存储库文件/etc/apt/sources.list.d/nginx.list。
vim /etc/apt/sources.list.d/nginx.list
在那里你添加行:
deb http://nginx.org/packages/ubuntu/ xenial nginx deb-src http://nginx.org/packages/ubuntu/ xenial nginx
保存文件并退出编辑器。
添加密钥并更新存储库:
sudo sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ABF5BD827BD9BF62
sudo apt-get update
第2步 - 从ubuntu存储库下载nginx 1.10
为nginx源文件创建一个新目录,并使用apt下载nginx源:
cd ~
mkdir -p ~/new/nginx_source/
cd ~/new/nginx_source/
apt-get source nginx
有时,有一个错误: '包无法验证'
。
您可以通过键入命令来解决它:
rm -rf /var/lib/apt/lists/
apt-get update
接下来,安装所有依赖关系来构建nginx包。
apt-get build-dep nginx
第3步 - 下载Pagespeed
为PageSpeed创建一个新目录并下载PageSpeed源代码。
在本教程中,我们将使用pagespeed 1.11.33
。
mkdir -p ~/new/ngx_pagespeed/
cd ~/new/ngx_pagespeed/
ngx_version= 1.11.33.3
wget https://github.com/pagespeed/ngx_pagespeed/archive/release-${ngx_version}-beta.zip
unzip release-${ngx_version}-beta.zip
cd ngx_pagespeed-release-${ngx_version}-beta/
wget https://dl.google.com/dl/page-speed/psol/${ngx_version}.tar.gz
tar -xzvf ${ngx_version}.tar.gz
第4步 - 使用Pagespeed配置nginx
转到'nginx_source'
目录并使用vim编辑'rules'
文件。
cd ~/new/nginx_source/nginx-1.10.1/debian/
vim rules
在“COMMON_CONFIGURE_ARGS”
下添加新行:
--add-module=../../ngx_pagespeed/ngx_pagespeed-release-1.11.33.3-beta \
保存并退出。
第5步 - 构建nginx的Ubuntu软件包并进行安装
转到nginx源目录,并使用dpkg-buildpackage命令从源代码构建nginx:
cd ~/new/nginx_source/nginx-1.10.1/
dpkg-buildpackage -b
nginx的Ubuntu软件包将保存在 〜/ new / ngix_source /下。
一旦建造完成,请查看目录:
cd ~/new/ngix_source/
ls
并使用dpkg命令安装nginx和modules deb。
dpkg -i *.deb
测试
第1步 - 使用Nginx命令进行测试
运行nginx -V
来检查ngx_pagespeed模块是否已经内置到nginx中。
nginx -V
第2步 - 使用Curl命令进行测试
去nginx配置目录。
cd /etc/nginx/conf.d/
并编辑默认虚拟主机配置文件。
vim default.conf
粘贴下面的配置以启用ngx_pagespeed。
pagespeed on;
# Needs to exist and be writable by nginx. Use tmpfs for best performance.
pagespeed FileCachePath /var/ngx_pagespeed_cache;
# Ensure requests for pagespeed optimized resources go to the pagespeed handler
# and no extraneous headers get set.
location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" {
add_header "" "";
}
location ~ "^/pagespeed_static/" { }
location ~ "^/ngx_pagespeed_beacon$" { }
保存并退出。
接下来,测试nginx配置文件,确保没有错误:
nginx -t
重启nginx:
systemctl restart nginx
最后,使用curl命令访问nginx Web服务器:
curl -I 192.168.1.6
结论
nginx Web服务器有一个稳定和快速的开源HTTP服务器,支持各种模块进行内容传送优化。 其中一个模块是由Google开发的“PageSpeed模块”。 与apache不同,nginx模块不能动态加载,因此您在构建nginx软件包时必须选择所需的模块。