nginx環境へWordPressをインストールする時の注意点。パーマリンクの設定に気を付ける。

nginx-wp-inst-top
今までの記事でウェブサーバーであるnginx(エンジンエックス)の導入や関連する設定について紹介してきました。今回の記事ではnginxの環境へWordPressを導入する場合の手順を紹介します。基本的には以前に紹介したApache環境向けの記事
>「CentOSのサーバーへWordPressをインストール。WordPressを理解するにはインストールからがお勧め。」
とほぼ同じですが、一部、注意が必要な設定があります。本記事では、その注意点について設定手順を紹介していきます。
尚、WordPressの導入に必要なデータベースの導入については、以前の記事
>「データベース MariaDB 10系(mysql)をインストール、最短でデータベースを利用する。」
で紹介した手順で導入を行ってください。データベースについてはウェブサーバーがApacheでもnginxでも手順は同じです。

スポンサーリンク

昨今では、WordPressは、そのパフォーマンスの高さからApacheではなくnginxで動作させる場合も多いようです。
WordPressがどのようにしてインストールされているかを理解することで、導入手順を理解することができ、カスタイマイズなどにも理解が進むと思っています。是非、本記事を参考にnginx環境でWordPressをインストールしてみて下さい。

1.WordPressをインストールする環境

WordPressをインストールする環境はnginxへSSLを設定した記事
>「CentOS 7のnginxでSSLを設定。Let’s Encryptで安全なウェブサイトを構築する。」
で紹介していますが、確認の意味で再度纏めておきます。基本的な環境は以下の通りです。

  • OSのバージョンはCentOSで最新のバージョン7.5を利用しています。(2016年7月現在)
  • ウェブサーバーとしてnginx1.15.0がインストールされています。(2018年7月現在、mainline最新版)
  • nginxは基本的な設定が完了して、バーチャルホストが二つ設定されています。
  • バーチャルホストは”www.testdom.com”と”www.testdom2.com”になります。
  • phpとphp-fpmの7.2系がインストールされて、テスト用のphpinfoが表示されています。
  • Let’s Encrypytを利用してHTTPS通信の機能を有効化しています。
  • サーバーはインターネットへ接続されており、グローバルIPアドレスが一つ、割り当てられています。
  • ファイアウォールとしてfirewalldを設定しています。

この環境を前提にWordPressのインストールを進めていきます。インストールするWordPressは2018年7月時点で最新のバージョンである4.9.7を利用します。

スポンサーリンク

2.WordPressカスタムパーマリンク用の設定

nginx環境のWordPressの場合、パーマリンクの設定(ここではパーマリンクの説明については割愛します。)を基本から、異なるものへ変更した場合、以下のように404エラーでアクセスできなくなります。
nginx-wp-404
例えばカテゴリーやアーカイブ、記事の本体などが対象となります。トップページは正常に表示できますので、一見、問題が無いように見えますが、記事の本文へアクセスすると404エラーになります。
このエラーを回避するためにバーチャルホスト用の設定ファイルに設定を追加します。尚、この設定についてはパーマリンクの設定によっては変更する必要があります。ここではパーマリンクの設定として「投稿名」、「日付と投稿名」で問題がないことを確認しています。
nginx-wp-404-2-1
パーマリンクに対応するために設定が必要なファイルは”/etc/nginx/sites-available”ディレクトリに含まれるバーチャルホスト用の設定ファイル”ドメイン名”.confになります。以下が現状のディレクトリとファイルの構成です。

上記ディレクトリツリー上の”sites-available”ディレクトリに含まれる設定ファイル”www.testdom.com.conf”と”www.testdom2.com.conf”が設定の対象です。本設定は”www.testdom.com.conf”のみに行います。他のバーチャルホストにもWordPressを導入する場合は、バーチャルホストの設定ファイル毎に、同じ設定が必要になることをご留意ください。

2-1.www.testdom.com.conf設定ファイルのバックアップ

パーマリンクに関する設定はバーチャルホスト用設定ファイルであるwww.testdom.com.confに行います。先ずはこのファイルをバックアップします。
以下の手順でコピーを行います。

コピーされたバックアップファイルが存在することを確認します。

コピーしたファイル”www.testdom.com.conf.org”があることが確認できました。

2-2.www.testdom.com.conf 設定ファイルの編集

ファイルのバックアップが完了しましたので”www.testdom.com.conf”を編集していきます。SSLの設定までが完了している、変更前の設定ファイルの内容は以下のようになります。

上記の記載内容で、変更が必要な部分は、一番上のlocationディレクティブになります。

このlocationディレクティブに、以下の”try_files”設定を追加します。

本設定は要求されたURIにファイルかディレクトリが存在するかチェックして、存在しない場合は、index.php へリダイレクトするという設定です。
設定後のlocationディレクティブは以下のようになります。

設定が完了したらファイルを保存します。変更後の設定ファイル全体は以下のようになります。

これで設定ファイルの変更は完了です。

2-3.設定ファイルの確認

設定ファイルの作成と配置が完了したら、間違いや問題がないかを確認します。nginxに”-t”オプションを付けて実行することで設定ファイルの間違いをチェックできます。設定変更後には実行することをお勧めします。
以下のように実行します。

上記のように、”test is successful”と表示されていればファイルには問題ありません。

2-4.設定の有効化

設定ファイルの変更を行った場合には、ファイル再読み込みとして、nginxの再起動が必要になります。systemctlコマンドでnginxを再起動します。

エラーが出力されなければ、正常に再起動は完了しています。これで設定の有効化は完了です。
これ以降のWordPress導入については、Apache環境と同じになりますので、記事
>「CentOSのサーバーへWordPressをインストール。WordPressを理解するにはインストールからがお勧め。」
を参照頂いて、同じように作業を進めて下さい。

3.まとめ

WordPressをnginxで導入する場合は、キャッシュの利用も含めて、幾つかの注意点が必要になります。設定はApacheより分かり難い点がありますが、nginxによるウェブサイトの高速化は魅力的です。
今後はWordPressを高速化させるためのFastCGIキャッシュの設定手順や、キャッシュの削除するためのモジュールの導入方法など、WordPressを運用する上で便利だと思われる記事を予定しています。
nginxをご利用の方は是非、更新を楽しみにして下さい。

関連する記事


Facebookでのご購読が便利です。

Twitter・Feedlyでもご購読できます。

Twitterでフォローする Feedlyでフォローする

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  • スポンサーリンク