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

Debian11でGooglePagespeedモジュールを使用してNginxを設定する方法

Google Pagespeed Moduleは、NginxおよびApacheWebサーバーでWebサイトを最適化するためのオープンソースモジュールです。 Pagespeedモジュールは、NginxおよびApacheWebサーバーと一緒にインストールされるサーバーレベルのモジュールです。

Pagespeedモジュールは、Webサイト上の静的ファイルを最適化することにより、Webサイトのパフォーマンスと速度を向上させます。 Pagespeedモジュールは、Webサイトの画像を最適化し、HTML、CSS、JavaScriptなどの静的ファイルを縮小し、ファイルのキャッシュを最適化します。

このチュートリアルでは、最新のDebian11BullseyeでNginxPagespeedモジュールを構築する方法を紹介します。このガイドは、Nginxモジュールをビルドするだけなので、現在のNginxインストールに適用できます。

前提条件

始める前に、次の要件があることを確認してください。

  • オペレーティングシステム: Debian 11 Bullseye
  • root権限

それでは始めましょう。

パッケージの依存関係のインストール

まず、Nginxモジュールをコンパイルするためのパッケージの依存関係をインストールします。

1.以下のaptコマンドを実行して、システム上の現在のリポジトリを更新します。

sudo apt update

2.次に、 aptを使用してプログラムをコンパイルするための基本的なパッケージの依存関係をインストールします。 以下のコマンド。

sudo apt install curl dpkg-dev build-essential zlib1g-dev git libpcre3 git libpcre3-dev unzip uuid-dev -y

3.その後、Nginxモジュールをコンパイルするためのビルド依存関係をインストールします。

sudo apt build-dep nginx -y
現在のNginxバージョンの確認

カスタムNginxPagespeedモジュールをビルドするには、現在のNginxWebサーバーがNginxモジュールのビルドに使用するのと同じバージョンのNginxソースコードを保持していることを確認してください。

1。次のコマンドを実行して、Nginxのバージョンを確認します。

nginx -v

この例では、マシンにインストールされている現在のNginxバージョンは' 1.18.0 '。以下は、表示される同様の出力です。

nginx version: nginx/1.18.0

必要に応じて、システムにNginxパッケージがない場合は、以下のaptコマンドを使用して公式のDebianリポジトリからインストールしてください。

sudo apt install nginx -y

2.次に、以下のコマンドを使用して、Nginxバージョンの新しい一時環境変数を作成します。

export NG_VER=1.18.0

NginxとPagespeedのソースコードをダウンロード

このステップでは、NginxソースコードとPagespeedモジュールをサーバーにダウンロードします。このNginxソースコードは、現在のNginxパッケージと同じバージョンになります。

1.新しいプロジェクトディレクトリを作成します'/ usr / src / nginx 'そしてそれに入る。

mkdir -p /usr/src/nginx; cd /usr/src/nginx

2.次に、次のコマンドを実行して、を使用してNginxソースコードをダウンロードし、抽出します。

wget http://nginx.org/download/nginx-$NG_VER.tar.gz
tar -xzvf nginx-$NG_VER.tar.gz

3.次に、Nginx Pagespeedモジュールを現在のディレクトリに複製します。プロセスが完了すると、新しいディレクトリ「incubator-pagespeed-ngx」が表示されます。

git clone https://github.com/apache/incubator-pagespeed-ngx.git

4.' incubator-pagespeed-ngxに移動します 'ディレクトリを作成し、NginxPagespeedモジュールの安定したブランチに切り替えます。

cd incubator-pagespeed-ngx/
git checkout latest-stable

5.ファイルを確認します'PSOL_BINARY_URL 'ページ最適化ライブラリ(PSOL)のダウンロードリンクを取得します。このライブラリは、NginxPagespeedモジュールに必要です。

cat PSOL_BINARY_URL

以下のような出力が表示されます。変数'$ BIT_SIZE_NAME 'はサーバーアーキテクチャです。

wget https://dl.google.com/dl/page-speed/psol/1.13.35.2-$BIT_SIZE_NAME.tar.gz

6.次に、サーバーアーキテクチャの値を使用して新しい一時環境変数「BIT_SIZE_NAME」を作成します。以下の例では、「x64」または64ビットサーバーアーキテクチャを使用しています。

export BIT_SIZE_NAME=x64

7.次に、PSOLソースコードをダウンロードして抽出します。

wget https://dl.google.com/dl/page-speed/psol/1.13.35.2-$BIT_SIZE_NAME.tar.gz
tar -xzvf 1.13.35.2-$BIT_SIZE_NAME.tar.gz

これで、NginxPagespeedモジュールを構築する準備が整いました。

NginxPagespeedモジュールのコンパイル

このステップでは、NginxPagespeedモジュールをコンパイルします。最終的に、「 .so」の形式のNginxモジュールを取得します。 '現在のNginxWebサーバーに適用できます。

1.作業ディレクトリをNginxプロジェクトディレクトリに変更します。

cd /usr/src/nginx/nginx-$NG_VER

2.次のコマンドを実行して、Nginxモジュールのコンパイルを構成します。このコマンドは、システム要件もチェックし、エラーがないことを確認します。

./configure --with-compat --add-dynamic-module=../incubator-pagespeed-ngx

以下は、取得する必要のある出力です。

