nginx+php5-fpmで504や104のエラーが出たら・・・

504のエラーが出た場合

client—①—nginx—②—php5-fpm—③—mysql

上記の構成として、この場合、②においてnginx—>php5-fpmでphp5の処理が遅くnginxが切断してしまった。
という事なので、nginxのfastcgiのtimeout値を伸ばしてあげる必要があります。

例えば、以下のようなファイルを作成して、nginxを再起動します。

※reloadでも良いかもしれません

104のエラーが出た場合

client—①—nginx—②—php5-fpm—③—mysql

において、php5が処理時間がかかってしまって、nginx—>php5-fpmにクエリは投げられたけど、nginx< ---php5-fpmに返す際に、php5-fpmがコネクションを切っちゃったケース。

php5-fpmのプロセスが足りない場合
→ /etc/php5/fpm/pool.d/www.conf : pm.max_children = 5 や、pm.max_spare_servers = 3を増やす
※ pm = dynamicを確認

mysqlの接続数も増やす 5×3=15だったのを増やした分だけ接続できるように!

ここにイイカンジでまとまってました。

WordPressのSSL化(Nginx)

SSLの取得

無料で使えるSSLで、sslの証明書を取得しましょう!
やり方は、この方の記事が大変わかりやすいです。→ StartSSLの無料サーバー証明書を使う

概要

http:// でも https:// でもアクセスできるサイトにしようと思います。

  1. wp-config.phpの編集
  2. nginxの設定

設定する

  1. wp-config.phpの編集
    schemeによってhttpsにするか判断します。
  2. nginxの設定
    wordpressが動作しているnginxの設定に、以下の様にx_forwarded_protoに $schemeをセットします。

    設定を反映します。

無限リダイレクトループに陥ったら

GoogleでwordpressのSSL化で検索すると「設定」→「一般」→「WordPress アドレス (URL)」と「サイトアドレス (URL)」
のスキーマを http:// を https:// にするとありますが、これをやると、ページがループしてアクセスできなくなっちゃうことがあります。
こうなるともう、管理ページにすらログインできなくなっちゃうので、mysqlの以下のカラムの値を無理やり修正する必要が出てきます。

これでアクセスしたら治ります。。。

あと、プラグインも試しましたが、やはりループを起しましたとさ。ヽ(´ー`)ノ