GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS7でNginxサーバーブロックを設定する方法

Nginx Server Blocksを使用すると、1台のマシンで複数のWebサイトを実行できます。これは、サイトごとにサイトドキュメントルート(Webサイトファイルを含むディレクトリ)を指定したり、個別のセキュリティポリシーを作成したり、さまざまなSSL証明書を使用したりできるため便利です。

このチュートリアルでは、CentOS7でNginxサーバーブロックを設定する方法を説明します。

前提条件#

このチュートリアルを続行する前に、次の前提条件を満たしていることを確認してください。

  • パブリックサーバーのIPを指すドメイン名。 example.comを使用します 。
  • CentOSシステムにインストールされているNginx。
  • rootまたはsudo権限を持つユーザーとしてログインしました。
一部のドキュメントでは、Server Blocksが表示されます Virtual hostと呼ばれます 。仮想ホストはApacheの用語です。

ディレクトリ構造を作成する#

ドキュメントルートは、ドメイン名のWebサイトファイルが保存され、要求に応じて提供されるディレクトリです。ドキュメントルートは任意の場所に設定できます。

次のディレクトリ構造を使用します:

/var/www/
├── example.com
│   └── public_html
├── example2.com
│   └── public_html
├── example3.com
│   └── public_html

基本的に、/var/www内のサーバーでホストするドメインごとに個別のディレクトリを作成します。 ディレクトリ。このディレクトリ内に、public_htmlを作成します ドメインドキュメントのルートディレクトリになり、ドメインのWebサイトファイルを保存するディレクトリ。

ドメインexample.comのルートディレクトリを作成することから始めましょう :

sudo mkdir -p /var/www/example.com/public_html

テストの目的で、index.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>

この例では、sudoユーザーとしてコマンドを実行しており、新しく作成されたファイルとディレクトリはrootユーザーが所有しています。

権限の問題を回避するには、ドメインドキュメントのルートディレクトリの所有権をNginxユーザー(nginx)に変更します ):

sudo chown -R nginx: /var/www/example.com

サーバーブロックを作成する#

Nginxサーバーブロック構成ファイルは.confで終わる必要があります /etc/nginx/conf.dに保存されます ディレクトリ。

選択したエディターを開き、example.comのサーバーブロック構成ファイルを作成します 。

sudo nano /etc/nginx/conf.d/example.com.conf
必要に応じて構成ファイルに名前を付けることができます。通常、ドメイン名を使用するのが最善です。

次のコードをコピーしてファイルに貼り付けます。

/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を開きます。 選択したブラウザで、次のように表示されます:


Cent OS
  1. CentOS 7でNginxサーバーブロックを構成する-ステップバイステップのプロセス?

  2. UbuntuとCentOSでNginxサーバーブロックを設定する方法

  3. CentOS8でVSFTPDを設定する方法

  1. CentOS 7でNginx仮想ホスト(サーバーブロック)を設定する方法

  2. Ubuntu18.04でNginxサーバーブロックを設定する方法

  3. CentOS 8でDHCPサーバーをセットアップする-その方法は?

  1. Ubuntu20.04でNginxサーバーブロックを設定する方法

  2. CentOS7でOpenVPNサーバーをセットアップする方法

  3. CentOS8にNginxをインストールする方法