本サイトをKUSANAGI for ConoHaに移行しました!

Nia-TN-SDF-A2

こんにちはー!ニアです。

昨日から始めたサーバー移行作業が終わり、本サイトはExpressWebからKUSANAGI for ConoHaに移行しました。

1. 環境の比較

 ExpressWebConoHa
プランN/A4GBプラン / KUSANAGI
CPUN/A4コア
メモリN/A4 GB
ストレージ30 GBSSD 50 GB
価格(月額)250円(年払いの場合)3,420円
OSWindows Server 2008 R2Cent OS 7
WebサーバーIIS 7.5Apache 2.4.11 ⇒ nginx 1.9.12
PHP5.3.145.6.20 ⇒ 7.0.5
データベースMySQL 5.1MariaDB 10.0

2. サーバーの移行

サーバーを移行した時の大まかな流れは以下の通りです。

  1. ConoHaでVPSを作成します。
  2. VPSを起動し、パッケージのアップデートとKUSANAGIの初期設定をします。
  3. KUSANAGIでWordPressのプロビジョニング(WordPressの環境構築)します。
  4. WordPressをセットアップします。
  5. phpMyAdminをインストールします。
  6. ExpressWebからコンテンツとデータベースをダウンロード(コンテンツはWebMarixで、データベースはphpMyAdminで)します。
  7. phpMyAdminでConoHaにデータベースをインポートします。
  8. STFP接続でConoHaにコンテンツをアップロードします。
  9. DNSサーバーをConoHa側に切り替えます。
  10. Let’s Encriptをインストールし、Webサイトをhttpsに対応させます。

2.1. DNS変更後に悪戦苦闘

1.から9.までの作業は順調に終えることができました。

しかし、9.のDNSサーバーが切り替わった後、ドメイン名からサイトにアクセスできない問題が発生しました。IPアドレスを直接指定した時はアクセスできるのですが・・・。

解決方法を調べてみたところ、DNSの設定でAレコードを登録し忘れていたことが判明しました。

Nia-TN-SDfs-sweet.png
そりゃアクセスできぬ訳だ・・・

そこでDNSレコードに「wwwなし」と「wwwあり」の2つのAレコードを追加し、値にはVPSのIPアドレスを設定しました。

さらに、VPSのPTRレコードにある逆引きホスト名をドメイン名に設定しました。

ptrr

レコードを更新てからしばらくすると、ドメイン名からサイトにアクセスできるようになりました!DNS関連の設定は最初に済ませておくのがよいですね。

なお、不測に事態に備えて旧ドメインのリダイレクト設定を解除し、サーバーの移行前のコンテンツにアクセスできるようにしていました。今ではchronoir.netへのリダイレクトに戻っています。

GWが終わるまでに安定してアクセスできるような状態にしておきたいです。

2.2. SSL対応にしてみました

サーバーの移行後、以下の記事を参考にLet’ s Encriptを導入し、本サイトにhttpsでアクセスできるようにしました。

KUSANAGIにあとからLet’s Encryptを入れる – noldor’s diary

本文中のコンテンツの画像(http://chronoir.net/…)に対しては、WordPressのプラグイン「Search Regex」を使ってプロトコルを省略し、httpsで読み込むことができるようにしました。

ちなみに、本サイトはQualys’ SSL LABSのSSLテストでA評価を得ています。

ssl

3. パフォーマンス

3.1. ページの読み込み

早速ホームページを読み込みの時間を「Web担当者Forum版 ページ速度分析ツール」を使って測定してみました。

サーバー移行前はホームページの読み込みに3~4秒かかっていたのが、移行後は1秒前後になりました。

sv-03
移行前(ExpressWeb)
nc01
移行後(KUSANAGI for ConoHa)

また、KUSANAGIのページキャッシュにより、2回目以降のホームページの読み込みがさらに速くなりました。中には0.5秒を切ることも。

nc02
移行後(KUSANAGI for ConoHa)(2回目の読み込み)

3.2. サーバーのベンチマーク

移行前のExpressWebと移行後のKUSANAGIでのベンチマークを、Apache Benchでベンチマークを測定してみました。

ab -n [合計リクエスト数] -c [同時接続数] [URL]

KUSANAGIでは、ページキャッシュ(bcache、fcache(fcacheはnginxの場合のみ))を有効にして測定しました。但し、測定前にキャッシュをクリアしています。

ExpressWebでは、同時接続数を5、リクエスト数を10で測定しました(KUSANAGIと同じ条件で測定したら、DoS攻撃になってしまうので)。

サーバーExpressWeb(IIS 7.5)KUSANAGI(Apache 2.4.18)KUSANAGI(nginx 1.9.12)
同時接続数5300300
合計リクエスト数101000010000
Concurrency Level 10300300
Time taken for tests [sec.]6.86811.3959.978
Complete requests101000010000
Failed request600
Total transferred [bytes]590694599770000598920000
HTML transferred [bytes]587914596110000596110000
Requests per second [#/sec.]1.46 877.58 1002.20 
Time per reques [ms]

 

(mean)

3433.791341.848299.341
Time per reques [ms]

 

(mean, across all concurrent requests) 

686.758 1.139 0.998 
Transfer rate [KBytes/sec.] recieved.84.7851401.1458616.03

移行前と比べて、500倍以上のリクエスト数を捌いています。KUSANAGIさん強い!

4. おわりに

昨日から2日間掛けて、本サイトのサーバー移行作業をしました。はじめてLinuxサーバーを扱うので、サーバーの設定やファイル・ディレクトリのパーミッションを設定、DNS周りの設定をどのようにすればよいのか色々苦労しましたが、無事に作業を完了することができました。

Ex-1. WebサーバーをApacheからnginxに変えました

はじめはApacheで運用していましたが、翌日の朝になるとWebサイトにアクセスできないという問題が発生してしまいました。(汗)

  • ブラウザからドメイン名でアクセスできない(静的・動的ページ問わず)
  • ブラウザからサーバーのIPアドレスを直接入力してもアクセスできない(静的・動的ページ問わず)
  • SSH接続は問題なくできる
  • 外部からping接続は問題なくできる

という状態であり、Apacheを再起動したところ、Webサイトに再びアクセスができるようになりました。

しかしApacheを再起動しても、翌日になるとまたアクセス不能になる問題が発生してしまったので、思い切ってApacheからnginxに切り替えました。

しばらくはnginxで様子見です。

【追記】nginxに切り替えてから、5月2日の朝を迎えましたが、朝7時の時点で問題なくアクセスすることができました。

もう数日様子を見て、翌朝を迎えても安定していたら、以後はnginxで使用し続けていこうと思います。

【さらに追記】nginxで運用することに決めました。

[END]

コメント

タイトルとURLをコピーしました