SnapupのステージングサーバーはWebサーバーにApacheを利用しています。
そのためNginxのWebサーバーからのスナップショットの取得やリリース時には別途対応が必要になる場合がございます。
■Nginxの本番サーバーから取得したスナップショットをステージングサーバーで動かす場合
想定しうる差異
- .htaccess(Apacheで利用)が効かない
- Nginxではconfファイルに記載するため、下層ディレクトリ毎に設定できる.htaccessを利用することができません。
対応策
Apache上で動くWordPressでは、リダイレクト(転送)処理を.htaccessに記載して実現しています。
本番サーバーがNginxであったとしても、WordPressが自動的に.htaccessを作成・編集する機能を備えているため、ほとんどの場合で問題なくステージングサーバーにスナップショットをセットして利用することができます。
TOPページは見れても、記事をクリックしてもみれない場合は、リダイレクト(転送)処理が正常に行われていないケースです。
スナップショットをセットしたステージングサーバで管理画面にログインし、パーマリンクを再度設定してください。
WordPressパーマリンク設定:[プレビューサーバーURL]/wp-admin/options-permalink.php
■ステージングサーバーや、Apacheのサーバーから取得したスナップショットを、Nginxの本番サーバーにリリースする場合
Nginxの本番サーバーから取得したスナップショットをそのまま同じサーバーにリリースする場合は、ほとんどの場合問題ありませんが、以下のケースでは設定が必要な可能性があります。
- 本番サーバーでは設定してなかったパーマリンク設定をステージングサーバーなどで変えた場合
- 本番サーバーとは異なるNginxを利用したサーバーにリリースする場合
対応策
Nginxの設定ファイルに、WordPressのリダイレクト設定を書く必要があります。以下に一例としてサンプルを掲載しますが、お客様自身の環境や意図する動作にあわせて設定内容は異なりますので、自己責任にてご参考ください。
nginxの設定例
server {
listen 80;
server_name universions.com;
root /var/www/wordpress;
index index.php
charset utf-8;
location / {
try_files $uri $uri/ @wordpress;
}
location ~ \.php$ {
try_files $uri @wordpress;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME /var/www/wordpress$fastcgi_script_name;
include fastcgi_params;
}
location @wordpress {
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME /var/www/wordpress/index.php;
include fastcgi_params;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
以下の部分がWordPress用のリダイレクト設定です。
location / {
try_files $uri $uri/ @wordpress;
}
コメント
0件のコメント
サインインしてコメントを残してください。