nginxでマルチドメイン(仮想ホスト)な環境の構築
設定ファイルの確認
/etc/nginx/nginx.conf
にinclude /etc/nginx/sites-enabled/*;
の記述があるか確認しておく
この設定が書かれていると/etc/nginx/sites-enabled/
に書かれた設定が追加で読み込まれるようになる
マルチドメイン(仮想ホスト)の設定を書く
今回はサンプルとしてsubdomain.takeuchi.tk
をホストするようにする
nano /etc/nginx/sites-available/subdomain.takeuchi.tk
で
server {
listen 80;
server_name subdomain.takeuchi.tk;
root /wwwroot/subdomain.takeuchi.tk;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
のように簡単に書いてみた
簡単なコンテンツも書いておく
mkdir /wwwroot/subdomain.takeuchi.tk
chmod 755 /wwwroot/subdomain.takeuchi.tk
でコンテンツのディレクトリを作成して
nano /wwwroot/subdomain.takeuchi.tk/index.html
で
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>HTML 5 complete</title>
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<style>
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section { display: block; }
</style>
</head>
<body>
<p>Hello World from subdomain.takeuchi.tk</p>
</body>
</html>
とでもしておく
/etc/nginx/sites-enabledに設定ファイルのリンクを張る
ln -s /etc/nginx/sites-available/subdomain.takeuchi.tk /etc/nginx/sites-enabled
/etc/nginx/sites-enabled
にある設定ファイルだけが有効になる
ホストを止める時は/etc/nginx/sites-enabled
にあるリンクを消すだけでよい
書いた設定が正しいか確認する
/etc/init.d/nginx configtest
nginx -t
設定の変更を反映する
/etc/init.d/nginx reload
nginx -s reload
正しくコンテンツを返すか確認する
マルチドメイン(仮想ホスト)が正しく動作しているか確認するには、Hostヘッダーを付加してHTTPリクエストを投げてみる
curl http://localhost/ -H "Host: subdomain.takeuchi.tk"
書いておいたコンテンツが正しく返ってきていたらOK
最後にDNSレコードを追加して振り向け先を変更する
竹内電設は、大阪府下を中心に中小規模の組織がITシステムを効果的に活用するための、お手伝いをさせていただいております
© 2023 竹内電設; all rights reserved.