質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.45%

  • nginx

    1054questions

    nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

  • Debian

    133questions

    Debianは、Debian GNU/Linux などのOS(オペレーティングシステム)です。

Debian8(さくらVPS)サーバにインストールしたNginxでVirtual Host を構築したが繋がらない

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,103

asn

score 14

  1. 前提と環境
    さくら VPSにDebian8 ( 8.6 )インストール済み。
    Nginx ( 1.10.2) はDebian8にインストール済み。
    NginxにIPアドレス指定でブラウザからアクセスし、Welcome to nginx!表示確認済み。
    ムームードメインで取得したドメインでアクセスし、Welcome to nginx!表示確認済み。
    実施したかったことは、具体的には、sub1.domain-a.com と sub2.domain-a.comの2つを構築し、アクセスできるようにする。

2.状況
上記状況で「3.」の手順でVirtual Hostを構築したが、sub1.domain-a.com と sub2.domain-a.comにアクセスしたが、「このサイトにアクセスできません。DNSアドレスが見つかりませんでした」となり、アクセスできない。

3.実施したこと
(1)ディレクトリ構成
/home/ユーザ名/sites/サブドメイン名/ドメイン名/
public <-- index.html等格納
log        <-- log格納

(2)NginxにVirtual Hostの設定

Virtual Host用のデータを格納するディレクトリ作成

$ mkdir /home/user1/sites
$ mkdir /home/user1/sites/sub1
$ mkdir /home/user1/sites/sub1/domain-a.com
$ mkdir /home/user1/sites/sub1/domain-a.com/{public,log}


以下、sub2も同様に作成。

(3)トップページ(index.html)の作成

$ vim  ~/sites/sub1/domain-a.com/public/index.html
$ vim  ~/sites/sub2/domain-a.com/public/index.html


テスト的に内容は以下。

<html>
<head>
<title>sub1/domain-a</title> 
</head>
<body>
Welcome to Sub1.Domain-a.com!
</body>
</html>

(4)バーチャルホスト設定ファイル配置用のディレクトリ作成

$ sudo mkdir /etc/nginx/sites-available
$ sudo mkdir /etc/nginx/sites-enabled

(5)sites-availableに設定ファイルを作成・配置

$ sudo vim /etc/nginx/sites-available/domain-a.com


設定内容は以下。

server {
   listen 80;
   server_name sub1.domain-a.com ;
   access_log /home/user1/sites/sub1/domain-a.com/log/access.log;
   error_log /home/user1/sites/sub1/domain-a.com/log/error.log;
   location / {
        root /home/user1/sites/sub1/domain-a.com/public/;
        index index.html index.php;
        }
   }
server {
   listen 80;
   server_name sub2.domain-a.com ;
   access_log /home/user1/sites/sub2/domain-a.com/log/access.log;
   error_log /home/user1/sites/sub2/domain-a.com/log/error.log;
   location / {
        root /home/user1/sites/sub2/domain-a.com/public/;
        index index.html index.php;
        }
   }


Nginxは、起動時に、ディレクトリ/etc/nginx/sites-enabledに入っている設定ファイルを読み込むため、以下、実施。

$ sudo ln -s /etc/nginx/sites-available/domain-a.com /etc/nginx/sites-enabled/domain-a.com

(6)確認

sudo /etc/init.d/nginx stop
sudo /etc/init.d/nginx start


「2.状況」記載の状態でアクセスできない。

すみませんが、間違っている事項、あるいは調査のための分析の方法等、解決につながることを教えていただけませんでしょうか。
よろしくお願いします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • CHERRY

    2016/12/01 18:19

    お使いのドメインの権威DNSサーバーにvpsのIPアドレスは設定しましたか?

    キャンセル

  • asn

    2016/12/01 18:29 編集

    すみません。権威DNSの意味合いがわかっていませんが。ドメインを取得したムームー側の変更は行い、変更前の表示からwelcome 表示に変わりましたので、設定済みとの認識です。さくら側も実施し、設定パネル上もドメイン名が記載されています。これで、回答になっていますでしょうか?
    補足ですが、ムームー側の変更設定する前は、サイトも作っていなかったので、ドメイン名を入力するとムームーの表示がされていました。変更後、4時間ぐらいたってでしょうか、welcomが表示されるようになりました。

    キャンセル

