この記事は最後に更新してから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

お勧め

has_category(2012年1月17日 更新)

bool has_category( [ mixed $category = '' [ , mixed $post = null ] ] )
投稿記事がカテゴリーに属しているか調べる。

comments_template(2018年5月27日 更新)

void comments_template( string $file = '/comments.php' , bool $separate_comments = false )
投稿ページ(post)または単一ページ(page)のコメント情報を取得し、コメント表示・投稿用のテンプレートファイルを読み込んで表示する。

is_taxonomy_hierarchical(2018年5月27日 更新)

bool is_taxonomy_hierarchical( string $taxonomy )
タクソノミーに階層(親子)関係があるか調べる。

send_confirmation_on_profile_email(2018年5月27日 更新)

void send_confirmation_on_profile_email()
メールアドレス変更を確認するメールを送信する。

get_the_modified_time(2023年9月20日 更新)

string | int | false get_the_modified_time( [ string $format = '' [ , int | WP_Post $post = null ] ] )
パラメータ$formatで指定したフォーマットで投稿の更新時刻を取得する。