VPSサーバーは、通常のレンタルサーバーよりは単価が高いのでWordPressはロリポップを利用し、Djangoを用いた動的ページにはConoHaのVPSサーバーを利用する運用としました。なお、VPSサーバーにはサブドメインを利用します。
0.VPSサーバーでDjangoを始めてみたシリーズ
この記事は「VPSサーバーでDjangoを始めてみたシリーズ」の記事です。一連の記事は、以下のリンク集を参照してください。
1.サブドメインの扱い
私は現在、ロリポップ(レンタルサーバー)とムームードメイン(ドメイン管理会社)を使ってサイトを運営しています。そして、ConoHa のVPSサーバーを借りるにあたって、VPSサーバーには今使っているドメインのサブドメインを使用することにしました。
ConoHa のVPSサーバーにサブドメインを使うメリットは、現在のドメインに関連するサイトである事が明確になり、また、ドメインの維持費用が節約できることです。
なお、サブドメインと親ドメインはSEO上は全く別の扱いとなるため、例えばサブドメインのGoogle検索の評価が急上昇したとしても親ドメインの評価が上がるわけではありません。
また、注意点としてDjangoではサブドメインを示す部分にアンダースコア「_」が含まれるとエラーになることがあるようです。サブドメインの名称を考えるときには気をつけましょう。
2.DNSサーバーとは
DNSサーバーとはドメイン名に対応するIPアドレスを直接管理するサーバーのことです。IPアドレスを直接管理しているところがポイントです。
IPアドレスを直接管理しているのがDNSサーバーなのですから、ブラウザからドメイン名でアクセスを試みた場合、色々な所をたらい回しにされても最終的にはDNS(Domain Name System)サーバーでIPアドレスを確認します。
(1) レンタルサーバーのDNSサーバーを利用する場合
さて、DNSサーバーが存在する場所として想像するのは、例えばムームードメインのようなドメイン管理会社だと思います。ドメイン名に対応するIPアドレスを直接管理することがドメイン管理会社の仕事のようなイメージがあると思いますが、実はDNSサーバーの多くはConoHaやさくら、エックスサーバーなどのレンタルサーバーの会社に存在しています。
そして、例えばConoHaのDNSサーバーを使う場合はConoHaのDNSにIPアドレスを登録し、ドメイン管理会社にはドメインのIPアドレスではなく、ConoHaのDNSサーバーを示すネームサーバー名をムームードメインに登録します。
ムームードメインにネームサーバー名を登録するのは、ConoHaのDNSサーバーでドメインとIPアドレスが管理されていることを知らせているのです。
(2) ドメイン管理会社のDNSサーバーを利用する場合
実はムームードメインのような機能性を売りにしている大きな会社では、ムームードメイン自身もDNSサーバーを持っています。つまり、ConoHaのDNSサーバーを使うのではなく、ムームードメインのDNSサーバーを使う方法も採用できます。
この方法の場合には、ConoHaのDNSサーバーは使わないので、ConoHaでのDNSサーバーの設定は不要になります。その代わりにムームードメインのDNS設定で、ドメイン名とConoHaのサーバーのIPアドレスを関連づける設定を行う必要があります。
このように、どこのDNSサーバーを使うのかによって、設定方法が変わるので注意する必要があります。
3.サブドメインだけConoHaのVPSで使うには
ムームードメインで取得したドメインについて、親ドメインをロリポップ、サブドメインをConoHa VPSサーバーで使用する場合には、どのように設定すればよいのでしょうか。
このような利用方法の場合には、ConoHaのDNSサーバーではなく、ムームードメインのDNSサーバーを利用するのがよいと思います。
4.ドメインの具体的な設定方法
ロリポップのDNSサーバーはサブドメインを別のサーバーで使用できる機能がないため、ムームードメインのDNSサーバーを使います。具体的には以下の手順で設定を行います。
(1) ロリポップのDNSサーバーを使って設定する
最終的にはムームードメインのDNSサーバーを使うのですが、その前にロリポップのDNSサーバーを使って設定します。設定方法は以下のリンクの「ロリポップ!だけで利用する場合」の手順に従います。
ロリポップ:独自ドメインご利用時の作業内容
なぜ、最初はロリポップのDNSサーバーを使うのかについては後で説明します。
(2) ムームードメインのDNSサーバーに移行する。
以下のリンクの手順に従い、ロリポップのDNSサーバーから、ムームーDNSへ移行します。
ロリポップ:ムームーDNSへの移行
(3) ムームーDNSのカスタム設定
以下のリンクに従い、ムームーDNSで親ドメインをロリポップ、サブドメインをConoHa VPSのIPアドレスと関連づけます。
リンク先の説明で「設定1」「設定2」の画像がありますが、最初にロリポップのDNSで登録し、ロリポップのDNSからムームーDNSに移行しなければ、「設定1」が空白のままになります。
私は最初、「設定1」の扱いがわからず悩んでしまいました。
ムームードメイン:カスタム設定のセットアップ方法
「設定1」は、ひとまず、親ドメインのホームページの欄だけ「ロリポップ!」を選択すれば、ロリポップには親ドメインが関連づけられます。メール機能などを使用する場合は状況に応じて設定し直してください。
「設定2」は以下の設定を行う事で、サブドメインがConoHaのVPSサーバーに関連づけられます。例えば、親ドメイン「example.com」のサブドメイン「aaa.example.com」をConoHa VPSで使用する場合は、以下の内容を追加します。
- サブドメイン:aaa
- 種別:A
- 内容:ConoHaのVPSサーバーのIPアドレス
ConoHaのvVPSサーバーのIPアドレスの確認方法は以下の通りです。
ConoHa:ご利用ガイドSSH接続でVPSにログインする
ムームードメインのDNSサーバーであるムームーDNSでは、設定2を使えばムームードメインで管理するドメインを、様々なサーバーに簡単に関連づけられるので非常に便利です。
(4) カスタム設定の設定2でロリポップを指定できる?
ロリポップからムームーDNSに移行するという遠回りな設定を行いましたが、実は設定1を利用せず、ムームーDNSカスタム設定2で、親ドメインをロリポップのIPアドレスに関連づけることが可能です。
しかし、ロリポップでは基本的にロリポップのDNSサーバーを利用することが推奨されています。理由としてはレンタルサーバーの運用上の都合により将来にわたってIPアドレスが同一である保証がないからだと思います。
しかし、ロリポップに関連する会社であるムームードメインへは「ムームーDNSへの移行」機能を用意しており、公式にこの方法を認めています。
ですから、多少面倒でも「ムームーDNSへの移行」を利用することをお勧めします。関連する会社である事により、この様な機能が用意されており安心できます。
5.Nginx、Djangoの設定
IPアドレスを使ってNginxやDjangoの設定を行っていた場合には、IPアドレスをドメイン名に書き直す必要があります。
(1) Nginxの設定を修正
以下、「/etc/nginx/sites-available」のNginx設定ファイルの抜粋です。server_nameのIPアドレスをサブドメイン名に変更します。両側に「'」や「"」は不要です。
なお、proxy_pass http://127.0.0.1:8000;のIPアドレスはこのままです。
server {
・・・
server_name サブドメイン名;
・・・
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X_Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:8000;
}
・・・
}
(2) Djangoの設定を修正
Djangoプロジェクトのsettings.pyのALLOWED_HOSTSにサブドメインを加えます。
なお、VPSサーバーのIPアドレスは削除したほうがよいと思います。セキュリティー上のリスクを減らしたり、複数のドメインを扱う場合には混乱を招く原因になります。
'localhost'や'127.0.0.1'も不要ですが、Nginxやgunicornを停止し、動作を検証するときに使う可能性があるかもしれません。使用状況に応じて入れればよいと思います。
ALLOWED_HOSTS = ['localhost', '127.0.0.1', 'サブドメイン']
私が実際にレンタルしたVPSサーバー
私が実際にレンタルしたVPSサーバーはConoHa VPSです。私は1GBのプランを申し込みました。VPSサーバーは一般のレンタルサーバーと異なりOSやアプリケーションを自由に設定できるので、Pythonで計算した結果をサイトに表示することもできます。
なお、ConoHa VPSの特長として、サーバーのディスクイメージを丸ごとバックアップできるイメージ保存機能を無料で使用することができます。コードを変更して元に戻せなくなった場合にも安心です。
また、ConoHa VPSは途中でプランをスケールアップできるだけでなく、スケールダウンすることもできます。つまり、2Gプランを1Gプランに変更することができます。ただし、512MBプランだけはスケールアップ・ダウン機能が使用できないので注意してください。
また、初期費用なしで3日だけ借り、3日分の費用だけ払うといったことも可能なので気軽に始められます。※時間課金(月の上限額は決まっています)
その他
以下、私が光回線を導入した時の記事一覧です。
(1) 2020年「光回線は値段で選ぶ」では後悔する ←宅内工事の状況も説明しています。
(2) NURO光の開通までWiFiルーターを格安レンタルできる
(3) NURO光の屋外工事の状況をご紹介。その日に開通!
(4) 光回線開通!実測するとNURO光はやっぱり速かった
(5) ネット上のNURO光紹介特典は個人情報がもれないの?