アンドロイド

ubuntu 18.04でnginxサーバーブロックを設定する方法

目次:

Anonim

Nginx Server Blocksを使用すると、1台のマシンで複数のWebサイトを実行できます。 サーバーブロックを使用すると、サイトドキュメントルート(Webサイトファイルを含むディレクトリ)を指定し、各サイトに個別のセキュリティポリシーを作成し、各サイトに異なるSSL証明書を使用できます。

このチュートリアルでは、Ubuntu 18.04でNginxサーバーブロックを設定する方法(Apache Virtual Hostsに類似)をステップごとに説明します。

前提条件

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

  • パブリックサーバーIPを指すドメイン名があります。 このチュートリアルでは、 example.com を使用し example.com 。次の手順に従ってNginxをインストールします。sudo権限を持つユーザーとしてログインします。
一部のドキュメントでは、 Server Blocks Virtual host と呼ばれていることがわかり Server Blocks 。 仮想ホストはApacheの用語です。

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

ドキュメントルートは、ドメイン名のウェブサイトファイルが保存され、リクエストに応じて提供されるディレクトリです。 ドキュメントルートは任意の場所に設定できますが、このガイドでは次のディレクトリ構造を使用します。

/var/www/ ├── domain1.com │ └── public_html ├── domain2.com │ └── public_html ├── domain3.com │ └── public_html

基本的に、サーバー上でホストするドメインごとに、 /var/www ディレクトリ内に個別のディレクトリを作成します。 これらの各ディレクトリ内に、ドメインWebサイトファイルを格納する public_html ディレクトリを作成します。

ドメイン example.com ルートディレクトリを作成しましょう。

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

テストのために、ドメインのドキュメントルートディレクトリ内に index.html ファイルを作成します。

エディターを開き、デモファイルを作成します。

/var/www/example.com/public_html/index.html

<code> Welcome to example.com Success! example.com home page! </code>

Welcome to example.com Success! example.com home page!

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

アクセス許可の問題を回避するために、ドメインドキュメントルートディレクトリの所有権をNginxユーザー( www-data )に変更できます。

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

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

Ubuntuシステムのデフォルトでは、Nginxサーバーブロックの構成ファイルは /etc/nginx/sites-available ディレクトリに保存され、 /etc/nginx/sites-enabled/ ディレクトリへのシンボリックリンクを介して有効にされます。

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

/etc/nginx/sites-available/example.com

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; } }

構成ファイルには好きな名前を付けることができますが、通常はドメイン名を使用することをお勧めします。

新しいサーバーブロックファイルを有効にするには、ファイルから sites-enabled ディレクトリへのシンボリックリンクを作成する必要があります。これは、起動時にNginxによって読み取られます。

sudo ln -s /etc/nginx/sites-available/example.com /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 を開きます。次のように表示されます。

結論

単一のUbuntuサーバーで複数のドメインをホストするために、Nginxサーバーブロック構成を作成する方法を学習しました。 上記の手順を繰り返して、すべてのドメインに対して追加のサーバーブロックを作成できます。

Ubuntu 18.04でLet's Encryptを使用してNginxを保護する

nginx Ubuntu

この投稿は、how-to-install-lemp-stack-on-ubuntu-18-04シリーズの一部です。

このシリーズの他の投稿:

•Ubuntu 18.04にNginxをインストールする方法•Ubuntu 18.04でNginxサーバーブロックをセットアップする方法•Ubuntu 18.04でLet's Encryptを使用してNginxを保護する•Ubuntu 18.04にMySQLをインストールする方法•Ubuntu 18.04にPHPをインストールする方法