Ubuntu 20.04LTSにNginxをインストールする方法

Ubuntu20.04システムにNginxWebサーバーをインストールしてセットアップするための完全なステップバイステップガイド

Nginxは、複数のプラットフォームで利用できるオープンソースで人気のあるリバースプロキシWebサーバーです。ソフトウェアはによって開発されました イゴール・シソエフ C10K問題の解決策として、2004年に最初にリリースされました。C10K問題は、1万のクライアントを同時に処理する問題であり、2000年代初頭には非常に簡単ではありませんでした。

このチュートリアルでは、Ubuntu 20.04LTSにNginxをインストールしてセットアップする方法を見ていきます。

前提条件

Ubuntu 20.04がインストールされ、 sudo ユーザー。さらに、Apacheなどの他のWebサーバーをポート80または443で実行する必要はありません。

Nginxのインストール

NginxはUbuntu20.04リポジトリで利用可能であり apt パッケージマネージャーを使用してインストールできます。したがって、Nginxをインストールするには、を使用してターミナルを開きます ctrl + alt + t 実行します:

sudo apt update && sudo apt install nginx

インストールはまもなく完了し、Nginxデーモンはバックグラウンドで自動的に起動します。したがって、Nginxのステータスを確認するには、次のコマンドを実行します。

sudo systemctl status nginx

上記のコマンドを実行した後、Nginxステータスを次のように取得する必要があります アクティブ(実行中) 以下に示すように緑色で表示されます。

Ubuntuファイアウォール(UFW)の設定

デフォルトでは、Ubuntu 20.04では発信ポートHTTP(80)およびHTTPS(443)が閉じられています。さらに、デフォルトのファイアウォールデーモン ufw すべてのポートが閉じているため、は無効になっています。

したがって、他のシステムからNginxサーバーにアクセスするには、 ufw ポートでのトラフィックを許可するように正しく設定します 80443。有効にする前に ufw、リモートサーバーでNginxを設定する場合は、最初に ufw 許可するルール ssh 実行することによって:

sudo ufw allow ssh

上記のコマンドにより、 ssh 許可せずにリモートサーバーにアクセスする ssh リモートサーバーからロックアウトされます。

有効にした後 ssh アクセス、有効にすることができます ufw 実行することによるファイアウォールデーモン:

sudo ufw enable

次に、ファイアウォールルールを変更して、HTTPポートとHTTPSポートを許可し、NginxがWebトラフィックを処理できるようにする必要があります。ルールを変更するには、次のコマンドを実行します。

sudo ufw allow'Nginx Full '

Nginxフル すべてのIPアドレスからの着信トラフィックと発信トラフィックにHTTPポートとHTTPSポートの両方を許可します。

その後、ルールが適切に追加されているかどうかを確認します ufw コマンドを実行してファイアウォール:

sudoufwステータス

上記のコマンドは、追加したルールを出力します ufw ファイアウォールデーモン。

Nginxサーバーへの接続

これで、Nginxをインストールして構成しました ufw 着信HTTPおよびHTTPSWebトラフィックを許可するには、サーバーのIPアドレスを使用してNginxサーバーにアクセスできる必要があります。

サーバーのIPアドレスがわからない場合は、以下のコマンドを使用して簡単に取得できます。

ip addr show eth0 | grep inet | awk '{print $ 2; } '| sed's /\/.*$// '

IPアドレスを取得したら、それをブラウザに貼り付けてEnterキーを押します。

// your-server-ip

すべてが正しく構成されていれば、「Welcome tonginx!」のWebページが表示されるはずです。

Nginxファイルとディレクトリ

これで、Nginxがサーバーにインストールされて実行されました。 Webサイト/ Webアプリを構成するために使用する必要がある重要なNginxファイルとディレクトリのいくつかを見てみましょう。

Webサーバーのコンテンツ

サーバーブロックのルートディレクトリにする任意の場所を構成できます。 NginxのデフォルトのHTMLは直接 / var / www / html、以前にアクセスした「ウェルカム」ページがある場所です。

ドメインのルートディレクトリとして通常使用されるその他の場所は次のとおりです。

  • /家//
  • / var / www / html /
  • / opt /

Nginx構成ファイル

すべてのNginx構成ファイルはにあります / etc / nginx ディレクトリ。基本ドメインを設定するために必要ないくつかの重要なファイルを見てみましょう。

  • /etc/nginx/nginx.conf:このファイルには、Nginxを実行するために必要なすべての構成が含まれています。
  • / etc / nginx / sites-available /:このディレクトリには、ドメインのすべてのサーバーブロック構成がありますが、現在有効化/展開されていないため、クライアントはアクセスできません。
  • / etc / nginx / sites-enabled /:このディレクトリには、クライアントがアクセスできる現在アクティブ/有効なドメインが保持されます。ドメインを有効にするには、ドメイン構成ファイルをからリンクする必要があります サイト-利用可能サイト対応 ディレクトリ。
  • / etc / nginx / snippets/:このディレクトリには、再利用可能な構成のセグメントを保存できます。構成のセグメント/ブロックを再利用可能にすることができるため、実稼働環境で多くの時間を節約できます。

