複数サーバー安定化に忘れてはいけない
一番の不安定原因は,cache pluginのコンフリクトが考えられる.その他,portal serverの設定がある.
redisと一般的なwordpressのcache pluginはキャッシャ層が異なる.レスポンス速度を高めるために一般的なキャッシュ(表示系)とredisを導入しているので,以下の事項について注意して進める必要があった.
一般的なキャッシュプラグイン
サイト構築の設定過程では,個々のwordpressのcache pluginの挙動を意識して進める必要がある.また,作業中はcache pluginは無効にしておくか,そうでない場合は適時キャッシュをflushする.
設定が完了してから無効化していたcache pluginを有効化する.
redis関連 pluginの設定
以下に解説しているweb stationでPortal Serverを同時にenableにする場合には注意が必要である.
先ず問題だった点は、
今回の場合,Redis Serverを複数のwordpressを導入した1つの同じNAS内にcontainer managerでコンテナ構築(host)し,更に、個々のwordpressでは、それぞれredis object server pluginをインストールしていた.このpluginでの設定ではdefaultのredis 用のDBの番号は「0」となっていたため、複数のportal(web url)をenableにした途端にredisのキャッシャでコンフリクトを起こした.
対処:
redis serverに関わる以下のコードをwp-config.phpに追記する.
note :
1. <0,1,2・・・15>には,複数サイトと重複しない一意である1つの数.
2. <site name>には,接頭語として分かるワードであれば良い(harikiri).
3. この時点で残っている設定は、DB関連(wp_config.php, data baseの複製または新規作成)
4. WordPressでinstallしているRedis Serverには、「Redis Object +Cache」などがある。
更に必要な作業
default serverの設定
Web Protalで複数のweb serverを安定的に稼働させるために,default serverの設定をいじる必要がある.なぜなら,Multi Domain Web Serverを構築する前の状態はSingle Web Server (既存)が稼働するのみであり,それはdefault serverが担っていたため.
今回の作業過程では,既存のweb serverを新しくportal server (以降で説明)として設定 (既存のurl:harikirii.diskstation.me)したため,既存のurlであったdefault server (url: 同じ)が起動すると,この同じurlに対して異なるservice (script languageを含む)が割り当てられることになるため,コンフリクトを生じる可能性が考えられた.
そこで,以下の手順により,default serverに対して適切な設定が可能になるようservice設定をいじった.この設定を完了させてから,複数(現在3つ)あるportal(web server)がレスポンスを失う自体にはなっていない(2025/06/20).
設定 :
図5. Default serverのdisable/enableはできない(仕様)
図6. Service設定画面
Portal Serverに関する設定
今回の作業では,既存のwebサイト(harikiri.diskstation.me)は,Default serverで管理されていた(そのはずな)ので,専用のportalはリスト(登録)されていなかった.
そこで,harikiri.diskstation.me用に上記の作業でWeb Portalを作成した.その際,/web/<site A用のfolfer>のフォルダ構造と,harikiri.diskstation.me/<site A>というurl構造が不整合となりブラウザでの表示が出来なくなった(エラー500, 404).
修正作業は,以降に述べているように「wp-config.php」の修正,DBの複製と修正,及び「.htaccess」の修正が必要.
以下詳細を示す.
File Stationでの作業
(1) DSM->File Stationで既存のwordpressフォルダーの複製
(2) .htaccessの修正
以下のコードでにおいて “/” が,”/<site A/Bのfolder name>”になっているとブラウザ表示できないので,以下のコードに置き換える.
(3) wp-config.phpの修正
MariaDB10のデータベース(DB)は,2つ目のuser2で別DBを作成し,exportしたuser1のDBをuser2のDBにimportされていることを前提にしている.
/volume1/web/<site A filder name>/wp-config.php に以下の2行を require_once より前 (強制)に追加:
これらの環境変数は,DBのwp_optionsのsiteurlとhomeより優先する(by 4o).DBで設定しているなら必要ない.
(4) robots.txtの修正
robots.txt (小文字)についてもサイトに合わせて修正してください.
Control Panelでの作業
Login Portal -> Advanced -> Access Control Profileでprofile作成画面を開き当該profilelを作成する.
access control profileは,web stationの設定で使用する.Web Stationの設定が完了後,後から当該profileを作成・設定も可能.
機能: