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

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

新規登録して質問してみよう
ただいま回答率
85.48%
nginx

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

Debian

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

Q&A

解決済

2回答

2460閲覧

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

asn

総合スコア20

nginx

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

Debian

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

1グッド

0クリップ

投稿2016/12/01 08:41

編集2016/12/01 08:43
  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.状況」記載の状態でアクセスできない。

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

Y.H.👍を押しています

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CHERRY

2016/12/01 09:19

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

2016/12/01 09:45 編集

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

回答2

0

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

投稿2016/12/02 02:54

asn

総合スコア20

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

ドメイン名と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/01 13:08

編集2016/12/01 13:10
nagaetty

総合スコア1106

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

asn

2016/12/01 15:07

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

2016/12/01 23:49

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

2016/12/02 00:28

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

2016/12/02 01:06

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

2016/12/02 02:46

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

2016/12/02 02:57

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問