この記事は最後に更新してから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_authenticate(2022年1月31日 更新)

WP_User | WP_Error wp_authenticate( string $username, string $password )
ユーザー認証を行う。

wp_send_json_success(2020年12月10日 更新)

void wp_send_json_success( [ mixed $response = null [ , int $status_code = null [ , int $options = 0 ] ] ] )
AJAXリクエストの成功レスポンスとしてJSON情報を返す。

wp_oembed_get(2014年11月16日 更新)

mixed wp_oembed_get( string $url [ , mixed $args = '' ] )
oEmbedに対応したページの埋め込み用コンテンツを取得する。

setup_postdata(2014年11月16日 更新)

bool setup_postdata( stdClass $post )
投稿記事に関連するグローバル変数を設定する。

the_permalink(2018年5月27日 更新)

void the_permalink( [ mixed $post = 0 ] )
現在の投稿データのパーマリンクを表示する。