回答 2

checkベストアンサー

+2

ドメイン名とIPとアドレスの関係を理解する必要があります。

実施したいことが仮に、

ムームードメインで取得されたドメインが domain-a.com
だったとしますと、sub1.domain-a.comとsub2.domain-a.comとdomain-a.comは同じIPアドレスを指定する
事になります。

AレコードとCNAMEレコードの違い

ご要望の構成にするには、CNAMEレコードを2つ追加して、それぞれ別名を2つ定義する必要があります。
sub1.domain-a.comとsub2.domain-a.com ですね。

カスタム設定のセットアップ方法
ここでCNAMEを設定します。(サブドメイン設定)

これらの設定をすると、1つのIPアドレスで3つのドメイン名を持ったサーバが出来上がります。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/12/02 00:07

    ありがとうございます。返信が遅れ申し訳ありません。まだ理解不足なのですが、カスタム設定のセットアップは、ムームー側とさくら側両方いるのでしょうか? それとサブドメインを使わない1つのIPに1つのドメインにした場合には、問題ない(これらの対応は必要ない)と考えてよいのでしょうか。

    キャンセル

  • 2016/12/02 08:49

    どちらでもいいです、ドメイン名を管理させるところをどちらにするかは?お好みです。Googleを検索して、自分で理解しやすい方をえらんでください。片方で設定したら動作確認はできます。
    その際に、VPSのサーバ自体の/etc/resolv.confに、片方のネームサーバを設定してください。ここらへんもgoogle検索すれば、手順は沢山出てきます。
    ご要望システムとして記載したシステム構成であれば、サブドメインの設定は必須です。
    無しでは実現できません。
    3つのドメインでIPアドレスをそれぞれバラバラで設定する場合は、
    proxyを使ったバックエンドサーバ構成にするしかないです。
    構成のイメージとしては、ロードバランサ1台にバックエンドサーバ2台のイメージと同じになります。

    キャンセル

  • 2016/12/02 09:28

    ありがとうございます。トライしようと思います。それでサブドメイン以前の問題があるように思い、色々調べていたのですが、どうも、nginxのデフォルト設定を読み込んでいるようで、今回設定した「/etc/nginx/sites-available/domain-a.com」を読んでいないようでした。ググった情報から「Nginxは、起動時に、ディレクトリ/etc/nginx/sites-enabledに入っている設定ファイルを読み込む」と理解していたのですが、デフォルト設定は、site-enable/defaultではなく、/etc/nginx/conf.dのようで、このあたりの設定の読み込み、設定方法についてご存知でしたら教えていただけますでしょうか。

    キャンセル

  • 2016/12/02 10:06

    設定ファイルが読み込まれていない件について、解決しました。設定ファイルに関する情報は、「 /etc/nginx/nginx.conf 」にあり、その中の記述に、「include /etc/nginx/conf.d/*.conf; 」がありました。対応方法は色々あるかと思いますが、/etc/nginx/conf.d ディレクトリ に「定義名.conf」のファイルを作成し、配置し、読み込まれるようになりました。具体的には「/etc/nginx/conf.d/domain-a.conf」を配置。次は、教えていただいた内容を踏まえ、サブドメイン化を対応します。

    キャンセル

  • 2016/12/02 11:46

    さくらインターネット側でサブドメインの登録をしてすべてうまくいきました。ありがとうございました。

    キャンセル

  • 2016/12/02 11:57

    解決してよかったです。頑張ってください!

    キャンセル

+2

問題点が2つあった。
1.設定ファイルが読み込まれない(デフォルトファイルが読み込まれる)
原因:
設定ファイルの反映方法の誤り
解決策:
/etc/nginx/conf.d ディレクトリ に「定義名.conf」のファイルを作成し、配置することとした。
/etc/nginx/conf.d/domain-a.conf
2.サブドメインが見つからない
原因:
サブドメインの登録がされていない。
解決策:
すでにさくらインターネットのネームサーバを使用するようにしていたので、さくらインターネット側でサブドメインの設定を実施。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.45%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る

  • nginx

    1054questions

    nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

  • Debian

    133questions

    Debianは、Debian GNU/Linux などのOS(オペレーティングシステム)です。