Nginx - 最小構成

リリース: 2023-08-03 15:55:39
転載
1332 人が閲覧しました

Nginx - 最小構成

# セキュア サーバーには、必要な数のサーバーのみが許可されます。理想的には、他の機能を個別に有効にして、最小限のシステムに基づいてサーバーを構築します。最小限の構成はデバッグにも役立ちます。最小システムでバグが利用できない場合は、機能を個別に追加してバグの検索を続けます。

これは、nginx を実行するために必要な最小構成です:

# /etc/nginx/nginx.confevents {}         # event context have to be defined to consider config validhttp { server {    listen 80;    server_name  javatpoint.co  www.javatpoint.co  *.javatpoint.co;    return 200 "Hello";  }
ログイン後にコピー

Root、Location、try_files ディレクティブ

Root ディレクティブ

root ディレクティブが使用されますリクエストのルート ディレクトリを設定し、nginx が受信リクエストをファイル システムにマップできるようにします。

server {  listen 80;  server_name javatpoint.co;  root /var/www/javatpoint.co;}
ログイン後にコピー

これにより、nginx がリクエストに基づいてサーバー コンテンツを返すことができます:

javatpoint.co:80/index.html     # returns /var/www/learnfk.com/index.htmljavatpoint.co:80/foo/index.html # returns /var/www/learnfk.com/foo/index.html
ログイン後にコピー

Location ディレクティブ

location ディレクティブは、リクエストされた URI (Uniform) に基づいて構成を設定するために使用されます。リソース識別子)。

構文は次のとおりです:

location [modifier] path
ログイン後にコピー

例:

location /foo {  # ...}
ログイン後にコピー

修飾子が指定されていない場合、パスはプレフィックスとして扱われ、その後に任意のものが続くことができます。上記の例は次と一致します:

/foo/fooo/foo123/foo/bar/index.html...
ログイン後にコピー

特定のコンテキストで複数の場所ディレクティブを使用することもできます:

server {  listen 80;  server_name javatpoint.co;  root /var/www/javatpoint.co;  location/{    return 200 "root";  }  location /foo {    return 200 "foo";  }}javatpoint.co:80  /      # => "root"javatpoint.co:80   /foo    # => "foo"javatpoint.co:80   /foo123 # => "foo"javatpoint.co:80   /bar    # => "root"
ログイン後にコピー

Nginx は、場所ディレクティブと組み合わせて使用​​できるいくつかの修飾子も提供します。

パブリック アカウント Linux 中国コミュニティ バックエンドを検索し、「プライベート キッチン」と返信すると、サプライズ ギフト パッケージが届きます。

Modifiers assign priority:

=           - Exact match^~          - Preferential match~ && ~*     - Regex matchno modifier - Prefix match
ログイン後にコピー

まず、nginx はすべての完全一致をチェックします。存在しない場合は、優先オプションを探します。この一致も失敗した場合は、正規表現の一致が出現順にテストされます。他のすべてが失敗した場合は、最後のプレフィックス一致が使用されます。

location /match {  return 200 'Prefix match: will match everything that starting with /match';}location ~* /match[0-9] {  return 200 'Case insensitive regex match';}location ~ /MATCH[0-9] {  return 200 'Case sensitive regex match';}location ^~ /match0 {  return 200 'Preferential match';}location = /match {  return 200 'Exact match';}/match     # => 'Exact match'/match0    # => 'Preferential match'/match1    # => 'Case insensitive regex match'/MATCH1    # => 'Case sensitive regex match'/match-abc # => 'Prefix match: matches everything that starting with /match'
ログイン後にコピー

try_files ディレクティブ

このディレクティブは、さまざまなパスを試し、見つかったパスを返します。

try_files $uri index.html =404;
ログイン後にコピー

したがって、/foo.html は次の順序でファイルを返そうとします:

$uri(/foo.html);index.html
ログイン後にコピー

見つからない場合: 404

如果我们在服务器上下文中定义try_files,然后定义查找所有请求的位置,则不会执行try_files。发生这种情况是因为服务器上下文中的try_files定义了其伪位置,该伪位置是可能的最低特定位置。因此,定义location/ 会比我们的伪位置更具体。

server {  try_files $uri /index.html =404;  location/{  }}
ログイン後にコピー

因此,我们应该避免在服务器上下文中使用try_files:

server {  location/{    try_files $uri /index.html =404;  }}
ログイン後にコピー

以上がNginx - 最小構成の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:Linux中文社区
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート