ホームページ  >  記事  >  運用・保守  >  Nginx - 最小構成

Nginx - 最小構成

Linux中文社区
Linux中文社区転載
2023-08-03 15:55:391323ブラウズ

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 までご連絡ください。