![](https://ebi-works.com/wp-content/uploads/2020/07/charles-deluvio-ui8iBVmykjI-unsplash-1024x494.jpg)
こんにちは、えびかずきです。
最近Webアプリ開発を勉強していましたが、とうとう試作品が完成しました!
アプリのWeb公開までは済んでいるのですが、後は仕上げの独自ドメイン化が必要です。
ということで今回は、独自ドメインを取得してサイトに反映させたいと思います。
結果として、
Webサーバー側の接続エラーで、色々調べているうちに18時間もかかってしまいました。
(1時間ぐらいでできると思ってたのに…)
けど実質的な作業自体は1時間くらいで終わりました。
ということでこの記事を見てくれている方が自分のように時間をかけないで済むように、つまずいたポイントも含めて紹介します。
ではいきましょう!
開発環境
OS:Amazon Linux 2(AWS EC2仮想マシン)
Webサーバー:Nginx
WSGI:Gunicorn
Python:3.7.3
Django:2.2.2
PostgreSQL:10.4
ネームサーバー:XSERVER
作業の概要
今回実施した作業の概要は下図のとおりです。
作業前の状況としては、既にDjangoで作成したWebアプリをAWS-EC2でWeb公開済みです。
ここにDNSサーバーでドメインを取得して、独自ドメイン化を実行するということになります。
![](https://ebi-works.com/wp-content/uploads/2020/07/スクリーンショット-2020-07-18-2.26.29-1024x750.png)
![えびかずき](https://ebi-works.com/wp-content/uploads/2020/02/kazuki-icon.jpg)
独自ドメインを取得する
まずはXSERVERで独自ドメインを取得します。
1.XSERVERアカウントにログインして、
『サービスお申し込み』→ドメイン欄の『新規申し込み』を選択。
![](https://ebi-works.com/wp-content/uploads/2020/07/dmain-https-1.jpg)
![](https://ebi-works.com/wp-content/uploads/2020/07/dmain-https-2.jpg)
2.希望ドメインの空きを確認してドメインを購入する。
![](https://ebi-works.com/wp-content/uploads/2020/07/dmain-https-3.jpg)
![](https://ebi-works.com/wp-content/uploads/2020/07/dmain-https-4.jpg)
購入直後にドメイン状況を確認すると、購入したドメインが追加されていることが確認できました↓
![](https://ebi-works.com/wp-content/uploads/2020/07/dmain-https-5.jpg)
![えびかずき](https://ebi-works.com/wp-content/uploads/2020/02/kazuki-icon.jpg)
ここまでは、5分ぐらいで出来ました。
サーバーへドメイン設定を追加
ドメインを購入できたら、サーバーパネルへ移動してドメイン設定の追加を実施します。
これによって購入したドメインをDNSサーバーへ登録します。
1.ドメイン設定→『ドメイン設定追加』→購入したドメインを入力。
![](https://ebi-works.com/wp-content/uploads/2020/07/dmain-https-6.jpg)
ドメイン設定後は反映待ち状態になります。
反映まで約1時間くらいかかります。
![](https://ebi-works.com/wp-content/uploads/2020/07/dmain-https-7.jpg)
![えびかずき](https://ebi-works.com/wp-content/uploads/2020/02/kazuki-icon.jpg)
私の場合、反映待ちが消えるまで50分くらいかかりました。
DNSレコードを設定する
新規ドメインの設定が待ち状態になっている間に、先にDNSの設定を実施しておきます。
今回はサブドメインでWebアプリを運用するため、サブドメインの追加から実施します。
1.サブドメイン設定→『サブドメイン追加設定』→サブドメイン名を入力
※コメントは入力する必要ありません。
![](https://ebi-works.com/wp-content/uploads/2020/07/dmain-https-8.jpg)
2.DNSレコードを設定→『DNSレコード追加』で設定画面へいき、
ホスト名、種別、内容を入力する。
※種別『A』はドメインをIPアドレス変換してくれます。
![](https://ebi-works.com/wp-content/uploads/2020/07/dmain-https-9.jpg)
3.レコードが追加されているのを確認します。
![](https://ebi-works.com/wp-content/uploads/2020/07/dmain-https-10.jpg)
![えびかずき](https://ebi-works.com/wp-content/uploads/2020/02/kazuki-icon.jpg)
これでXSERVER側の作業は終了!
あとは設定が反映されるのを待つのみ。
のはずが…
独自ドメインの反映(つまずきポイント)
あとは新規ドメインとサブドメインの設定が反映されれは、Webサイトの閲覧が可能になるはずです。
これが反映されていない状態だと、独自ドメインのURLにアクセスしても下のようなエラーメッセージが表示されてしまいます。
無効なURLです。
プログラム設定の反映待ちである可能性あります。
しばらく時間をおいて再度アクセスをお試しください。
![えびかずき](https://ebi-works.com/wp-content/uploads/2020/02/kazuki-icon.jpg)
作業開始から1時間程度経過して、ドメイン・サブドメイン共に『反映待ち』の表示が消えました!
これでWebサイトにアクセスできるはずが…
あれ!?
今度はBad Request(400)(URL間違い)の表示がでてる…
![](https://ebi-works.com/wp-content/uploads/2020/07/dmain-https-12.jpg)
公式サイトを調べると、サブドメインの追加に半日くらいかかるとのこと。
『反映待ち』の表示は既に消えてるのにおかしいなあと思いつつ半日待ってみることにしました。
![](https://ebi-works.com/wp-content/uploads/2020/07/dmain-https-13.jpg)
![えびかずき](https://ebi-works.com/wp-content/uploads/2020/02/kazuki-icon.jpg)
半日後…
![](https://ebi-works.com/wp-content/uploads/2020/07/dmain-https-12-1.jpg)
なんでだ!?
さすがにおかしいと思って色々調べてみると、Gunicornの再起動が必要だったようです。
Gunicorn(WSGI)の再起動
一度gunicornを終了して、再起動してみました。
コマンドは以下のとおりです。
$ pkill gunicorn
$ gunicorn --bind 127.0.0.1:8000 <Djangoプロジェクト>.wsgi -D
これを実行すると、無事作成したWebサイトが表示されるようになりました!
![](https://ebi-works.com/wp-content/uploads/2020/07/dmain-https-14.jpg)
![えびかずき](https://ebi-works.com/wp-content/uploads/2020/02/kazuki-icon.jpg)
結局ここまで18時間も経過。
gunicornの再起動に気づかなかったせいで、かなり時間がかかってしまいました、とほほ…
まとめ
今回はWebサイトの独自ドメイン化について説明しました。
つまずきながらで想定よりかなり時間がかかってしまいましたが、なんとかやりたいことは完了できました。
同じ作業でつまずいている方の参考になればうれしいです。
おまけ
今作っているWebアプリの試作品です。
とりあえず形になってきたので紹介します。
https://runrun.ebikazuki.com
ランニングの走行距離を簡単に管理するアプリを作ろうと思っていますが、2020/7/18現在はまだ未完成です。完成までもう少しがんばってみます。
参考書籍
この記事は下の書籍を参考にさせていただきました。
動かして学ぶ!Python Django開発入門(kindle版)
コメントを書く