ローカル画像サーバーのNginx構成の実装

ローカル画像サーバーのNginx構成の実装

1. Nginx の紹介

Nginx はリバース プロキシ サーバーです。

まず、プロキシ サーバーとは何かを見てみましょう。プロキシ サーバーとは、一般的に、プロキシ サービスを介してインターネット上のサーバーにリクエストを送信するローカル エリア ネットワーク内のマシンを指します。プロキシ サーバーは、一般的にクライアント上で動作します。たとえば、GoAgent、FQ アーティファクト。

画像

完全なプロキシ要求プロセスは次のとおりです。クライアントは最初にプロキシ サーバーとの接続を確立し、次にプロキシ サーバーが使用するプロキシ プロトコルに従って、ターゲット サーバーとの接続を確立するか、ターゲット サーバーの指定されたリソースを取得するように要求します。 Web プロキシ サーバーは、ネットワーク内の中間エンティティです。プロキシは Web クライアントと Web サーバーの間に位置し、「仲介者」として機能します。
HTTP プロキシ サーバーは、Web サーバーと Web クライアントの両方です。

プロキシ サーバーは、クライアントと Web サーバーの間にある別のサーバーです。これにより、ブラウザーは Web サーバーに直接アクセスして Web ページを取得するのではなく、プロキシ サーバーに要求を送信します。信号は最初にプロキシ サーバーに送信され、プロキシ サーバーはブラウザーに必要な情報を取得してブラウザーに送信します。

フォワード プロキシは、クライアントと元のサーバーの間にあるサーバーです。元のサーバーからコンテンツを取得するには、クライアントはプロキシにリクエストを送信し、ターゲット (元のサーバー) を指定します。プロキシは、リクエストを元のサーバーに転送し、取得したコンテンツをクライアントに返します。フォワード プロキシを使用するには、クライアントで特別な設定を行う必要があります。

リバース プロキシ サーバー: サーバー側でクライアント要求を受信し、要求を特定のサーバーに分散して処理し、サーバーの応答結果をクライアントにフィードバックします。 Nginx はリバース プロキシ サーバー ソフトウェアの 1 つです。
Nginx: Nginx (「エンジン x」) は、ロシア人の Igor Sysoev によって作成された高性能 HTTP およびリバース プロキシ サーバーです。また、IMAP/POP3/SMTP プロキシ サーバーでもあります。つまり、Nginx 自体が Web サイトをホストし、HTTP サービス処理を実行し、リバース プロキシ サーバーとしても使用できます。

フォワード プロキシ クライアントは、フォワード プロキシ サーバーを設定する必要があります。もちろん、前提条件として、フォワード プロキシ サーバーの IP アドレスとプロキシ プログラムのポートを知っている必要があります。
リバース プロキシはフォワード プロキシの逆です。クライアントにとって、プロキシ サーバーは元のサーバーのように見え、クライアントは特別な設定を行う必要がありません。クライアントはリバース プロキシの名前空間内のコンテンツに通常の要求を送信し、リバース プロキシは要求を転送する元のサーバーを決定し、取得したコンテンツをクライアントに返します。

2. 画像サーバーの構築

nginx をローカルにインストールしたら、ポート経由でアクセスできるようになります。デフォルトのポートはポート 80 です。ローカルのポート 80 と競合するため、8089 に変更しました。

画像-20211210195430120

この時点で nginx は正常に起動しており、次に nginx ディレクトリの下に、次のように設定する必要があるイメージ パスを追加します。

		#画像コードの場所を追加 ~ .*\.(gif|jpg|jpeg|png)$ {  
      24時間で期限切れになります。  
      root H:/radar/;#画像保存パスを指定します access_log H:/radar/log;#画像パス proxy_store on;  
      proxy_store_access ユーザー:rw グループ:rw すべて:rw;  
      proxy_temp_path H:/radar/;#画像パス proxy_redirect off;  
      
      proxy_set_header ホスト 127.0.0.1;  
      proxy_set_header X-Real-IP $remote_addr;  
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
      クライアントの最大ボディサイズは10mです。  
      クライアントボディバッファサイズ 1280k;  
      プロキシ接続タイムアウト 900;  
      プロキシ送信タイムアウト 900;  
      プロキシ読み取りタイムアウト 900;  
      プロキシバッファサイズ 40k;  
      プロキシバッファ 40 320k;  
      proxy_busy_buffers_size 640k;  
      proxy_temp_file_write_size 640k;  
      if ( !-e $リクエストファイル名)  
      {  
      proxy_pass http://127.0.0.1:8089; #プロキシアクセスアドレス}  
      }    

