CentOS 7にNgx_pagespeedを使用してNginxをインストールする

前書き

Ngx-pagespeedは、サイトを高速化し、ページの読み込み時間を短縮するオープンソースのNginxモジュールです。これは、待ち時間と帯域幅を削減するためにWebページを書き換えることで実現します。Ngx-pagespeedは、css、html、png、jpgなどのさまざまなファイルを最適化するために使用される多くの最適化フィルターも提供します。

前提条件

  • CentOS 7を実行する新しくデプロイされたVultrインスタンス。
  • sudoのユーザー

ステップ1:システムを更新する

CentOSサーバーインスタンスにパッケージをインストールする前に、システムを更新することをお勧めします。sudoユーザーを使用してログインし、次のコマンドを実行してシステムを更新します。

sudo yum -y update  
sudo reboot

システムが再起動したら、sudoユーザーとして再度ログインし、次の手順に進みます。

ステップ2:依存関係をダウンロードする

ngx-pagespeedでNginxをインストールするには、ソースからNginxをコンパイルする必要があります。そのためには、次のコマンドを実行してソフトウェアをダウンロードする必要があります。

sudo yum -y install gcc-c++ pcre-devel zlib-devel make unzip

次に、Nginxとngx-pagespeedのソースコードをダウンロードする必要があります。執筆時点では、最新の安定バージョンはNginx 1.12.0で、最新のngx-pagespeedバージョンは1.12.34.2です。

NPS_VERSION=1.12.34.2
NGINX_VERSION=1.12.0
wget http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz
wget https://github.com/pagespeed/ngx_pagespeed/archive/v${NPS_VERSION}-beta.zip

ダウンロードしたパッケージを解凍します。

tar -xvzf nginx-${NGINX_VERSION}.tar.gz
unzip v${NPS_VERSION}-beta.zip

ステップ3:PageSpeed最適化ライブラリをダウンロードする

Nginxをコンパイルするには、PageSpeed最適化ライブラリ(psol)が必要です。次のコマンドを使用して、ngx-pagespeedソースディレクトリにそれらをダウンロードして抽出します。

cd ngx_pagespeed-${NPS_VERSION}-beta
psol_url=https://dl.google.com/dl/page-speed/psol/${NPS_VERSION}.tar.gz
[ -e scripts/format_binary_url.sh ] && psol_url=$(scripts/format_binary_url.sh PSOL_BINARY_URL)
wget ${psol_url}
tar -xzvf $(basename ${psol_url})
cd ..

ステップ4:Nginxを構成してコンパイルする

Nginxソースをpagespeedモジュールでコンパイルできるようになりました。Nginxソースディレクトリに移動します。

cd nginx-${NGINX_VERSION}

次のコマンドでソースを構成します。

./configure --add-module=$HOME/ngx_pagespeed-${NPS_VERSION}-beta --user=nobody --group=nobody --pid-path=/var/run/nginx.pid ${PS_NGX_EXTRA_FLAGS}

構成が完了したら、次のコマンドでNginxをコンパイルします。

sudo make

これには数分かかる場合があります。その後、次のコマンドを使用してソフトウェアをインストールできます。

sudo make install

Nginxがディレクトリにインストールされました/usr/local/nginx。便宜上、次のシンボリックリンクを作成できます。

sudo ln -s /usr/local/nginx/conf/ /etc/nginx
sudo ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx

ステップ5:起動スクリプトを作成する

Nginxを停止および開始できるようにするには、手動で起動スクリプトを作成する必要があります。このためのテンプレートはNginxによってここに提供されています。テンプレートのコンテンツをコピーし、/etc/init.d/nginxnanoなどのテキストエディタを使用してファイルに挿入します。また、ファイルに適切な権限を設定します。

sudo nano /etc/init.d/nginx
sudo chmod +x /etc/init.d/nginx

次のコマンドで、起動してデフォルトのランレベルに追加できます(インスタンスとともにNginxが起動および停止します)。

sudo service nginx start
sudo systemctl enable nginx

ステップ6:ngx_pagespeedを有効にする

ngx-pagespeedを有効にするには、まずキャッシュディレクトリを作成し、その所有権をNginxに割り当てます。

sudo mkdir -p /var/ngx_pagespeed_cache
sudo chown -R nobody:nobody /var/ngx_pagespeed_cache

/etc/nginx/nginx.confファイルを開きます。

sudo nano /etc/nginx/nginx.conf

そして、サーバーブロック内に次の行を追加します。

##
# Pagespeed main settings

pagespeed on;
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 ~ "^/ngx_pagespeed_static/" { }
location ~ "^/ngx_pagespeed_beacon" { }

最後に、変更を有効にするためにNginxを再起動します。

sudo systemctl restart nginx

ステップ6:テスト

ngx-pagespeedがサーバーに正しくインストールされているかどうかを確認するには、次のコマンドを実行します。

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

outpoutは次のようになります。

X-Page-Speed: 1.12.34.2-0

Ngx-pagespeedがサーバーにインストールされました。この出力が得られない場合は、前に説明したようにngx-pagespeedが有効になっていることを確認してください。



Leave a Comment

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。