PSGI や FastCGI の動作モデルで運用する場合に必要な設定はありますか?
環境設定ファイル (mt-config.cgi) で CMS の環境変数の設定が必要です。
PSGI で運用する場合
環境変数 PIDFilePath を設定してください。
PIDFilePath /var/run/mt.pid
PIDFilePath には PSGI サーバーのプロセス ID が記載されたファイルを指定します。 例えば Starman をご利用の場合には --pid オプションで指定するパスに合わせます。
$ starman --pid /var/run/mt.pid ./mt.psgi
FastCGI で運用する場合
環境変数 IsFastCGI を設定してください。
IsFastCGI 1
Microsoft IIS で FastCGI を利用する場合
環境変数 IsFastCGI と IISFastCGIMonitoringFilePath を設定してください。
IsFastCGI 1
IISFastCGIMonitoringFilePath c:\path\to\mt.pid
IISFastCGIMonitoringFilePath には Microsoft IIS の設定の [FastCGI] のプロパティ、[ファイルへの変更の監視] へ指定したファイルのパスを指定します。
PSGI および FastCGI のプロセスと PID ファイル
PowerCMS を PSGI アプリケーションとして動作させる場合、プラグインの追加や削除をしたり、環境設定ファイルで環境変数の追加や変更したりと「アプリケーションディレクトリの配下でファイルの変更を伴う操作」をしたときや、カスタムフィールドを追加・削除したときには、併せて PSGI サーバーの子プロセス (ワーカー) を再起動し、アプリケーション全体に変更を反映する必要があります。 シェルからのコマンド操作でも子プロセスの再起動は可能ですが、ユーザーの管理画面操作などによって PowerCMS が自らこの再起動を行うとき、PowerCMS は環境変数 PIDFilePath の有無で自身が PSGI 動作なのかどうかを判断し、この変数のファイルを頼りにして子プロセスの再起動を行います。
Microsoft IIS で FastCGI を利用する場合も同様で、IISFastCGIMonitoringFilePath へファイルのパスを指定します。 指定するファイルは Microsoft IIS の設定、「FastCGI」の「ファイルへの変更の監視」へ指定したファイルのパスを指定します。
PowerCMS に設定が行われていない場合
これらの設定が行われていない場合、PowerCMS は正しく動作しなくなり、複数の問題が不定期に発生します。以下は発生する問題の一部です。
- 再構築を開始すると、利用できるはずなのに「■■タグが見つかりません」というエラーが発生する
- 設定を変更しても画面上に反映されない (データベースの値は更新されている)
- ファイルごと完全に削除したはずのプラグインが管理画面上では有効なまま、動作している
- ファイルを配置したプラグインがプラグイン設定画面の一覧に表示されず、動作しない
- ユーザーの言語設定を変更していないのに、画面遷移を行うとメニュー項目などのラベルが日本語や英語などに変化する
- エラーが発生して原因を対策した後も、エラーが解消しない