GNU/Linux >> Linux の 問題 >  >> Debian

Debian Jessie/testingでnginxでngx_pagespeedを使用する

PageSpeed Betaは、Apacheのmod_pagespeedに相当するnginxであるnginxで使用できます。このモジュールは、Webパフォーマンスのベストプラクティスをページおよび関連するアセット(CSS、JavaScript、画像)に適用するため、Webサイトを高速化し、読み込み時間を短縮します。このチュートリアルでは、Debian Jessie/testingでnginxでPageSpeedを使用する方法について説明します。

これがあなたのために働くという保証はありません!

1PageSpeedを使用したnginxの構築

nginxはモジュールの動的ロードをサポートしていないため、PageSpeedをサポートして再構築する必要があります。 nginxを.debパッケージとしてビルドし、既存のnginxインストールを置き換えられるようにします(または他のシステムに簡単にインストールできます)。

最初にビルドディレクトリを作成します:

cd / usr / src
mkdir pagespeed &&cd pagespeed

/etc/apt/sources.listにJessie/testingのdeb行とdeb-src行があることを確認してください:

 vi /etc/apt/sources.list 
 [...] deb http://ftp.de.debian.org/debian tests main contrib non-freedeb-src http:// ftp.de.debian.org/debian test main contrib non-free [...] 

パッケージリストを更新し、いくつかの前提条件をインストールします:

 apt-get update 
 apt-get install dpkg-dev build-essential zlib1g-dev libpcre3 libpcre3-dev unzip unzip curl libcurl4-openssl-dev libossp-uuid-dev 

nginxソースとビルドの依存関係をダウンロードします:

 apt-get source nginx 
 apt-get build-dep nginx 

nginxのバージョンを確認しましょう:

 ls -l <​​/ pre> 

[メールで保護]:/ usr / src / pagespeed#ls -l <​​br /> total 2292
drwxr-xr-x 10 root root 4096 Feb 5 12:54 nginx-1.4.4
-rw -r--r-- 1 root root 1568452 Jan 7 19:22 nginx_1.4.4-4.debian.tar.gz
-rw-r--r-- 1 root root 2171 Jan 7 19:22 nginx_1 .4.4-4.dsc
-rw-r--r-- 1 root root 768217 Nov 21 16:28 nginx_1.4.4.orig.tar.gz
[email protected]:/ usr / src / pagespeed#

nginxのバージョンは1.4.4です。ダウンロードしたnginxソースのdebian/modulesディレクトリに行きましょう...

 cd /usr/src/pagespeed/nginx-1.4.4/debian/modules 

...そしてPageSpeedソースをダウンロードします(このページで最新リリースを確認できます:https://github.com/pagespeed/ngx_pagespeed/releases-この例では、バージョンは1.7.30.3-betaです。バージョンが異なる場合、このチュートリアルの残りの部分で必ず置き換えてください):

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

>

debian / rulesファイルを編集しましょう:

 vi /usr/src/pagespeed/nginx-1.4.4/debian/rules 

そのファイルには、4つのconfig.statusセクション(config.status.full、config.status.light、config.status.extras、config.status.naxsi)があります。 $(CONFIGURE_OPTS)> [email protected]行の直前に、-add-module =$(MODULESDIR)/ngx_pagespeed-release-1.7.30.3-beta\という行をそれぞれに追加します。例:次のように:

 [...] config.status.full:config.env.full cd $(BUILDDIR_full)&&CFLAGS ="$(CFLAGS)" CORE_LINK ="$(LDFLAGS)" ./configure \ --prefix =/ usr / share / nginx \ --conf-path =/ etc / nginx / nginx.conf \ --error-log-path =/ var / log / nginx / error.log \ --http-client-body-temp-path =/ var / lib / nginx / body \ --http-fastcgi-temp-path =/ var / lib / nginx / fastcgi \ --http- log-path =/ var / log / nginx / access.log \ --http-proxy-temp-path =/ var / lib / nginx / proxy \ --http-scgi-temp-path =/ var / lib / nginx / scgi \ --http-uwsgi-temp-path =/ var / lib / nginx / uwsgi \ --lock-path =/var/lock/nginx.lock \ --pid-path =/ run / nginx.pid \ --with-pcre-jit \ --with-debug \ --with-http_addition_module \ --with-http_dav_module \ --with-http_geoip_module \ --with-http_gzip_static_module \ --with-http_image_filter_module \ --with-http_realip_module \ --with-http_spdy_module \ --with-http_stub_status_module \ --with-http_ssl_module \ --with-http_sub_module \ --with-http_xslt_module \ --with-ipv6 \ --with-mail \- with-mail_ssl_module \ --add-module =$(MODULESDIR)/ nginx-auth-pam \ --add-module =$(MODULESDIR)/ nginx-dav-ext-module \ --add-module =$(MODULESDIR) / nginx-echo \ --add-module =$(MODULESDIR)/ nginx-upstream-fair \ --add-module =$(MODULESDIR)/ ngx_http_substitutions_filter_module \ --add-module =$(MODULESDIR)/ ngx_pagespeed-release- 1.7.30.3-beta \ $(CONFIGURE_OPTS)> [email protected] touch [email protected] [...] 

それでは、新しいnginxパッケージを作成しましょう:

 cd /usr/src/pagespeed/nginx-1.4.4/ &&dpkg-buildpackage -b 

その後、生成されたパッケージを見てみましょう:

cd / usr / src / pagespeed
ls -l <​​/ P>

[メールで保護]:/ usr / src / pagespeed#ls -l <​​br /> total 67260
drwxr-xr-x 10 root root 4096 Feb 5 13:18 nginx-1.4.4
-rw -r--r-- 1 root root 67132 Feb 5 13:18 nginx_1.4.4-4_all.deb
-rw-r--r-- 1 root root 4749 Feb 5 13:19 nginx_1.4.4-4_amd64 .changes
-rw-r--r-- 1 root root 1568452 Jan 7 19:22 nginx_1.4.4-4.debian.tar.gz
-rw-r--r-- 1 root root 2171 Jan 7 19:22 nginx_1.4.4-4.dsc
-rw-r--r-- 1 root root 768217 Nov 21 16:28 nginx_1.4.4.orig.tar.gz
- rw-r--r-- 1 root root 79288 Feb 5 13:18 nginx-common_1.4.4-4_all.deb
-rw-r--r-- 1 root root 78448 Feb 5 13:18 nginx- doc_1.4.4-4_all.deb
-rw-r--r-- 1 root root 2520834 Feb 5 13:19 nginx-extras_1.4.4-4_amd64.deb
-rw-r--r- -1 root root 25480472 Feb 5 13:19 nginx-extras-dbg_1.4.4-4_amd64.deb
-rw-r--r-- 1 root root 2372314 Feb 5 13:18 nginx-full_1.4.4-4_amd64 .deb
-rw-r--r-- 1 root root 23850670 Feb 5 13:19 nginx-full-dbg_1.4.4-4_amd64.deb
-rw-r-- r-- 1 root root 2349992 Feb 5 13:19 nginx-light_1.4.4-4_amd64.deb
-rw-r--r-- 1 root root 3416998 Feb 5 13:19 nginx-light-dbg_1.4.4 -4_amd64.deb
-rw-r--r-- 1 root root 2384044 Feb 5 13:19 nginx-naxsi_1.4.4-4_amd64.deb
-rw-r--r-- 1 root root 3581602 Feb 5 13:19 nginx-naxsi-dbg_1.4.4-4_amd64.deb
-rw-r--r-- 1 root root 309478 Feb 513:18nginx-naxsi-ui_1.4.4-4_all。 deb
[メール保護]:/ usr / src / pagespeed#

次のように、PageSpeedをサポートするnginxをインストールできるようになりました。

 dpkg --install nginx-common_1.4.4-4_all.deb nginx_1.4.4-4_all.deb nginx-full_1.4.4-4_amd64.deb 
 /etc/init.d/nginx restart 

PageSpeedモジュールが正常に構築されたかどうかを確認しましょう:

 nginx -V 

出力にngx_pagespeedモジュールが表示されます:

[メールで保護]:/ usr / src / pagespeed#nginx -V
nginxバージョン:nginx / 1.4.4
TLS SNIサポートが有効
引数を設定:-prefix =/ usr / share / nginx --conf-path =/ etc / nginx / nginx.conf --error-log-path =/ var / log / nginx / error.log --http-client-body-temp-path =/ var / lib / nginx / body --http-fastcgi-temp-path =/ var / lib / nginx / fastcgi --http-log-path =/ var / log / nginx / access.log --http-proxy-temp-path =/ var / lib / nginx / proxy --http-scgi-temp-path =/ var / lib / nginx / scgi --http-uwsgi-temp-path =/ var / lib / nginx / uwsgi --lock-path =/var/lock/nginx.lock --pid-path =/ run / nginx.pid --with-pcre-jit --with-debug --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with -http_gzip_static_module --with-http_image_filter_module --with-http_realip_module --with-http_spdy_module --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --with-http_xslt_module --with-ipv6 --with-mail --with -mail_ssl_module --add-module =/ usr / src / pagespeed / nginx-1.4.4 / debian / modules / nginx-auth -pam --add-module =/ usr / src / pagespeed / nginx-1.4.4 / debian / modules / nginx-dav-ext-module --add-module =/ usr / src / pagespeed / nginx-1.4.4 / debian / modules / nginx-echo --add-module =/ usr / src / pagespeed / nginx-1.4.4 / debian / modules / nginx-upstream-fair --add-module =/ usr / src / pagespeed / nginx -1.4.4 / debian / modules / ngx_http_substitutions_filter_module --add-module =/ usr / src / pagespeed / nginx-1.4.4 / debian / modules / ngx_pagespeed-release-1.7.30.3-beta
[メール保護] :/ usr / src / pagespeed#

2PageSpeedの構成

PageSpeedを有効にするには、/ etc / nginx / nginx.conf ...

を開きます。
 vi /etc/nginx/nginx.conf 

...そしてページスピードの行を追加します。およびpagespeedFileCachePath/ var / ngx_pagespeed_cache; vhostsの前:

 [...] pagespeed on; pagespeed FileCachePath / var / ngx_pagespeed_cache; ###仮想ホスト構成## include /etc/nginx/conf.d/*.conf;インクルード/etc/ nginx / sites-enabled / *; [...] 

キャッシュディレクトリを作成し、nginxをリロードします:

mkdir / var / ngx_pagespeed_cache
chown -R www-data:www-data / var / ngx_pagespeed_cache

/etc/init.d/nginxリロード

ページを読み込んで、PageSpeedが出力に記載されているかどうかを確認しましょう:

 curl -I -p http:// localhost | grep X-Page-Speed 

[メールで保護]:/ usr / src / pagespeed#curl -I -p http:// localhost | grep X-Page-Speed
%合計%受信%Xferd平均速度時間時間時間現在
アップロード合計使用済み左速度
00 0 0 0 0-:-:--:-:---:-:-ページ0
X速度:1.7.30.3-3721
[メール保護]:/ usr / src / pagespeed#

これで、PageSpeedを個別に構成することも、各仮想ホストを構成することもできます。このように:

 vi /etc/nginx/sites-available/example.com.vhost 
 server {[...]#PageSpeedを超高速のmemcached pagespeed MemcachedThreads 1に保存して、PageSpeedを高速化しましょう。 pagespeed MemcachedServers "localhost:11211"; #フィルター設定pagespeed RewriteLevel CoreFilters; pagespeed EnableFilterscollapse_whitespace、remove_comments; #pagespeedに最適化されたリソースのリクエストがpag​​espeedハンドラーに送られ、余分なヘッダーが設定されていないことを確認します。 location〜 "\ .pagespeed \。([a-z] \。)?[a-z]{2}\。[^。]{10}\。[^。]+"{add_header "" ""; } location〜 "^ / ngx_pagespeed_static /" {} location〜 "^ / ngx_pagespeed_beacon $" {} location / ngx_pagespeed_statistics {allow 127.0.0.1;すべてを拒否します。 } location / ngx_pagespeed_global_statistics {allow 127.0.0.1;すべてを拒否します。 } location / ngx_pagespeed_message {allow 127.0.0.1;すべてを拒否します。 } location / pagespeed_console {allow 127.0.0.1;すべてを拒否します。 } [...]} 

重要な行は、適用するフィルターをPageSpeedに指示するpagespeedEnableFilters行です。すべてのフィルターのリストはここにあります:http://ngxpagespeed.com/ngx_pagespeed_example/

後でnginxを再起動することを忘れないでください:

/etc/init.d/nginxリロード

ここでページを開いてヘッダーを確認すると(たとえば、FireFoxのLive HTTPヘッダーアドオンを使用して)、x-page-speedの行が表示されます。

ページのHTMLソースをチェックして、PageSpeedフィルターが期待どおりに機能するかどうかを確認できます。

  • Google Developersブログ:http://googledevelopers.blogspot.nl/2013/04/speed-up-your-sites-with-pagespeed-for.html
  • ngx_pagespeed:https://developers.google.com/speed/pagespeed/ngx
  • PageSpeedの構築/使用:https://github.com/pagespeed/ngx_pagespeed
  • ngx_pagespeedフィルターの例:http://ngxpagespeed.com/ngx_pagespeed_example/

著者について

FalkoTimmeはの所有者 Timme Hosting(超高速nginx Webホスティング)。彼はHowtoForge(2005年以降)の主任メンテナーであり、ISPConfig(2000年以降)のコア開発者の1人です。彼はまた、O'Reillyの本「LinuxSystemAdministration」にも寄稿しています。


Debian
  1. CentOS7にngx_pagespeedを使用してNginxをインストールします

  2. Debian 8(Jessie)でGooglePageSpeedモジュールを使用してnginxを構築する方法

  3. Debian 8でMySQLを使用してマスターマスターレプリケーションを設定する(Jessie)

  1. Debian8にNginxを使用してHabariをインストールする

  2. Debian8VPSにNginxを使用してPloneをインストールする

  3. Debian11にNginxを使用してWonderCMSをインストールする方法

  1. Debian 8(Jessie)にLighttpdを使用してWebDAVをインストールする方法

  2. Debian 8にNginxをインストールする方法(Jessie)

  3. Debian8Jessieでapt-getを使用してMySQLv5.7をインストールする方法