サーバーログ

Nginxはイベント/アクティビティをログに記録し、それらをログファイルに保存します。 / var / log / nginx ディレクトリ。 Nginxは、次のファイルにアクティビティを記録します。

  • /var/log/nginx/access.log:このファイルは、Nginxサーバーにアクセスしたクライアントをログに記録します。詳細には、クライアントのIPアドレス、日時、サーバーおよびOSへのアクセスに使用されるブラウザーが含まれます。
  • /var/log/nginx/error.log:このファイルは、実行中にNginxサーバーで発生したエラーをログに記録します。

そのため、このセクションでは、開始するのに十分な重要なNginxファイルとディレクトリのいくつかを簡単に見てきました。

サーバーブロックの設定

Nginxファイルとサーバーに関する基本的な知識が得られたので、独自のサーバーブロックを設定する準備が整いました。サーバーブロックはApache仮想ホストに似ています。

サーバーブロックを作成する方法を見て、使用する方法を示します example.com 作成プロセスのドメインとして。

💡置換 example.com あなたのドメイン名で.

サーバーブロックの構成を開始する前に、Webサイトコンテンツのルートディレクトリとして機能するディレクトリを作成する必要があります。作成しましょう /var/www/example.com/html を使用するドメインのディレクトリ mkdir 指図。

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

The -p オプションは、必要なすべての親ディレクトリを作成します。つまり、作成されます example.com 親ディレクトリ html 存在しない場合。

ディレクトリの所有権を $ USER 環境変数:

sudo chown -R $ USER:$ USER /var/www/example.com/html

次に、簡単なものを作成します index.html 構成されているドメインにアクセスしたときにアクセスされるファイル。これは説明のみを目的としています。

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

サーバー上に作成したファイルに次のコンテンツを貼り付けます。

  example.comへようこそ! 

よ! example.comにアクセスできます!

押す ctrl + o 書き込みと保存 index.html ファイルしてから、を押します ctrl + x 出る ナノ 編集者。

最後に、サーバーブロックの作成に移り、Nginxが index.html 一部のユーザーが example.com。したがって、サーバーブロックを作成するには、次の名前の構成ファイルを作成する必要があります。 example.comサイト-利用可能 ディレクトリ。そのために、nanoを使用して実行します。

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

次に、次の構成を入力するか、コピーして貼り付けます。次にを押します ctrl + o 書き込みと保存を入力します。同様に、を押します ctrl + x nanoエディターを閉じます。

サーバー{リッスン80;聞く[::]:80; server_name example.com www.example.com;ルート/var/www/example-domain.com/html; index index.html;場所/ {try_files $ uri $ uri / = 404; }}

上記の構成はデフォルトのサーバーブロック構成に似ていますが、変更しました 新しいルートディレクトリをポイントし、 サーバーネーム 私たちのドメイン名に。ながら 位置{} ステートメントは、ファイルが見つからない場合のエラーキャッチステートメントとして機能し、クライアントにエラー404を表示します。

次に、サーバーブロックを有効にして、Nginxがサービスを提供できるようにします example.com ウェブページ。サーバーブロックを有効にするには、次のシンボリックリンクを作成する必要があります。 example.com からのファイル サイト-利用可能サイト対応 ディレクトリ。これを行うには、次を実行します。

sudo ln -s /etc/nginx/sites-available/example.com / etc / nginx / sites-enabled

リンクはで作成されます サイト対応 ディレクトリと今 example.com 有効にする必要があります。これで、Nginxサーバーで2つのサーバーブロックが有効になり、に基づいてリクエストに応答します。 聞くsever_name 保存されたディレクティブ example.com サーバーブロック構成。

すべての構成ファイルが正しく、構文エラーがないかどうかを確認するには、次のコマンドを実行します。

sudo nginx -t

最後に、次のコマンドを実行して、Nginxを再起動し、変更を適用します。

sudo systemctl restart nginx

Nginxは今すぐサーバーブロックの提供を開始します。 // your-domain-name そしてあなたのウェブページをライブで見てください。

ノート: 上記のセクションを機能させるには、独自のドメインを設定して置き換える必要があります example.com あなた自身のドメイン名で。また、NginxサーバーのIPアドレスを指すようにドメインのDNSを構成する必要があります。

結論として、Nginxをインストールし、構成する方法を見てきました ufw Nginxにリモート接続されたNginxサーバーへのリモートアクセスを許可するために、いくつかの基本的なNginxファイルとディレクトリに精通し、サーバーブロックの設定方法を学びました。

Nginxについて詳しく知るには、Nginxwikiを参照してください。