データはどのように引っ越されたのでしょうか。
とりあえずは設定のパーマネント設定を見直し、問題なかったとしても「更新」ボタンで更新してみてはどうでしょうか。
また、たとえば、MAMPやXAMPPなどを使ってPCのローカル環境に Apacheやnginxサーバーを立ち上げて
Apacheへ移行して問題なければ、nginxの設定に何か問題があるということになります。
ご返信いただきましてありがとうございます。
>データはどのように引っ越されたのでしょうか。
Apache環境でwp-contentを圧縮しました。
nginxの新サーバーでは真っさらのワードプレスをインストールし、
wp-contentだけ上書きしました。
Mysqlに関しては、phpmyadminにてインポートしました。
表示の段階ではおかしい点は無いように思います。
>とりあえずは設定のパーマネント設定を見直し、問題なかったとしても「更新」ボタンで更新してみてはどうでしょうか。
ありがとうございます、行いました。
>また、たとえば、MAMPやXAMPPなどを使ってPCのローカル環境に Apacheやnginxサーバーを立ち上げて
>Apacheへ移行して問題なければ、nginxの設定に何か問題があるということになります。
これは行ってみたのですが、MAMPのApacheに移行しても動きました。
その後2つおかしい挙動を発見しました。
記事更新後、新規追加ボタン押下し、あらたに記事を編集し公開ボタンを押すと
1つ目の記事のURLとなります。
URLの推移としては
http://▲▲.com/wp-admin/post-new.php 記事編集後更新ボタン押下
http://▲▲.com/wp-admin/post.php?post=◯◯&action=edit 発行され更新される そのままの画面で新規追加ボタン押下
http://▲▲.com/wp-admin/post-new.php 真っ白の画面が表示され、記事編集後更新ボタン押下
http://▲▲.com/wp-admin/post.php?post=◯◯&action=edit 発行され更新されるも一つ前のpostIDで表示される(上書きされる)
2つ目のおかしい挙動は
Nginx Cache Controllerプラグインを使っているのですが、それの設定保存ボタン押下後、
画面上部に
Warning: Cannot modify header information – headers already sent by (output started at /var/www/vhosts/▲▲.com/httpdocs/wp-includes/formatting.php:5011) in /var/www/vhosts/▲▲.com/httpdocs/wp-includes/pluggable.php on line 1174
しかしこの絶対パスが前のサーバーのパスを引き継いでおります。
現在のパスはvhostの階層がありません。この2つの問題が結びつかず苦悩しております。
何か思い当たる点をご指摘頂けると幸いです。
宜しくお願い致します。
URLもフォルダ構成も移行前と移行後で同じということでしょうか。
MAMPのApacheでは動作したということですので、MAMPのnginx環境ではどうでしょうか。
MAMPは設定でnginxに切り替える事ができます。
あとは
– http://server-setting.info/centos/nginx-wordpress-check-point.html
あたりを参考に nginxにて WordPressをつかう際の注意点を確認してみることかなと思います。
結構癖ありますからね、nginx…速いですけど。
>URLもフォルダ構成も移行前と移行後で同じということでしょうか。
はい、そうです。
>MAMPのApacheでは動作したということですので、MAMPのnginx環境ではどうでしょうか。
>MAMPは設定でnginxに切り替える事ができます。
これも問題ありませんでした。
今までのMysql関連の謎挙動は一部解決致しました。
DNSに問題が有りました。
サーバー引っ越しとともにドメインの管理者移管も行ったのですが、旧サーバーのMysqlに保存したかった記事が記録されておりました。サーバー会社に問い合わせたところ、ipの飛び先が不安定だったようです。
記事の新規追加をする度に、スーパーリロードしてブラウザキャッシュを一旦リセットしないと
ひとつ前の記事(postテーブル上に記録されている最新の記事)が上書きされてしまうという問題が有ります。
タイトルと本文を埋めた時点でパーマリンクが表示されます。それがひとつ前のIDなのです。
画像がうまく表示できなかった時のためのリンク1 2
キャッシュに問題があるかと考え
>– http://server-setting.info/centos/nginx-wordpress-check-point.html
>あたりを参考に nginxにて WordPressをつかう際の注意点を確認してみることかなと思います。
コレを参考にwp-admin以下はキャッシュしないと設定したのですが、上手く行きません。
そもそもサーバー側の静的なキャッシュですよね。。。
nginxでクライアント側のキャッシュの設定方法がわからず手間取っています。
何度も申し訳ございませんが、nginxでクライアント側のキャッシュの設定は可能でしょうか?
そもそも、この問題の切り分けはあっていますでしょうか?
何か思い当たる点をご指摘頂けると幸いです。
以上、宜しくお願い致します。
お示しされた画像が表示されないのでなんともですが、
nginxをどのような構成にされているのでしょうか。
キャッシュも含めての構成です。
キャッシュが毎回クリアされない場合で、リバースプロキシなどを使っているのなら
nginx cache controller などが有用です。
参考:https://ja.amimoto-ami.com/2013/12/03/how-to-use-nginx-cache-controller/
ただ記事が上書きされてしまうという状況は変ですね。
MAMP等のnginxでは問題ないことから、nginxの設定のどこかがおかしいのだろうと思います。
http://qiita.com/egnr-in-6matroom/items/a08f4851bf16d0131e60
あたりにパーマネントリンクをnginxで扱う際の注意なども書かれているので参考にしてみてはと思います。
>nginxをどのような構成にされているのでしょうか。
>キャッシュも含めての構成です。
もういちど見なおしてみます。
>キャッシュが毎回クリアされない場合で、リバースプロキシなどを使っているのなら
>nginx cache controller などが有用です。
nginx cache controllerは現在使っており、記事公開につき全部のキャッシュをクリアにしており、
ユーザーから見える面は全て正常にクリアされております。
>MAMP等のnginxでは問題ないことから、nginxの設定のどこかがおかしいのだろうと思います。
ご指摘いただき、ありがとうございます。
もうちょっと粘り強くやってみます。
ご返答頂きありがとうございました。
nginx cache controller を導入されているということは、リバースプロキシを使っているということですね。
http://server-setting.info/centos/apache-nginx-10-proxy.html
あたりを参考に、キャッシュをしない条件をいろいろ追加しないといけない場合もあるので、参考にしてみてはと思います。
kimipooh様色々とご指摘頂きありがとうございました。
.confのlocationディレクティブに下記内容追加で解決しました。
set $no_cache 0;
if ( $http_cookie ~ ^.*(comment_author|wordpress_logged_in|wp-postpass_).*$ ) { set $no_cache 1; }
if ( $request_uri ~ "^/wp-admin/.*" ) { set $no_cache 1; }
if ( $request_uri ~ "^/wp-content/.*" ) { set $no_cache 1; }
if ( $request_uri ~ "^/wp-include/.*" ) { set $no_cache 1; }
if ( $request_uri ~ "^/wp-cron.php.*" ) { set $no_cache
if ( $request_uri ~ "^/wp-login.php.*" ) { set $no_cache 1; }
if ( $request_method != "GET" ) { set $no_cache 1; }
proxy_no_cache $no_cache;
proxy_cache default;
proxy_cache_key "$mobile$scheme://$host$request_uri";