この記事は最後に更新してから1年以上経過しています。

さくらのVPSでKUSANAGI#3

説明

今回は「前回」の続き。http(80番)をクローズ、そのほかに行った調整作業について整理する。

http(80番)をクルーズする前に

KUSANAGIはプロビジョンの段階でサーバー証明書を取得すればはじめからhttpsでのサイトアクセスが可能である。今回はhttp側でWordPressをインストールしてしまったので、「WordPress アドレス (URL)」と「サイトアドレス (URL)」はどちらも「http」になっている。httpとhttpsの両方アクセス可能な状態からhttpsのみアクセス可能に切り替える場合は「WordPress アドレス (URL)」と「サイトアドレス (URL)」を「https」に変更すべきなのだが、せっかくhttpでのアクセスが可能なので、サーバー内からだけでなく、開発環境のパソコンからabコマンドを実行してみようと思う(開発環境で使用しているWindows版のabコマンドがhttpsをサポートしていないため)。

サーバーの環境はすべて「NGINX+HHVM(fcache on)」で実行したabコマンドは次の通り。

ab -n 10000 -c 300 http:/指定したドメイン名/

このコマンドをサーバー内と開発環境のパソコンから前回と同じ内容で実行した結果が次の表になる。

Web環境最短[秒]最長[秒]上下カット平均[秒]
https(サーバー内:参考)9.59212.77811.202
http(サーバー内)1.0901.6151.432
http(開発環境)710.546813.241749.317

※さくらのVPSは運用開始時が「お試し期間」の場合に「帯域制限」されており、「お試し期間」を解除して1~2時間で解除される。

「http(サーバー内)」と「http(開発環境)」の違いはサーバーと開発環境との通信の影響となる。「http(開発環境)」の値は、httpとはいえ1時間に約5万リクエストをさばくというものなので一般的なサイトであれば十分な性能といえるのではないだろうか。参考値の「https(サーバー内)」と「http(サーバー内)」の違いは通信内容の復号・暗号化処理はそれなりに重いようだ。

http(80番)をクルーズ

管理者ページの「設定」-「一般」ページにアクセスして「WordPress アドレス (URL)」と「サイトアドレス (URL)」を「https」に変更し、「変更を保存」ボタンを押す。この時、弊社プラグイン「Login rebuilder」が有効な状態ではログインページへのリダイレクトに失敗するので、アドレスバーに設定済みのログインページURLを指定してログインし直す。念のため、「設定」-「一般」ページにアクセスして「WordPress アドレス (URL)」と「サイトアドレス (URL)」が変更されていることを確認する。

各URLが変更されていることが確認できたら、http(80番)をクローズする。CentOS 7の場合は「firewall-cmd」コマンドでポートの開け閉めを切り替えでき、「http(80番)」をクローズする場合は次に示す2つのコマンドを実行する。

# firewall-cmd --remove-service=http --permanent
# firewall-cmd --reload

コマンドを実行したら、ブラウザで「http」を指定してサイトにアクセスし、サイトが表示されないことを確認する。

そのほかの設定

KUSANAGIは基本的なWebサーバー利用に必要な設定をほとんど行ってくれるが、いくつか調整しておきたいことがあったのでメモとして残しておく。

1つ目は、/etc/sysconfig/networkファイルに「HOSTNAME」を追加すること。

# vi /etc/sysconfig/network
HOSTNAME=ドメイン名

この対応は「reboot」コマンドでサーバーを再起動する必要があるので、タイミングは要注意。

# reboot

2つ目は、MangoDB(MySQL)のtestデータベース(スキーマ)。これは文字通りテスト用のデータベースなので削除したほうがよい。

# mysql -u root -p
MariaDB [mysql]> drop database test;

とりあえず気になったのはこんなところ。あとkusanagiユーザーの状態は今のままでいいのか悩ましい。


最終更新 : 2018年05月27日 10:43

お勧め

wp_specialchars_decode(2018年5月27日 更新)

string wp_specialchars_decode( string $string [ , mixed $quote_style = ENT_NOQUOTES ] )
HTMLエンティティ化された特殊文字をもとに戻す。

restore_previous_locale(2018年11月21日 更新)

string | bool restore_previous_locale()
直前のロケールへ戻す。

ent2ncr(2020年4月10日 更新)

string ent2ncr( string $text )
&のような名前エンティティを&のような数値エンティティに変換する。

wp_editor(2017年6月9日 更新)

void wp_editor( string $content, string $editor_id [ , array $settings = array( ] )
エディタを表示する。

get_post_types_by_support(2018年5月27日 更新)

array get_post_types_by_support( mixed $feature [ , string $operator = 'and' ] )
特徴(≒編集要素)の条件にマッチする投稿タイプ名を取得をする。