ローカル画像サーバーの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とは何ですか?

推薦する

JavaScript Reduceの詳しい説明

目次地図フィルターいくつかの毎インデックスを検索パイプ参考回答1. パラメータを受け入れる関数を返す...

DockerにELKをインストールしてJSON形式のログ分析を実装する方法

ELKとは何ですか? ELK は、Elastic が提供するログ収集およびフロントエンド表示ソリュー...

VMware 仮想マシンでの Centos8 ブリッジの静的 IP 設定方法

1. ネットワーク接続方法がブリッジされていることを確認する物理ネットワーク接続ステータスのコピーを...

DockerコンテナのIPアドレスを取得する方法の詳細な説明

1.コンテナに入った後 /etc/hosts を cat するコンテナ自体の IP アドレスと (-...

CSS3の新しい背景プロパティの詳細な説明

これまで、CSS の背景の属性には、color、image、repeat、attachment、po...

css n番目から始まるすべての要素を取得する

具体的なコードは次のとおりです。 <div id="ボックス"> &...

海外でダウンロードできる25個の新鮮で便利なアイコンセット

1. Eコマースアイコン2. アイコンスイーツ2 3. 携帯電話アイコンパック4. 旗アイコンセット...

LeetCode の SQL 実装 (196. 重複するメールボックスを削除する)

[LeetCode] 196.重複したメールを削除するSQL クエリを記述して、Person とい...

Linux でリモートから MySQL を自動的にバックアップする方法

序文:基本的に、自社で使用する場合でも、顧客向けにサーバーを展開する場合でも、MySQL のバックア...

HTML テーブル マークアップ チュートリアル (43): テーブル ヘッダーの VALIGN 属性

垂直方向では、ヘッダーの配置を上、中央、下に設定できます。基本的な構文構文Top は上、Middle...

CentOS の環境変数と設定ファイルの詳細な説明

序文CentOS 環境変数設定ファイル システムは階層型システムであり、他のマルチユーザー アプリケ...

Pythonの関数知識についての簡単な説明

目次関数パラメータの2つの主要なカテゴリ位置パラメータ可変長パラメータ名前空間要約する関数パラメータ...

CocosCreator 学習モジュールスクリプト

Cocos Creator モジュラースクリプトCocos Creator を使用すると、コードを複...

MySQLウィンドウ関数の具体的な使用法

目次1. ウィンドウ関数とは何ですか? 1. ウィンドウをどのように理解しますか? 2. ウィンドウ...