この記事では、複数のWebドメインにサービスを提供するNGINX®仮想ホストを作成する方法を説明します。
この例では、domain1.com
という2つのドメインを作成します およびdomain2.com
。
デフォルトの権限では有効になっているだけなので、demo
ユーザーがホームフォルダを参照するには、次のコマンドを実行して、このフォルダへのNGINXアクセスも許可する必要があります。
chmod 755 /home/demo
これで、各ドメインの基本的なレイアウトを作成できます。 home
ディレクトリ、public_html
を作成します 次のコマンドを実行してフォルダを作成します:
mkdir /home/demo/public_html
次の例に示すように、ホストするドメインごとに、サブフォルダーの標準セットを含むフォルダーを作成します。
mkdir -p /home/demo/public_html/domain1.com/{public,private,,backup}
mkdir -p /home/demo/public_html/domain2.com/{public,private,log,backup}
これらのコマンドは、フォルダpublic
を作成します 、private
、log
、およびbackup
ドメインのforeach.log
domain1.comでWebサイトの公開コンテンツを追加
この例では、パブリックフォルダに非常に単純なHTMLファイルを作成して、仮想ホストが機能していることをすばやく確認できるようにします。
次のコマンドを実行して、domain1.com
のコンテンツを追加します :
nano /home/demo/public_html/domain1.com/public/index.html
次の例のようなコードをファイルに入力します。
<html>
<head>
<title>domain1.com</title>
</head>
<body>
<h1>domain1.com</h1>
</body>
</html>
このプロセスを繰り返して、domain2.com
の同様のHTMLインデックスファイルを作成します。 。
注 : index.htmlのコンテンツを必ず変更してください domain2.com
を表示するファイル domain1.com
ではありません 。
この記事では、CentOS®スタイルのレイアウト(conf.d
を使用)を使用しています 仮想ホストを作成するときに、構成ファイルを格納するディレクトリ)。パッケージマネージャーを使用して、またはソースからNGINXをインストールした場合にも、このレイアウトが使用される可能性があります。
仮想ファイルを編集して、domain1.com
を追加します 次のコマンドを実行します:
sudo nano /etc/nginx/conf.d/virtual.conf
注 :インストールに応じてパスを調整してください。
ソースからインストールする場合は、次のパスを入力する必要があります。
sudo nano /usr/local/nginx/conf/conf.d/virtual.conf
次のコードをファイルに追加します:
server {
listen 80;
server_name www.domain1.com;
rewrite ^/(.*) https://domain1.com/$1 permanent;
}
server {
listen 80;
server_name domain1.com;
access_log /home/demo/public_html/domain1.com/log/access.log;
error_log /home/demo/public_html/domain1.com/log/error.log;
location / {
root /home/demo/public_html/domain1.com/public/;
index index.html;
}
}
ファイルの最初のサーバーモジュールは、訪問者をdomain1.com
にリダイレクトする単純な書き換えルールです。 www.domain1.com
から 。
2番目のサーバーモジュールには、server_name
などの非常に基本的な情報があります。 、これは提供するドメイン名です。
次に、コードはログの場所を簡単に見つけられるように定義します。最後に、サーバーのルートとインデックスファイルを設定します。
NGINXをリロード
サイトを有効にするには、次のコマンドを実行してNGINXをリロードします。
sudo /etc/init.d/nginx reload
次のURLをウェブブラウザのナビゲーションバーに貼り付けて、ドメインに移動します。
https://www.domain1.com
index.htmlの情報を表示する簡単なテストWebページが表示されます。 ファイル。
前の手順で、 virtual.confにコードを追加しました ログの場所を構成したファイル。次のコマンドを実行して、その場所にログがあることを確認します。
ls /home/demo/public_html/domain1.com/log/
...
access.log error.log
次の仮想ホストであるdomain2.com
に対して同じプロセスを繰り返します。 。