上記の構成に従って、必要なパスを見つけます。その後、サービスを再起動すると、設定した画像が表示されます。下の図に示すように

画像-20211210195955312

この時点で、シンプルな nginx イメージ サーバーが構築されました。 Nginx でローカル イメージ サーバーを構成する方法については、これで終わりです。Nginx ローカル イメージ サーバーの詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Linux サーバー上のローカル静的リソースにアクセスするために nginx を使用する方法
  • Nginx サーバーでローカル ブラウザ キャッシュを設定する簡単な方法を説明します。
  • Nginxサーバのブラウザローカルキャッシュと仮想マシンの関連設定

<<:  CSS における z-index: 0 と z-index: auto の違い

>>:  HTMLとは何ですか?

推薦する

Vueバックグラウンド管理に多言語機能を追加する例

目次1.まず、main.jsページを設定します2. 対応するパスの下で言語パックを構成します。ここに...

Node.js のフロントエンドとバックエンドのインタラクションによるユーザーログインの実装の実践

目次1. プロジェクト要件次にコーディングを始める1. フロントエンドページを作成する(CSSスタイ...

CSSの省略記号とパディングを組み合わせた場合の問題の詳細な説明

CSS によるテキストの切り捨てテキストを自動的に切り捨てるスタイル コードを実装するには、次のコー...

VUE+Express+MongoDBのフロントエンドとバックエンドの分離によるノートウォールの実現

付箋紙の壁シリーズを実現しようと思っています。シンプルなものはシンプル、複雑なものは多機能です。開発...

MySQL でのトリガーとカーソルの紹介と使用

トリガーの紹介トリガーは、テーブルに関連付けられた特別なストアド プロシージャであり、テーブル内のデ...

MySQL InnoDBストレージエンジンについて簡単に説明します

序文:ストレージ エンジンはデータベースの中核です。MySQL の場合、ストレージ エンジンはプラグ...

MySQL 8.0.12 クイックインストールチュートリアル

MySQL 8.0.12 のインストールには 2 日かかり、さまざまな問題が発生しました。以下にまと...

Docker+K8S+GitLab/SVN+Jenkins+Harbor をベースにした継続的インテグレーション配信環境の構築に関する詳細なチュートリアル

目次環境設定の概要1.K8Sとは何ですか? 2. K8S を使用する理由3. K8S を使用する利点...

JavaScript配列をツリー構造に変換する方法

1. 需要バックエンドは、フロントエンドがツリー構造(重複データなし)に変換するためのデータを提供し...

Docker Swarmの概念と使用法の詳細な説明

Docker Swarm は、Docker によって開発されたコンテナ クラスター管理サービスです。...

IE6 の iframe の水平スクロール バーの解決策

状況は以下のとおりです: (PS: 赤いボックスは iframe 領域を表し、灰色の四角形は上記の ...

CSS スタイルが機能しない (史上最も完全な解決策の概要)

ページを作成するときに、記述した CSS スタイルが有効にならないことがあります。この現象にはさまざ...

Navicat がリモートで SQL Server に接続し、MySQL に変換する詳細な手順

序文最近、プロジェクトで SQL Server を使用するプログラムに遭遇しました。このデータベース...

CentOS8.1 で Gitlab サーバーを構築するための詳細なチュートリアル

Gitlab と Github の違いについては、あまり説明する必要はありません。一言でまとめると、...

IDEA 構成の Tomcat 起動エラーの問題を解決する

異なるサーブレット パスを構成するときに、次の 2 つのエラーが発生しました。 java.lang....