サーバー構成ブロックはNginxディレクティブであり、指定されたドメイン名の設定を定義して、単一のサーバーで複数のWebサイトを実行できるようにします。 Webサイトごとに、Webサイトファイルのルートディレクトリ(Webサイトファイルを含むディレクトリ)を設定したり、独立したセキュリティポリシーを作成したり、異なる[SSL証明書](https://cloud.tencent.com/product/symantecssl?from=10680)を使用したりできます。
この記事では、CentOS8でNginxサーバーブロックを設定する方法について説明します。
このガイドに進む前に、次の前提条件を満たしていることを確認してください。
一部のドキュメントでは、「サーバーブロック」という用語は「仮想ホスト」とも呼ばれます。仮想ホストはApacheの用語です。
ドキュメントルートディレクトリは、各ドメイン名の対応するWebサイトファイルが保存され、要求に応答する場所です。
ドキュメントのルートディレクトリは、任意の場所に設定できます。
次のフォルダ構造を使用します。
/var/www/
├── example.com
│ └── public_html
├── example2.com
│ └── public_html
├── example3.com
│ └── public_html
サーバーでホストされているドメイン名ごとに、 / var / www
ディレクトリの下に個別のフォルダを作成します。フォルダーdomainnameフォルダーの下に、ドメイン名のファイルルートディレクトリとして機能し、ドメイン名のWebサイトファイルを格納する 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
次のコードをコピーしてファイルに貼り付けます。
<! 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
に変更します。
sudo chown -R nginx:/var/www/example.com
CentOSでは、Nginxサーバーブロック構成ファイルはデフォルトで .conf
で終わり、 / etc / nginx / conf.d
ディレクトリに保存されます。
テキストエディタを開き、ドメイン名の構成ファイルを作成します。
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
を開くと、次の画面が表示されます。
Nginxサーバー構成ブロックを作成し、単純なCentOSサーバーで多くのドメイン名をホストする方法を示しました。
上記の手順を繰り返して、すべてのドメインにサーバー構成ブロックを追加できます。
WebサイトをSSL証明書で暗号化する場合は、無料の[Letsencrypt無料SSL証明書](https://linuxize.com/post/secure-nginx-with-let-s-encrypt-on-centos-8/)を生成してインストールできます。
Recommended Posts