さくらの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ユーザーの状態は今のままでいいのか悩ましい。


最終更新 : 2017年05月18日 20:04

お勧め

is_embed(2015年12月23日 更新)

bool is_embed( )
要求されているページが埋め込み投稿ページか調べる。

get_custom_header_markup(2017年4月7日 更新)

string get_custom_header_markup()
カスタムヘッダーのHTMLパーツを取得する。

wp_set_password(2013年5月5日 更新)

void wp_set_password( string $password, int $user_id )
ログインパスワードを設定する。

get_category(2011年5月25日 更新)

mixed get_category( mixed $category [ , string $output = OBJECT [ , string $filter = 'raw' ] ] )
IDを指定してカテゴリー情報を取得する。

get_body_class(2012年6月23日 更新)

array get_body_class( [ string $class = '' ] )
bodyタグのclass属性値を取得する。