 
 Nginx Server Blocksを使用すると、1台のマシンで複数のWebサイトを実行できます。サーバーブロックを使用すると、サイトドキュメントルート(Webサイトファイルを含むディレクトリ)を指定したり、サイトごとに個別のセキュリティポリシーを作成したり、サイトごとに異なるSSL証明書を使用したりできます。
このチュートリアルでは、Debian9でNginxサーバーブロックを設定する方法を紹介します。
前提条件#
このチュートリアルを続行する前に、次の前提条件を満たしていることを確認してください。
- パブリックサーバーのIPを指すドメイン名。 example.comを使用します 。
- Nginxがインストールされています。
- rootまたはsudo権限を持つユーザーとしてログインしています。
Server Blocksが表示されます Virtual hostと呼ばれます 。仮想ホストはApacheの用語です。 ディレクトリ構造を作成する#
ドキュメントルートは、ドメイン名のWebサイトファイルが保存され、要求に応じて提供されるディレクトリです。ドキュメントルートは、Debianサーバー上の任意のディレクトリにすることができます。
次のディレクトリ構造を使用します:
/var/www/
├── domain1.com
│   └── public_html
├── domain2.com
│   └── public_html
├── domain3.com
│   └── public_html
 /var/www内のサーバーでホストされるドメインごとに個別のディレクトリを作成します ディレクトリ。これらの各ディレクトリ内に、public_htmlを作成します ドメインのウェブサイトファイルを保存するディレクトリ。
 ドメインexample.comのルートディレクトリを作成することから始めます :
sudo mkdir -p /var/www/example.com/public_html
 次に、index.htmlを作成します ドメインのドキュメントルートディレクトリ内のファイル。
sudo nano /var/www/example.com/public_html/index.htmlファイルを開き、次の行を貼り付けます。
/var/www/example.com/public_html/index.html<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>Welcome to example.com</title>
  </head>
  <body>
    <h1>Success! example.com home page!</h1>
  </body>
</html>
 権限の問題を回避するには、ドメインドキュメントのルートディレクトリの所有権をNginxユーザー(www-data)に変更します ):
sudo chown -R www-data: /var/www/example.comサーバーブロックを作成する#
 Debianシステムのデフォルトでは、Nginxサーバーブロック構成ファイルは/etc/nginx/sites-availableに保存されます /etc/nginx/sites-enabled/へのシンボリックリンクを介して有効にされるディレクトリ ディレクトリ。
選択したエディターを開き、次のサーバーブロックファイルを作成します。
sudo nano /etc/nginx/sites-available/example.com.confserver {
    listen 80;
    listen [::]:80;
    root /var/www/example.com/public_html;
    index index.html;
    server_name example.com www.example.com;
     access_log /var/log/nginx/example.com.access.log;
     error_log /var/log/nginx/example.com.error.log;
    location / {
        try_files $uri $uri/ =404;
    }
}
構成ファイルには好きな名前を付けることができますが、通常はドメイン名を使用するのが最適です。
 ファイルからsites-enabledへのシンボリックリンクを作成して、新しいサーバーブロックファイルを有効にします ディレクトリ:
sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/正しい構文についてNginx構成をテストします:
sudo nginx -tエラーがない場合、出力は次のようになります。
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
変更を有効にするには、Nginxサービスを再起動します。
sudo systemctl restart nginx
 最後に、サーバーブロックが期待どおりに機能していることを確認するには、http://example.comを開きます。 選択したブラウザで、次のように表示されます:
