Nginxで複数サイトを運用。IPアドレスで特定のWordPressにアクセスしたい場合

ConoHa

ConoHaのVPSで複数Wordpressサイトを快適運用

複数のWordpressサイトを一つのVPSで運営するのって安く済むわりに、パフォーマンスも結構良くて個人的に気に入っています。

ConoHa VPS のKusanagiを使うと一瞬(10分もかからない)でサイトを立ち上げることができますし、Nginxのリバースキャッシュも簡単に導入できるので、サイト速度はめちゃくちゃ軽速で運用できます。

Googleもサイトの速度はSEOランク付けに使っているそうなので、これからますます重要になってくるので、Nginx+リバースキャッシュを使うのは必須になってきそうです。

Nginx+リバースキャッシュが気になる方はこちら

お名前VPSからConoHaのVPSへサイトをお引越し

他のVPSで運用していた月間5万ページビューぐらいのWordpressサイトをすでに複数サイト運用しているConoHaのVPSに引っ越して、節約しようと思いたちました。

以前使っていたのはお名前VPSの2Gプランです。月間1420円払っていました。ConoHaのVPSの1Gプランで複数の別サイトを運営していたので、お名前VPSからConoHaのVPSへのお引越しで、月間1420円を節約しようというわけです。

(ConoHaの分はすでに支払っているので、月間1420円がまるまる節約できる計算です)

はっきりいって、5万ページビューぐらいのサイトをお名前VPS2Gプランで運用するのはもったいないと思います。キャッシュを使う場合はもっと非力なスペックで十分です。

というわけで、複数のサイトを運営していたConoHaのVPSにまとめてしまおうということです。

どうやってスムーズに移行するか?

まず、新しい環境にwordpressをインストールします。

私の場合はkusanagiで別のサイトをすでに運用していますので、追加で引っ越すサイトに対応したwordpress環境を作成するということです

ConoHaのKusanagiならこれは簡単で、

例えばドメインがsite1.comとかであれば、覚えやすいようにsite1comとかの名前をつけて、wordpress環境を作成します。

kusanagi provision site1com

色々と設定項目がでてきますが、この辺はまた別の場所で解説します。
これで、/home/kusanagi/site1com というディレクトリが作成されます。
この下にDocumentRootがあって、そこにwordpress用のファイルやディレクトリが展開されます。
これでとりあえず、wordpress環境が作成できたわけです(確認してみてください)。

次に、このwordpress環境にアクセスして、一時的な設定を行います。
データベースの指定やサイトのタイトルなどです。
これは後で、引っ越しの過程で上書きされます。

wordpressの設定をしたいのに、IPアドレスではアクセスできない!?

新規サイトでドメインをすでに設定していれば、そのドメインでアクセスすればOKなのですが、今回は”引っ越し”なので、運用しているサイトを停止したくはありませんので、まだDNSの設定は変更しません

また、kusanagiを使っていなくて、IPアドレス = 一つのドメイン であれば、そのIPアドレスでアクセスしてやればサイトにアクセスできて、以降の操作を行うことができます。

しかし今回は複数のサイトを一つのVPSでkusanagiを使って、すでに運用していますので、これができません。

IPアドレスでアクセスすると、以下のような画面が表示されてしまします。
ConoHa VPS上で動いているNginxサーバーには接続できています。


ではどうすればよいでしょうか?

nginxのconfファイルを変更する

複数サイト一つのVPSサーバーで管理しているので、複数のドメインで同じIPアドレスを共有していることになっています。
というわけで、IPアドレスだけでは任意のドメインにアクセスできません。
/etc/nginx/conf.d

の中にkusanagiが使用しているnginxの設定ファイルがあります。

http.confssl.conf

というファイルがあると思います。

http.confはhttpの設定ファイル、
ssl.confはhttpsを設定した場合のssl通信を設定しているファイルです。

また、site1com_という接頭辞で始まるファイルが作られています。具体的にはsite1com_http.conf, site1com_ssl.confという設定ファイルを見つけることができます。この2つはsite1.com用に作成された設定ファイルになります。

http.confファイルを開いてみると、

## default HTTP
server {
listen 80;
server_name default_server;

location / {
root /usr/share/nginx/html;
index index.html index.htm;
}

デフォルトのhttp通信の設定がされています。
これをベースにさらに細かい設定が、各ドメインごとに設定することができるわけです。

server_name default_server;

という行がありますが、defult_serverというのがある種の予約語になっていて、IPアドレスでアクセスしたときに「ここにアクセスしますよ」ということを意味しています。

アクセスされると、

location / { 以下の

root /usr/share/nginx/html;
index index.html index.htm;

/usr/share/nginx/htmlディレクトリ内にあるindex.htmlにアクセスしますよということを意味しています。このindex.htmlがIPアドレスでアクセスしたときの表示ページ(「Welcome to nginx!」と表示していた)です。

ですので、IPアドレスでアクセスした場合にsite1comのワードプレスにアクセスしたい場合は、

http.conf

## default HTTP
server {
listen 80;
#server_name default_server; 

コメントアウトしておきます。

site1com_http.confを以下のように変更します。

#=======================================
# site1.com
#---------------------------------------

server {
listen 80 default_server;
server_name site1.com www.site1.com;

listen 80のところに赤字で示したdefault_serverを追記します。

これでIPアドレスでアクセスするとsite1.comのドメインを設定する予定のワードプレスにアクセスできます。

WordPressにアクセスしてプラグインAll-in-one WP Migrationでサイトを簡単移行

WordPressにIPアドレスでアクセスできるのでここからは普通の移行作業になります。(まだ、DNSの変更を行う必要がないので、site1.comは別サーバーで動かしたままでOKなわけです。)

おすすめはAll-in-One WP Migrationというプラグインを使う方法です。
このプラグインで、古いVPSのワードプレスからエキスポートして新しいVPSのワードプレスインポートします。
(エキスポートとは輸出という意味で、インポートとは輸入という意味ですね)

サイトのhttps化も非常に簡単

kusanagi ssl --https redirect site1com
とすれば、site1.comが、https化されます。
それにともなって、サイト内の全てのリンクのURLもhttps化されるので基本的にデータベースを自分で書き換える必要はありません。
これもKusanagiの便利機能ですね。

WordPressサイトを快適に運用するならConoHaのVPSのKusanagi

ConoHaのVPS + KusanagiでWordpressサイトを運用するのはかなり快適です。

コスト + 手間 + サイトスピード

この全てで、バランス良くかつ高水準です。

コスト

複数のサイトを一つのVPSサーバーに入れられるので、メモリ1GBプランで月900円、5つサイトを運営するとして一つにつき月180円で運用できることになります。

安いですね!

Kusanagi はNginxでリバースプロキシキャッシュが使えるので、メモリ1GBという低スペックでもかなりのページビューをさばけます。
しかも、メモリ2GBの上位プランに移行したくなっても、簡単に上位プランに変更できます。付随した作業が必要ありません。シームレスに移行できます。
AWSのようにその月が終わってみないと費用が確定しないということもありません。
ConoHaなら月900円で運用できちゃいます。

手間

管理の手間も一つのVPSにまとめているのでお手軽です。
https認証も自動的に更新してくれます。

サイトスピード

kusanagiで運用するとサイトは爆速です。
キャッシュなので、ほぼ静的なHTMLサイトみたいなものです。

ConoHa VPSはいろいろ使ったVPSの中で最強なのでおすすめです。
ConoHa VPS

コメント