Configuration summary
  + using system PCRE library
  + OpenSSL library is not used
  + using system zlib library

  nginx path prefix: "/usr/local/nginx"
  nginx binary file: "/usr/local/nginx/sbin/nginx"
  nginx modules path: "/usr/local/nginx/modules"
  nginx configuration prefix: "/usr/local/nginx/conf"
  nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
  nginx pid file: "/usr/local/nginx/logs/nginx.pid"
  nginx error log file: "/usr/local/nginx/logs/error.log"
  nginx http access log file: "/usr/local/nginx/logs/access.log"
  nginx http client request body temporary files: "client_body_temp"
  nginx http proxy temporary files: "proxy_temp"
  nginx http fastcgi temporary files: "fastcgi_temp"
  nginx http uwsgi temporary files: "uwsgi_temp"
  nginx http scgi temporary files: "scgi_temp"

3.次に、次のコマンドを使用してNginxPagespeedモジュールをコンパイルします。

make modules

システムのCPUとメモリによっては、このコマンドには時間がかかります。

4.コンパイルプロセスが完了すると、Pagespeedモジュールは' objs / ngx_pagespeed.soとして使用できるようになります。 '。次のコマンドを使用してモジュールを確認します。

ls objs/ngx_pagespeed.so

NginxPagespeedモジュール'ngx_pagespeed.soを入手する必要があります '以下のように。

-rwxr-xr-x 1 root root 19M Dec  8 21:44 objs/ngx_pagespeed.so
現在のNginxインストールへのPagespeedモジュールの追加

このステップでは、NginxPagespeedモジュールを現在のNginxインストールに実装します。これを行うには、Pagespeedモジュール'ngx_pagespeed.so'をNginxモジュールディレクトリにコピーし、それを有効にするための新しい構成を追加します。

1.モジュール'ngx_pagespeed.soをコピーします 'デフォルトのNginxモジュールディレクトリに'/usr / share / nginx / modules '。

cp /usr/src/nginx/nginx-$NG_VER/objs/ngx_pagespeed.so /usr/share/nginx/modules

2.新しい構成ファイルを作成してPagespeeddモジュールを有効にします。

nano /usr/share/nginx/modules-available/ngx-pagespeed.conf

次の構成をコピーして貼り付けます。

load_module modules/ngx_pagespeed.so;

構成を保存して終了します。

3.シンボリックリンク構成を作成してPagespeedモジュールをアクティブ化します'ngx-pagespeed.conf 'ディレクトリに'/ etc / nginx / modules-enabled / '。

ln -s /usr/share/nginx/modules-available/ngx-pagespeed.conf /etc/nginx/modules-enabled/70-ngx-pagespeed.conf

4.次に、「 / etc / nginx」に新しい構成「pagespeed.conf」を作成します 'ディレクトリ。

nano /etc/nginx/pagespeed.conf

次の構成をコピーして貼り付けます。

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$" { }

構成を保存して終了します。

5.次に、Nginx Pagespeedキャッシュを保存するための新しいディレクトリを作成し、そのディレクトリがNginx' www-data によって書き込み可能であることを確認します。 'ユーザー。

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

これで、NginxPagespeedモジュールが現在のNginxインストールに追加されます。次の手順に進み、仮想ホスト(サーバーブロック)で有効にします。

仮想ホストにNginxPagespeedモジュールを追加する

Pagespeedモジュールを仮想ホストで有効にするには、構成' pagespeed.conf'を追加します。 'include'オプションを使用して仮想ホスト構成ファイルに追加します。

1.この例では、Pagespeedモジュールを仮想ホストに追加します'デフォルト '。構成を編集します'/etc / nginx / sites-available / default' nanoエディターを使用します。

nano /etc/nginx/sites-available/default

構成を追加します'include/etc/nginx/pagespeed.conf;'セクション内'server{...}' 以下のように。

server {

  .....
  ....

  include /etc/nginx/pagespeed.conf;
}

構成を保存して終了します。

2. Nginx構成を確認し、エラーが発生しないことを確認します。その後、Nginxサービスを再起動して、新しい構成を適用します。

nginx -t
sudo systemctl restart nginx

NginxPagespeedモジュールの確認

Nginx Pagespeedモジュールのインストールと実装を確認するには、curlコマンドを使用してNginx WebサーバーのHTTPヘッダーを取得するか、WebブラウザーでInspect要素を使用します。

1.以下のcurlコマンドを実行して、NginxWebサーバーのHTTPヘッダーを取得します。

curl -I https://domain.com/

これで、次のような出力が得られるはずです。追加のヘッダーセクション'X-Page-Speed 'は、NginxPagespeedモジュールが有効になっていることを意味します。

HTTP/1.1 200 OK
Server: nginx/1.18.0
Content-Type: text/html
Connection: keep-alive
Date: Wed, 01 Dec 2021 22:02:52 GMT
X-Page-Speed: 1.13.35.2-0
Cache-Control: max-age=0, no-cache

2. Webブラウザから確認するには、ドメイン名にアクセスしてページを右クリックし、[検査]を選択します。 'メニュー。

Webページを再度リロードすると、以下のような詳細なHTTPヘッダーが表示されます。

結論

おめでとうございます! Nginx Pagespeedモジュールをコンパイルし、現在のNginxインストールに実装する方法を学習しました。構成「pagespeed.conf」を仮想ホスト構成に含める必要があります。


Debian
  1. Ubuntu20.04でGooglePageSpeedを使用してNginxをインストールする方法

  2. Nginxを使用してDebianにGhostをインストールする方法

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

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

  2. Debian9でHTTP/2サポートを使用してNginxを設定する方法

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

  1. Debian10でUFWを使用してファイアウォールを設定する方法

  2. Debian9でUFWを使用してファイアウォールを設定する方法

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