GNU/Linux >> Linux の 問題 >  >> Linux

Ubuntu 18.04 に NGINX をインストールする方法

NGINX は、特に静的ファイルの管理やリバース プロキシとして使用される高性能 Web サーバーです。その汎用性のおかげで、NGINX はあらゆる状況で使用できます。このガイドでは、サーバーにインストールする方法と、2 つ以上のドメイン用に構成する方法について説明します。

まず、SSH 接続を介してサーバーに接続します。まだ行っていない場合は、ガイドに従って SSH で安全に接続することをお勧めします。ローカル サーバーの場合は、次のポイントに進み、サーバーのターミナルを開きます。

NGINX のインストール

配布リポジトリを更新して、NGINX の最新バージョンをダウンロードしてください:

$ sudo apt update

次のコマンドを実行して、NGINX パッケージをインストールします:

$ sudo apt install nginx

インストールが完了したら、サービスを起動してシステムにインストールします:

$ sudo systemctl start nginx

$ sudo systemctl enable nginx

ファイアウォールの構成

システムにファイアウォールがある場合は、マシンへの HTTP トラフィックと HTTPS トラフィックを有効にするように設定してください。

UFW ファイアウォールを使用する場合、事前にインストールされた NGINX 用のプロファイルが提供されます。それでは、それらを有効にする方法を見てみましょう。

UFW ファイアウォールにインストールされている利用可能なプロファイルを確認するには、次のコマンドを実行します:

$ sudo ufw app list

次のようなリストが画面に表示されます:

Available applications:

  Dovecot IMAP

  Dovecot POP3

  Dovecot Secure IMAP

  Dovecot Secure POP3

  Nginx Full

  Nginx HTTP

  Nginx HTTPS

  OpenSSH

  Postfix

  Postfix SMTPS

  Postfix Submission

HTTP (ポート 80) および HTTPS (ポート 443) トラフィックを許可するには、「Nginx Full」プロファイルを使用します。

以下に示すプロフィール情報を確認してください:

$ sudo ufw app info "Nginx Full"

画面上のプロフィールの説明が表示されます:

Profile: Nginx Full

Title: Web Server (Nginx, HTTP + HTTPS)

Description: Small, but very powerful and efficient web server
                Ports:

  80,443/tcp

プロファイルを確認したら、プロファイルを有効にする準備が整います:

$ sudo ufw allow in "Nginx Full"

この時点で、NGINX とファイアウォールの構成は完了です。アドレス http:// にアクセスして Web サーバーをテストするか、ローカル サーバーの場合は http:// localhost にアクセスします。手順が正しく実行された場合、デフォルトの NGINX 画面が表示されます。

2 つのドメイン/ウェブサイトを正しく構成する:

以下に、2 つの仮想ホスト (「サーバー ブロック」と呼ばれる) を構成して、2 つの完全に分離した Web スペースを作成する方法を示します。この例では、2 つの架空のドメインを使用します:

  • www.yourdomain.com

  • www.yourdomain2.com

両方の A レコードがサーバーのパブリック IP アドレスを指している必要があります。

Web サイトの公開ファイルを保持するために必要なすべてのフォルダーを作成することから始めます。

$ sudo mkdir /var/www

$ sudo mkdir /var/www/yourdomain.com

$ sudo mkdir /var/www/yourdomain.com/htdocs

$ sudo mkdir /var/www/yourdomain.com/logs
                $ sudo mkdir /var/www/yourdomain2.com

$ sudo mkdir /var/www/yourdomain2.com/htdocs

$ sudo mkdir /var/www/yourdomain2.com/logs

一時的なコンテンツとして、デフォルトの NGINX ページを各ドメインの htdocs フォルダーにコピーします。

$ sudo cp /usr/share/nginx/html/* /var/www/yourdomain.com/htdocs/

$ sudo cp /usr/share/nginx/html/* /var/www/yourdomain2.com/htdocs/

では、NGINX の実際の構成に進みます。 NGINX は通常、/etc/nginx/conf.d/ ディレクトリ内のすべての .conf ファイルを読み取り、2 つのファイル (ドメインごとに 1 つ) を作成して名前を付けます:

  • yourdomain_com.conf

  • yourdomain2_com.conf

お気に入りのテキスト エディタを使用して、次の構成を yourdomain_com.conf ファイルに書き込みます:

server {
                        

        listen 80;
                        

        server_name yourdomain.com *.yourdomain.com;
                        

        root /var/www/yourdomain.com/htdocs;
                        

        access_log /var/www/yourdomain.com/logs/access.log main;

        error_log /var/www/yourdomain.com/logs/error.log warn;

}

もちろん、yourdomain2_com.conf にも同様の構成を使用する必要があります:

server {
                        

        listen 80;
                        

        server_name yourdomain2.com *.yourdomain2.com;
                        

        root /var/www/yourdomain2.com/htdocs;
                        

        access_log /var/www/yourdomain2.com/logs/access.log main;

        error_log /var/www/yourdomain2.com/logs/error.log warn;

}

仮想ドメインのファイルのルート フォルダーの設定に加えて、ログ ファイル (アクセスとエラーの両方) のパスを構成する設定もあります。ドメイン。通常、NGINX はすべてのログを /var/log/nginx/ ディレクトリに保存しますが、複数のドメインの場合、結果が混乱する可能性があります。

パスが変更されると、時間の経過とともにログが大きくなりすぎる可能性があります。したがって、最も古い内容を削除するには、ファイルのローテーションを設定する必要があります。そのためには、logrotate ソフトウェアを使用してください。

logrotate 設定に新しいログ ファイルを追加するには、/etc/etc/logrotate.d/nginx ファイルを編集します:

/var/log/nginx/*log {

    create 0644 nginx nginx

    daily

    rotate 10

    missingok

    notifempty

    compress

    sharedscripts

    postrotate

        /bin/kill -USR1 `cat /run/nginx.pid 2>/dev/null` 2>/dev/null || true

    endscript

}

ご覧のとおり、既に /var /log/nginx に NGINX ファイルの構成が存在します。次のように、ファイルの最初の部分を変更して続行します。

/var/log/nginx/*log

/var/www/*/logs/* {

    ...

}

この変更が行われると、logrotate は /var/www/mydomain.it と /var/www/yourdomain.com (およびその他) の両方のログ フォルダー内のすべてのファイルを管理します。将来追加される可能性のある他のドメインについて心配する必要があります。

完了したら、サービスを再起動して変更を適用します:

$ sudo systemctl reload nginx

Linux
  1. Ubuntu16.04にNginxをインストールする方法

  2. Ubuntu18.04にNginxをインストールする方法

  3. Ubuntu18.04にLEMPをインストールする方法

  1. Ubuntu20.04にRをインストールする方法

  2. Ubuntu18.04にNginxをインストールする方法

  3. UbuntuにNginxをインストールする

  1. Ubuntu16.04にNginxをインストールする方法

  2. Ubuntu18.04にGoをインストールする方法

  3. Ubuntu18.04にRをインストールする方法