Nginxサーバーブロックを使用すると、単一のサーバーで複数のドメインをホストできます。各サイトの構成を個別に管理すると非常に便利です。個別のセキュリティポリシーを設定し、さまざまなSSL証明書などを使用できます。
ここLinuxAPTでは、サーバー管理サービスの一環として、お客様が関連するNginxクエリを実行するのを定期的に支援しています。
このコンテキストでは、CentOS7でNginxサーバーブロックを構成する方法を検討します。
CentOSでNginxサーバーブロックを作成する方法は?
NginxサーバーブロックはApache仮想ホストに似ています。
この構成手順に進む前に、次の前提条件が満たされていることを確認する必要があります。
- sudo権限を持つroot以外のユーザーがいるCentOS7サーバー。
- ドメイン名はサーバーのIPアドレスを指している必要があります。
- CentOS 7サーバーにNginxをインストールする方法に示すように、Nginxをインストールして構成する必要があります。
1.ディレクトリ構造を作成します
まず、訪問者に提供するサイトデータを保存するためのディレクトリ構造を設計します。
最上位ディレクトリはDocumentRootディレクトリと見なされます。ドキュメントルートは任意の場所に設定できますが、ディレクトリ構造で設定することをお勧めします。
したがって、すべてを/ var / wwwに保存します:
/var/www/
├── example1.com
│ └── public_html
├── linuxapt.com
│ └── public_html
ここでは、/ var/wwwディレクトリの下にドメインごとに個別のディレクトリを作成しています。
このディレクトリ内に、ウェブサイトデータを保存するためのドメインドキュメントルートディレクトリとしてpublic_htmlディレクトリを作成します。
$ sudo mkdir -p /var/www/example.com/public_html
テスト目的で、ドメインドキュメントのルートディレクトリ内にindex.htmlファイルを作成します。
デフォルトでは、このページは訪問者がWebサイトにアクセスしたときに表示されます。
お気に入りのテキストエディタタイプを使用して、新しいindex.htmlファイルを作成できます:
$ sudo nano /var/www/example.com/public_html/index.html
その後、以下の行を追加します:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Welcome!!</title>
</head>
<body>
<h1>Great! example.com set up completed!</h1>
</body>
</html>
このガイドでは、すべてのコマンドがsudoユーザーとして実行され、新しく作成されたファイルとディレクトリはrootユーザーが所有します。そのため、後で通常のユーザーのアクセス許可の問題を回避するために、ドキュメントのルートディレクトリの所有権を変更します。したがって、通常のユーザーは問題なくWebディレクトリ内のファイルを変更できます。
$ sudo chown -R nginx: /var/www/example.com
2.サーバーブロックを作成する
Nginxサーバーブロック構成ファイルは、拡張子が.confで終わる必要があります。これらのファイルは/etc/nginx/conf.dディレクトリに保存する必要があります。
次のように入力して、選択したテキストエディタを使用してexample.comの新しいファイルを作成します:
$ sudo nano /etc/nginx/conf.d/example.com.conf
次に、このファイルに次の行を追加します。
server {
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;
}
}
構成ファイルには任意の名前を付けることができますが、ファイル名にはドメイン名と同じ名前を付けることをお勧めします。
次に、ファイルを保存し、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をWebブラウザで開いて確認すると、次のように表示されます:
Great! example.com set up completed!