カテゴリー別アーカイブ: misc

Galaxy S7 edge / S7

http://www.samsung.com/jp/product/galaxy-s7/
に Samsung の Galaxy S7 edge / S7 のページがあるのだが、隠れてしょっちゅう更新されている。

以前は「edge しかでないのでは」という記事が他サイトにあり、根拠として “Galaxy S7 edge” しかないから、と言っていた。たしかにそうだったのだが、S7  も追加されている。結局日本で何が売り出されるかはまだ分からないのではなかろうか。3月17日付でメモしておきたい。

バッテリーは S7: 3000mAh | S7 edge: 3600mAh で、充電に S7: 90分 | S7 edge: 100分 とのことだ。

ConoHa の KUSANAGI の PHP の設定がおかしい

ConoHa の KUSANAGI の PHP の設定がおかしい 件について、書かないといけない。

https://kusanagi.tokyo/faq/

によれば、

Q7. セッションが使用できませんでした、使用できるようにする方法はありますか?

A7. KUSANAGIのバージョンによってPHPのセッション保存ディレクトリの権限が適切でない場合がございます。以下のコマンドを実行し権限を変更してみてください。

# chown -R :www /var/lib/php/session/

なので、なおったのかもしれん。

WordPress が https でうまく表示されない時

srcset のせいでおかしい時がある。テーマのせいかと思ったら、違った。

WordPressを4.4.0にアップデートしたら画像が表示されなくなった にとても詳しい。要するに、srcset の中で、http を使っているのが悪いので、wp-include/media.php の wp_calculate_image_srcset を書き換える。return str_replace(‘http://’, ‘//’, rtrim( $srcset, ‘, ‘ )); とすればよいらしい。そもそもは、_wp_upload_dir_baseurl が http つきで返しているのが良くないのかと妄想。暇なときに調べる。

nginx と wordpress と http と https

ややこしい設定と魔改造

nginx を フロントエンド、バックエンドの2つに分け(理由はある)、さらに、その後ろに php-fpm が構えているという構成の WordPress サイトをいくつか持っているが、折角なので、https も offer したい。ただ、設定を http と https のために複数書くのはあほらしいので、できるだけ統一したかった。以下のような工夫で、設定ファイルをできるだけコンパクトにしたま、複数サイトの提供ができる。

DNS ラウンドロビンのように、あるいは、フロント、バックエンド構成のようにして、負荷分散をすることがある。WordPress ではファイルのアップロードが特定のある1つのホストに行くようにしないと、同期が結構面倒である。公開用の画像データが更新されていくが、それは、アップロードされたある1つのホストにしかないファイルになるからだ。解決策として、S3 保存系のプラグインを使う方法がある。設定は面倒荘であるが、これは設定さえすれば、どのサイトからアクセスしても良い。それ以外に、rsync でファイルを共有する方法もあるが、これは「マスターとなるデータ」の固定が必須で、そのときは「一般用」と「管理用」のバックエンドを分けて、管理用だけで情報公開等を行う必要がある。

map $scheme $sites_admin_backend {
 default sites_admin_backend;
 http sites_admin_backend;
 https sites_admin_backend_https;
}
map $scheme $sites_backend {
 default sites_backend;
 http sites_backend;
 https sites_backend_https;
}

upstream sites_backend {
 server localhost:6580;
 server remotehost:6580;
}
upstream sites_backend_https {
 server localhost:6581;
 server remotehost:6581;
}
upstream sites_admin_backend {
 server adminhost:6580;
}
upstream sites_admin_backend_https {
 server adminhost:6581;
}

して、さらに

proxy_pass $scheme://$sites_local_backend;
proxy_pass $scheme://$sites_admin_backend;

として、バックエンドに投げればよい。バックエンドは

listen 6580 default_server;
listen 6581 default_server ssl http2;

として待っていれば、整合性は取れる。