• 在Ubuntu 16.04上使用ngx_pagespeed模块编译Nginx

    ngx_pagespeed是一个开源的Nginx模块,可以自动应用最佳实践来优化网站速度。在本教程中,我们将讨论如何在Ubuntu 16.04 LTS上使用ngx_pagespeed模块编译Nginx。 1.备份Nginx配置文件 编译并安装Nginx后,原始Nginx配置文件将被覆盖。可以使用以下命令将主配置文件和服务器块文件备份到主目录。波浪线代表您的主目录。 cp/etc/nginx/nginx。conf/etc/nginx/sites available/*。conf/etc/nginx/conf.d/*。形态~ 2.添加官方Nginx存储库 本教程将演示在撰写本文时编译最新的Nginx主线版本1.11.1。Ubuntu 16.04存储库中有Nginx 1.10。我们添加了官方的Nginx存储库,如下所示。 首先获取Nginx GPG密钥并将其导入Ubuntu 16.04系统。 wgethttp://nginx.org/keys/nginx_signing.keysudo apt key add nginx_签名。钥匙 然后编辑来源。列表文件。 sudo nano/etc/apt/sources。列表 在该文件末尾添加以下两行。deb src行允许我们使用apt source命令下载Nginx源代码包。 黛布http://nginx.org/packages/mainline/ubuntu/xenial nginx deb srchttp://nginx.org/packages/mainline/ubuntu/xenial nginx 按Ctrl+O键保存文件。按Ctrl+X组合键关闭文件。然后更新本地包索引。 sudo apt更新 现在,Nginx官方存储库被添加到Ubuntu 16.04中。 3下载Nginx源程序包 我们将在主目录下创建一个nginx目录来存储nginx源代码,然后将cd放入该目录。 mkdir~/nginx&amp&cd~/nginx 使用以下命令安装dpkg dev并下载Nginx源代码包: sudo apt安装dpkg dev sudo apt source nginx 查看下载的文件。 ls~/nginx/ 输出: nginx-1.11.1&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp nginx_1.11.1-1~xenial。dsc nginx_1.11.1-1~xenial。德比安。焦油xz&nbsp&nbsp nginx_1.11.1。奥利格。焦油广州 4.下载ngx_pagespeed源程序包 要使用ngx_pagespeed模块编译Nginx,我们还需要ngx_pagespeed源程序包。转到Github ngx_pagespeed下载页面。( https://github.com/pagespeed/ngx_pagespeed/releases)将最新的测试版下载到您的主目录。 v1。11.33.2-beta在撰写本文时。您可能需要更改版本号。 cd~wgethttps://codeload.github.com/pagespeed/ngx_pagespeed/zip/v1.11.33.2-beta 解压: sudo-apt-get-install-unzip-unzip v1。11.33.2-beta cd到新创建的目录: cd ngx_pagespeed-1.11.33.2-beta/ 我们还需要下载psol库。(PageSpeed优化库)并将其提取。版本号对应于页面速度版本号。 wgethttps://dl.google.com/dl/page-speed/psol/1.11.33.2.tar.gztar xvf 1.11.33.2。焦油广州 它将在ngx_pagespeed-1.11.33.2-beta目录下创建一个psol目录,这就是它需要的地方。 5.将ngx_pagespeed模块添加到Nginx编译规则中 编辑Nginx编译规则文件。 sudo nano~/nginx/nginx-1.11.1/debian/rules 在COMMON_CONFIGURE_ARGS部分的末尾,添加以下行。用实际用户名替换用户名。此行指定ngx_pagespeed模块的位置。 --添加模块=/home/username/ngx_pagespeed-1.11.33.2-beta 本教程将ngx_pagespeed源页面下载到主目录。如果使用root帐户,则将/home/username替换为/root。因为root用户的主目录是/root。 还请注意,您需要在--with ld opt行添加一个反斜杠,如下面的屏幕截图所示。否则,在编译Nginx时,您添加的–add模块行将被忽略。 现在保存并关闭文件。 6.开始编译! 确保您位于Nginx源目录中。 cd~/nginx/nginx-1.11.1/ 安装构建我们的Nginx deb包所需的所有依赖项。 sudo apt build dep nginx 现在使用以下命令来构建deb包。 sudo dpkg建筑包-b 喝杯咖啡,等几分钟。在单核OpenVZ VPS上,这个构建过程大约需要20分钟。完成后,~/nginx/目录中将有7个deb文件。我们只需要安装nginx_1.11.1-1~xenial_amd64。deb或nginx_1.11.1-1~xenial_i386。deb软件包,具体取决于您的操作系统架构。其他的是Nginx动态模块包和调试包。如果您愿意,也可以安装它们。 如果您以前安装过Nginx,那么是时候删除旧版本,然后安装新版本了。 sudo apt移除nginx nginx common nginx full cd~/nginx sudo dpkg-i nginx_1.11.1-1~xenial_amd64。黛布 或 sudo dpkg-i nginx_1.11.1-1~xenial_i386。黛布 现在让我们开始Nginx。 sudo systemctl start nginx 如果您看到以下错误消息。 无法启动nginx。服务单位:nginx。服务被屏蔽了。 然后取消nginx的掩码并再次发出start命令。 sudo systemctl取消屏蔽nginx 请注意,Nginx进程可能作为用户Nginx或www数据运行。这可以通过编辑/etc/nginx/nginx中的第一行来更改。conf文件。只需确保Nginx与PHP-FPM以同一用户的身份运行即可。 现在检查Nginx的配置参数。 sudo nginx-V 如果您在末尾看到以下行,则ngx_pagespeed模块已成功添加到Nginx。 --添加模块=/home/username/ngx_pagespeed-1.11.33.2-beta 7.启用ngx_页面速度模块 PageSpeed与Nginx一起安装,但默认情况下是禁用的。在启用它之前,我建议您在pingdom上测试您的网站速度。com;或网页测试。组织。注意页面大小、请求数、页面加载时间等。启用PageSpeed后,再次进行测试,以便比较两个结果。 为pagespeed缓存创建一个文件夹,并将其所有权更改为Nginx用户(www data或Nginx),这样就可以由Nginx写入。 sudo mkdir-p/var/ngx_pagespeed_cache sudo chown-R www-data:www-data/var/ngx_pagespeed_cache 现在编辑Nginx服务器块配置文件。 sudo nano/etc/nginx/conf.d/your-domain。形态 在服务器部分添加以下pagespeed指令。 #启用此服务器上的pagespeed模块阻止pagespeed on;#需要存在并可由nginx写入。使用tmpfs以获得最佳性能。pagespeed FileCachePath/var/ngx_pagespeed_cache;#确保对pagespeed优化资源的请求转到pagespeed处理程序#,并且没有设置任何无关的头。位置~“/.pagespeed/([a-z]/)?[a-z]{2}/。[^.]{10}/.[^.]+“{add_header”“”“;}”位置~“^/pagespeed_static/”{}location ~“^/ngx_pagespeed_beacon$”{}pagespeed重写级核心过滤器; 如果在一台服务器上托管多个网站,请将上述pagespeed指令添加到每个服务器块配置文件中,以在每个服务器上启用pagespeed。 最后一条指令将CoreFilters设置为重写级别。PageSpeed提供3个重写级别:CoreFilter、PassThrough和OptimizeForBandwidth。CoreFilter是默认的,因为它包含对大多数网站来说是安全的过滤器。 CoreFilter包含以下过滤器。  添加头 合并 结合javascript 转换元标签 扩展缓存 回退u重写u cssu URL 扁平化css导入 内联css 内联导入到链接 内联javascript 重写css 重写图片 重写javascript 用url重写样式属性 保存并关闭服务器块配置文件。然后重新加载Nginx。 sudo systemctl重新加载nginx 8.检查PageSpeed是否正常工作 去你的网站。刷新几次,然后检查页面来源。按Ctrl+F键并搜索;页面速度。你会看到,你的许多网站资源已经被pagespeed处理过。一些css文件和javascript文件被合并成一个文件。如果使用Google Chrome浏览器,您将看到网站上的图片已转换为webp;总体安排webp可以大大减少图像文件的大小。 通过比较你的网站速度测试,你也可以发现ngx_pagespeed正在发挥作用。 此外,在服务器上,还可以发出以下命令: curl-I-phttp://your-domain.com|grep X-Page-Speed 你会看到X-Page-Speed和它的版本号。 X页速度:1.11.33.2-7423 9.阻止Nginx升级 如果存储库中有较新版本的Nginx,则默认情况下,apt get upgrade命令将升级Nginx,并且您的ngx_pagespeed模块将消失。所以我们需要防止Nginx升级。这可以通过以下命令实现: sudo apt mark hold nginx 要显示保存的包,请执行以下操作: apt mark showhold 某些pagespeed指令可能需要添加到不在CoreFilters中的Nginx服务器块配置文件中。 pagespeed EnableFilters压缩空白;pagespeed EnableFilters lazyload_图像;pagespeed EnableFilters insert_dns_prefetch; 修改服务器块配置文件后,不要忘记重新加载Nginx。 有关每个过滤器的详细说明,请转到Google PageSpeed filter页面。 欢迎提出意见、问题或建议。如果你觉得这篇文章有用,? 请在社交媒体上与朋友分享!请继续关注更多Linux教程。

    2022.03.23 浏览:71
  • 如何在Debian 8上使用PageSpeed编译Nginx

    本教程将教您如何在Debian 8 Jessie上使用ngx_pagespeed模块编译Nginx。 1备份Nginx配置文件 在安装过程中,Nginx配置文件将被覆盖。以下命令将配置文件复制到当前工作目录。(不要漏掉后面的点。该点是您当前的工作目录。) cp /etc/nginx/nginx.conf /etc/nginx/sites-available/*.conf . 2.添加Nginx存储库 从Nginx导入PGP密钥。 wget http://nginx.org/keys/nginx_signing.key sudo apt-key add nginx_signing.key 编辑源列表文件。 sudo vi /etc/apt/sources.list 在文件末尾添加以下两行。 deb http://nginx.org/packages/mainline/debian/ jessie nginx deb-src http://nginx.org/packages/mainline/debian/ jessie nginx 保存并关闭文件。然后更新本地包索引。 sudo apt-get update 3.下载Nginx源代码包 在主文件夹中创建一个目录来存储Nginx源程序包,然后;cd到新目录: mkdir ~/nginx && cd ~/nginx 使用以下命令下载Nginx源代码包 sudo apt-get source nginx 4.下载ngx_pagespeed源程序包 转到Github ngx_pagespeed下载页面。将最新的测试版下载到您的主目录。v1。9.32.10-beta在撰写本文时。您可能需要更改版本号。 cd ~ wget https://codeload.github.com/pagespeed/ngx_pagespeed/zip/v1.9.32.10-beta 解压: sudo apt-get install unzip unzip v1.9.32.10-beta cd到新创建的目录: cd ngx_pagespeed-1.9.32.10-beta/ 下载PageSpeed优化库(psol)并将其解压缩。 wget https://dl.google.com/dl/page-speed/psol/1.9.32.10.tar.gz tar xvf 1.9.32.10.tar.gz 它将在ngx_pagespeed-1.9.32.10-beta目录下创建一个psol目录。 5.将ngx_pagespeed模块添加到Nginx编译规则中 编辑Nginx编译规则文件。 sudo vi ~/nginx/nginx-1.9.10/debian/rules 在该文件中,您将看到两个配置块;覆盖自动生成和;配置调试。在;覆盖_dh_auto_build,在末尾添加以下行。替换&lt;用户名&gt;用你的真实用户名。 --add-module=/home/<username>/ngx_pagespeed-1.9.32.10-beta 请注意,您需要在–with-ipv6行或–处添加反斜杠添加模块将被忽略。 # some text left out.           --with-file-aio /          $(WITH_HTTP2) /           --with-cc-opt="$(CFLAGS)" /          --with-ld-opt="$(LDFLAGS)" /          --with-ipv6 /          --add-module=/home/<username>/ngx_pagespeed-1.9.32.10-beta dh_auto_build configure_debug:      CFLAGS="" ./configure /           --prefix=/etc/nginx /          --sbin-path=/usr/sbin/nginx /          --conf-path=/etc/nginx/nginx.conf / # some text left out. 保存并关闭文件。 6.编译并安装 cd到nginx源目录。 cd ~/nginx/nginx-1.9.10/ 安装构建Nginx所需的所有依赖项: sudo apt-get build-dep nginx 使用以下命令构建deb包。 sudo dpkg-buildpackage -b 等几分钟。我的Debian服务器大约5分钟就完成了任务。完成后,~/nginx/目录中将有两个deb文件。一个是稳定版本,另一个是调试版本。我们需要安装稳定版本。如果您以前安装过nginx,那么是时候删除旧版本,然后安装新版本了。 sudo apt-get remove nginx nginx-common nginx-full sudo dpkg -i nginx_1.9.10-1~jessie_amd64.deb 安装后,请检查Nginx的配置参数。 sudo nginx -V 如果您在末尾看到以下行,则ngx_pagespeed模块已成功添加到Nginx。 --add-module=/home/<username>/ngx_pagespeed-1.9.32.10-beta 如果你的网站现在关闭了,你需要恢复你的配置文件。 7.启用ngx_页面速度模块 pagespeed与Nginx一起安装,但默认情况下是禁用的。在启用它之前,我建议您在pingdom上测试您的网站速度。com;或网页测试。组织。启用后,再次进行测试,以比较两个结果。 为pagespeed缓存创建一个文件夹,并将其所有权更改为Nginx user。 sudo mkdir -p /var/ngx_pagespeed_cache sudo chown -R nginx:nginx /var/ngx_pagespeed_cache 现在打开Nginx主配置文件/etc/Nginx/Nginx。形态 sudo vi /etc/nginx/nginx.conf 在http块中添加以下两行 pagespeed on; pagespeed FileCachePath /var/ngx_pagespeed_cache; 保存并关闭文件。然后编辑服务器块文件。 sudo vi /etc/nginx/conf.d/yourdomain.com.conf 将以下行添加到服务器块。 location ~ "/.pagespeed/.([a-z]/.)?[a-z]{2}/.[^.]{10}/.[^.]+" { add_header "" ""; } location ~ "^/ngx_pagespeed_static/" { } location ~ "^/ngx_pagespeed_beacon" { } 保存并关闭文件。重新加载Nginx配置。 sudo service nginx reload 8.检查PageSpeed是否正常工作 去你的网站。刷新几次,然后检查页面来源。按Ctrl+F键并搜索;页面速度。你会看到,你的许多网站资源已经被pagespeed处理过。一些css文件和javascript文件被合并成一个文件。如果使用Google Chrome浏览器,您将看到您网站上的图片位于webp中;总体安排webp可以大大减少图像文件的大小。 通过比较你的网站速度测试,你也可以发现ngx_pagespeed正在发挥作用。 此外,在服务器上,还可以发出以下命令: curl -I -p http://localhost| grep X-Page-Speed 你会看到X-Page-Speed和它的版本号。 X-Page-Speed: 1.9.32.10-7423 9.阻止Nginx升级 如果存储库中有较新版本的Nginx,则默认情况下,apt get upgrade命令将升级Nginx,并且您的ngx_pagespeed模块将消失。所以我们需要防止Nginx升级。这可以通过以下命令实现: sudo apt-mark hold nginx 要显示保存的包,请执行以下操作: apt-mark showhold 如果你更喜欢天资: sudo aptitude hold nginx 希望本文能对您有所帮助。

    2022.03.24 浏览:70