第2章 NGINX の設定および設定

NGINX は、次のように使用できる高パフォーマンスなモジュラーサーバーです。

  • Web サーバー
  • リバースプロキシー
  • ロードバランサー

本セクションでは、このシナリオで NGINX を行う方法を説明します。

2.1. NGINX のインストールおよび準備

Red Hat Enterprise Linux 9 では、NGINX のさまざまなバージョンがアプリケーションストリームによって提供されます。デフォルト設定を使用すると、NGINX はポート 80 の Web サーバーとして実行され、/usr/share/nginx/html/ ディレクトリーからコンテンツを提供します。

前提条件

  • RHEL 9 がインストールされている。
  • ホストが Red Hat カスタマーポータルにサブスクライブしている。
  • firewalld サービスが有効化され、開始されている。

手順

  1. nginx パッケージをインストールします。

    • このアプリケーションストリームの初期バージョンとして NGINX 1.20 を RPM パッケージからインストールするには、以下を実行します。

      # dnf install nginx
      注記

      以前に NGINX モジュールストリームを有効にしたことがある場合、このコマンドは有効なストリームから NGINX バージョンをインストールします。

    • モジュールストリームから NGINX の代替の新しいバージョンをインストールするには、以下を実行します。

      1. 利用可能な NGINX モジュールストリームを表示します。

        # dnf module list nginx
        ...
        rhel-AppStream
        Name        Stream        Profiles        Summary
        nginx       1.22          common [d]      nginx webserver
        ...
        Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
      2. 選択したストリームを有効にします。

        # dnf module enable nginx:stream_version
      3. nginx パッケージをインストールします。

        # dnf install nginx
  2. NGINX がファイアウォールでサービスを提供するポートを開きます。たとえば、firewalld で HTTP (ポート 80) および HTTPS (ポート 443) のデフォルトポートを開くには、次のコマンドを実行します。

    # firewall-cmd --permanent --add-port={80/tcp,443/tcp}
    # firewall-cmd --reload
  3. nginx サービスがシステムの起動時に自動的に起動するようにします。

    # systemctl enable nginx
  4. 必要に応じて、nginx サービスを起動します。

    # systemctl start nginx

    デフォルト設定を使用しない場合は、この手順を省略し、サービスを起動する前に NGINX を適切に設定します。

検証手順

  1. dnf ユーティリティーを使用して、nginx パッケージがインストールされていることを確認します。

    • NGINX 1.20 RPM パッケージの場合:

      # dnf list installed nginx
      Installed Packages
      nginx.x86_64    1:1.20.1-4.el9       @rhel-AppStream
    • 選択した NGINX モジュールストリームの場合:

      # dnf list installed nginx
      Installed Packages
      nginx.x86_64    1:1.22.1-3.module+el9.2.0+17617+2f289c6c    @rhel-AppStream
  2. NGINX がサービスを提供するポートが firewalld で開いていることを確認します。

    # firewall-cmd --list-ports
    80/tcp 443/tcp
  3. nginx サービスが有効になっていることを確認します。

    # systemctl is-enabled nginx
    enabled