production.log

株式会社リブセンスでエンジニアをやっている星直史のブログです。

Apache バーチャルホストの設定で2つのサイトを1つのVPSにまとめた

2つサイトを運営していますが、インフラ構成が

VPS2台・・・・・・4,500円 / 月

DBサーバ1台・・・1,500円 / 月

月額6,000円と、薄給のボクにとっては結構痛いので、VPS1台にMysqlを入れて、DBサーバーを解約 && 2つのサイトを1つのVPSにまとめることにしました。

 

用意するもの

VPS1台

サイトAのドメイン

サイトBのドメイン

Apache バーチャルホストの設定

もうね、なんで始めからこれをやらなかったのか泣けてくるくらい、簡単でした。

/etc/httpd/conf/httpd.confを下記の通り設定し、apachectl gracefulでapacheを再起動するだけでOKです。

Apache バーチャルホストの設定

※1行目のNameVirtualHost *:80を指定しないと下記のエラーが発生します。

 [warn] _default_ VirtualHost overlap on port 80, the first has precedence

 

説明

VPS のIPが 123.456.789.101だった場合、

サイトAとサイトBのドメイン設定で指定するIPを両方とも123.456.789.101に設定します。

=> http://site_Ahttp://site_BのURLを叩くと、両方とも123.456.789.101にアクセスしにいきます。

 

すると、Apacheはsite_Aからのアクセスは/www/example/app_nameA/publicを見に行くし、

site_Bからのアクセスは/www/example/app_nameB/publicを見に行きます。

ただそれだけ。