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 ログインおよび終了コマンドの形式

推薦する

Robots.txtの詳細な紹介

robots.txt の基本的な紹介Robots.txt はプレーンテキスト ファイルであり、Web...

MySQL ビューの原理と基本操作例

この記事では、例を使用して、MySQL ビューの原理と基本操作を説明します。ご参考までに、詳細は以下...

Vue プロジェクトを使用して複数のプロキシを構成する際の注意事項

Vue プロジェクトの開発プロセスでは、ローカル デバッグの利便性のため、通常、vue.config...

CentOS7 は rpm を使用して MySQL 5.7 をインストールするチュートリアル図

1. 4つのrpmパッケージをダウンロードする mysql-コミュニティクライアント-5.7.26-...

Linux crontab コマンドの使用

1. コマンドの紹介contab (cron テーブル) コマンドは、Windows のスケジュール...

Vueは複数列レイアウトドラッグを実装します

この記事では、マルチカラムレイアウトドラッグを実装するためのVueの具体的なコードを参考までに共有し...

よく使われるシングルページアプリケーションウェブサイト共有

CSS3お願いしますこのウェブサイトを自分で見て、パラメータを変更し、CSS3効果をオン/オフにする...

MySQL 選択最適化ソリューションに関する簡単な説明

目次実生活からの例クエリが遅い最適化する方法カウント制限最大値と最小値 min&max実生活...

crontab 実行時間とシステム時間の不一致の解決方法

序文LINUX では、定期的なタスクは通常、cron デーモン プロセス [ps -ef | gre...

美容・スタイリングウェブサイト向けのカラーマッチングテクニックと効果表示

色はあらゆるウェブサイトにとって最も重要な要素の 1 つであり、閲覧者に大きな影響を与えるため、色の...

CSS3は、ズームと回転を実現するためにscale()とrotate()を使用します。

1. scale() メソッドズームとは「縮小」と「拡大」を意味します。 CSS3 では、scal...

Linuxはiftopを使用してネットワークカードのトラフィックをリアルタイムで監視します

Linux は iftop を使用してネットワーク カードのトラフィックをリアルタイムで監視します。...

跳ねるボールを実現するネイティブjs

思いつきで、小さなボールが跳ね返るケーススタディを書いてみました。具体的な内容は以下のとおりです。主...

Vuex のコアコンセプトと基本的な使用法の詳細な説明

目次導入始めるインストール①直接ダウンロードする方法②CND法③NPM方式④糸法NPMインストールの...

HTML要素によるFlashブロックの詳細な例

コードをコピーコードは次のとおりです。 wmode パラメータ:透過モード: z-indexを使用し...