Nginx ローカル ディレクトリ マッピング実装コード例

Nginx ローカル ディレクトリ マッピング実装コード例

他のデバイスの画像をローカルディレクトリにマウントするなど、サーバー上の静的リソースにアクセスする必要があり、ローカルディレクトリが nginx ルートディレクトリにない場合があります。このとき、ディレクトリマッピングを行うだけで解決できます。たとえば、ブラウザの upload/2022/web/abc.jpg を介してシステムディレクトリ /image_data/2016/04/29/10/abc.jpg にアクセスする場合は、nginx.conf の対応するサーバー {} の下に場所ルールを追加する必要があります。設定は次のとおりです。

場所 /画像/ {
      根 /;
      ^/image/(.*)$ /image_data/$1 を書き換えて、break;
    }

location /image/ は、サーバーが /image/ を含むリクエストをインターセプトするように設定します。実際の範囲は実際の状況によって決まります。

root /; は使用するルートディレクトリを設定します。rewrite は実際のジャンプルールです。image で始まるリクエストを /image_data で始まるルートディレクトリにジャンプするように設定します。以下のパラメータはそのまま追加され、ディレクトリマッピングを実現します。

上記のルールを使用すると、静的アクセスのために複数のローカル ディレクトリに簡単にマップできます。

保存後、./nginx -s reload を使用して設定ファイルを再読み込みし、指定された URL にアクセスします。

さらに、特定のアクセス パスをプロキシするなど、正確なプロキシを柔軟に設定することもできます。たとえば、http://ip/abc/bcd/123.ico にアクセスする場合、それを /web/host1/123.ico にマッピングし、次のルールを設定できます。

場所 /abc/bcd/123.ico {
  根 /;
  ^/abc/bcd/123.ico$ /web/host1/123.ico を書き換えて、break;
}

上記は、正確なパス プロキシを実装します。上記の root 設定はルート ディレクトリであるため、/web/host1 はファイル システム パスであり、Web ホストの仮想ディレクトリではないことに注意してください。root が指定されていない場合は、前の server ブロックで指定されたグローバル ルート値が優先されます。各 location ブロックの属性のスコープはこのブロック内のみです。

さらに、複数のプロキシ パスに実際の Web パスまたはプロキシ パスを介してアクセスできるため、さまざまなビジネス ニーズに応じてプロキシを設定できます。これにより、nginx 自体が多くの実用的で使いやすい機能を実現できます。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • nginxリバースプロキシのマルチポートマッピングの実装
  • Nginx ポートマッピングの設定方法
  • nginx でディレクトリ ホワイトリストと IP ホワイトリストを設定する方法
  • Centos7 に nginx をインストールした後、conf.d ディレクトリに default.conf ファイルがないために「Welcome to nginx on Fedora!」というエラーが表示される問題を解決します。
  • Linuxシステムで実行中のnginxディレクトリを見つける
  • 指定したディレクトリに nginx をインストールする方法の例
  • nginxディレクトリパスをリダイレクトする方法
  • NGINX を介したサブディレクトリまたはセカンダリディレクトリへの Vue のデプロイメントの詳細な説明

<<:  JS でオブジェクト プロパティを簡単にトラバースするいくつかの方法

>>:  MySQL ログインおよび終了コマンドの形式

推薦する

HTML タグの表示モード (ブロックレベル タグ、インライン タグ、インライン ブロック タグ) に関する簡単な説明

今日の講義では、HTML におけるタグの表示モードについてお話ししましたが、これはブロックレベルタグ...

Vueでデータ例を定義する方法

序文開発プロセスにおいて、変数の定義は非常に頻繁かつ基本的なタスクです。変数の使用シナリオと範囲に応...

HTMLタグのデフォルトスタイルの配置

html、address、blockquote、body、dd、div、dl、dt、fieldset...

VueプロジェクトでReactを書く方法の詳細

jsx/tsxファイルを直接作成できます今回のプロジェクト構成は以下のとおりです。 vueファイルで...

VMwareワークステーションとデバイス/資格情報の非互換性によって発生する起動エラーについて

VMware Workstationsが仮想マシンエラーを起動する エラー レポートのリンク htt...

JavaでTomcatサーバーを起動/停止する方法

1. プロジェクト構造 2.Tomcat.javaを呼び出す パッケージ com.calltomca...

LinuxでのMySQLのインストール手順

1. mysql tar ファイルをダウンロードします。参考: 2. インストールパッケージがあるデ...

MySQL 4 データをインポートする方法

1. mysqlコマンドをインポートするmysql コマンドのインポート構文は次のとおりです。 my...

nginx でクロスドメイン障害修復を構成する方法の例

Nginxのクロスドメイン設定は次のようには機能しません サーバー{ 聞く 80; server_n...

MySQLデータ損失の原因と解決策

目次序文問題の説明原因分析拡大する総括する序文最近、データの欠落やデータの損失に関するフィードバック...

CentOS 7にMySQLをインストールする詳細な手順

CentOS7では、MySQLをインストールすると、MariaDBもデフォルトでインストールされます...

Linuxでファイルを削除してもスペースが解放されない問題の対処方法

問題の背景業務システムのサーバ監視システムからディスク使用率が90%に達したという早期警告通知が来た...

ルート変更を監視するJavaScriptの詳細な説明

目次歴史pushState() メソッドpushState() の使用シナリオreplaceStat...

ファイル操作のためのLinuxシステムコール

目次1. ファイルを開くパラメータの紹介2. ファイルの読み取り3. ファイルを書き込む4. 閉じる...