目次:
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
Welcome to example.com Success! example.com home page!
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/
ディレクトリへのシンボリックリンクを介して有効にされます。
選択したエディターを開き、次のサーバーブロックファイルを作成します。
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をインストールする方法ファーストルック:Ubuntu 7.10デスクトップLinux

「Gutsy Gibbon」リリースは、フラッシュと機能をもたらし、デスクトップLinuxのリーダーとしてUbuntuをリードしています。 Webサイトやデータベースを実行するためのLinuxディストリビューションの選択は簡単です。 Linuxは長年にわたってサーバをうまく処理してきました。しかし、デスクトップ上でLinuxを正しく利用することは常に困難でした。そのため、Ubuntuは3年前に初めて登場したときにこのような話題を呼びました。 Ubuntuバージョン7.10(コードネームGutsy Gibbon)は、グラフィクスの改善、ソフトウェアインストールの簡素化、およびソフトウェアのマイナーな改良など、過去の成功を基盤にしています。
デスクトップLinux Face-Off:Ubuntu 8.04対Fedora 9

世界最大の2つの新バージョンLinuxのディストリビューションが勢ぞろいしています。彼らはどのようにマッチするのですか?
Ubuntu 9.04 Beta:クイックルック

Ubuntu Jaunty Jackalopeの予定されたベータ版が到着しました。ここでは、どのように形作っているかを見ていきます。