ホームページ  >  記事  >  運用・保守  >  nginx を使用して静的コンテンツを提供する

nginx を使用して静的コンテンツを提供する

(*-*)浩
(*-*)浩オリジナル
2019-11-30 14:37:383400ブラウズ

nginx を使用して静的コンテンツを提供する

Web サーバーの重要なタスクは、ファイル (画像や静的 HTML ページなど) を提供することです。

リクエストに応じて、ファイルはさまざまなローカル ディレクトリ、/data/www (HTML ファイルが含まれる場合があります) および /data/images (画像が含まれる場合があります) から提供されます。これには、構成ファイルを編集し、2 つのロケーション ブロックを使用して http ブロック内にサーバー ブロックを設定する必要があります。 (推奨される学習: nginx の使用)

まず、/data/www ディレクトリを作成し、テキスト コンテンツを含む Index.html ファイルをそこに配置し、/data/ を作成します。画像ディレクトリを開き、そこに画像をいくつか入れます。 2 つのディレクトリを作成します -

[root@localhost ~]# mkdir -p /data/www
[root@localhost ~]# mkdir -p /data/images
[root@localhost ~]#

上で作成した 2 つのディレクトリに 2 つのファイルを置きます: /data/www/index.html および /data/images/logo.png、/data /www の内容/index.html ファイルは次のような 1 行です -

<h2> New Static WebSite Demo.</h2>

次に、設定ファイル (/usr/local/nginx/conf/nginx.conf) を開きます。デフォルトの構成ファイルにはすでにサーバー ブロックの例がいくつか含まれていますが、そのほとんどはコメント化されています。次に、そのようなブロックをすべてコメント アウトし、新しいサーバー ブロックを開始します。

http {
    server {
    }
}

通常、構成ファイルには、サーバーがリッスンするポートとサーバー名によって区別される複数のサーバー ブロックを含めることができます。 nginx は、リクエストを処理するサーバーを決定するときに、リクエスト ヘッダーで指定された URI をサーバー ブロック内で定義された location ディレクティブのパラメーターに対してテストします。

次の location ブロックをサーバー ブロックに追加します:

http {
    server {
        location / {
            root /data/www;
        }
    }
}
location ブロックは、リクエスト内の URI と比較される「/」プレフィックスを指定します。 。リクエストに一致する場合、ルート ディレクティブで指定されたパス (つまり、/data/www) に URI が追加され、ローカル ファイル システム上のリクエストされたファイルへのパスが形成されます。一致するロケーション ブロックが複数ある場合、nginx はロケーション ブロックと一致する最も長いプレフィックスを持つブロックを選択します。上記のロケーション ブロックは、最も短いプレフィックス長の 1 を提供するため、このブロックは、他のすべてのロケーション ブロックが一致を提供できない場合にのみ使用されます。

次に、2 番目の location ブロックを追加します。

http {
    server {
        location / {
            root /data/www;
        }
        location /images/ {
            root /data;
        }
    }
}
これは、 /images/(location/ で始まるリクエストにも一致しますが、プレフィックスが短くなります。つまり、 「/images/」は「/」よりも長い)リクエストに一致します。

サーバー ブロックの最終構成は次のようになります。

server {
    location / {
        root /data/www;
    }
    location /images/ {
        root /data;
    }
}

これはすでに標準ポート 80 でリッスンしており、ローカル マシン ( http://localhost/ ) でアクセスできるサーバーです。動作構成。 /images/ で始まる URI のリクエストに応答して、サーバーは /data/images ディレクトリからファイルを送信します。たとえば、http://localhost/images/logo.png リクエストに応答して、nginx はサービス上の /data/images/logo.png ファイルを送信します。ファイルが存在しない場合、nginx は 404 エラーを示す応答を送信します。 /images/ で始まらない URI に対するリクエストは、/data/www ディレクトリにマッピングされます。たとえば、http://localhost/about/example.html へのリクエストに応答して、nginx は /data/www/about/example.html ファイルを送信します。

新しい設定を適用するには、nginx をまだ開始していない場合は開始するか、次のコマンドを実行して nginx のメイン プロセスにリロード シグナルを送信します。エラーまたは例外により、正常に動作する場合は、/usr/local/nginx/logs または /var/log/nginx ディレクトリ内の access.log および error.log ファイルをチェックして、理由を見つけることができます。

ブラウザを開くか、CURL を使用して、以下に示すように Nginx サーバーにアクセスします。

nginx.conf ファイルの完全な構成内容は次のとおりです。 :

nginx を使用して静的コンテンツを提供するえー

以上がnginx を使用して静的コンテンツを提供するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。