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

推薦する

CSS3はNESゲームコンソールのサンプルコードを実装します

成果を達成する実装コードhtml <input type="radio" ...

CentOS 7.3 で Nginx 仮想ホストを設定する方法

実験環境最小限にインストールされた CentOS 7.3 仮想マシン基本環境を構成する1. ngin...

Reactの3つの主要属性における状態の使用の詳細な説明

目次クラスコンポーネント機能コンポーネントsetStateの落とし穴React では多くの場所でデー...

WeChatアプレットはシンプルなサイコロゲームを実装します

この記事では、サイコロゲームを実装するためのWeChatアプレットの具体的なコードを参考までに共有し...

MySQLの認証コマンドgrantの使い方

この記事の例は MySQL 5.0 以降で実行されます。ユーザー権限を付与するための MySQL コ...

mysql 8.0.19 winx64.zip インストール チュートリアル

この記事は参考までにmysql 8.0.19 winx64.zipのインストールチュートリアルを記録...

Vue Element フロントエンドアプリケーション開発開発環境の準備

目次概要1. 必要なソフトウェア環境を開発する1) VSコードのインストール2) ノード開発環境をイ...

MySQLで最大接続数を達成する方法

目次データベース接続数が急増した理由は何ですか? 1. はじめに2. 知識ポイント3. 練習するIV...

Docker Swarm を使用して分散クローラー クラスターを構築する例

クローラーの開発プロセス中に、クローラーを複数のサーバーに展開する必要がある状況に遭遇したことがある...

VMware Workstation Pro が Windows で実行されない場合の解決策

国慶節の休暇後、Windows アップデート後に VMware 仮想マシンが開けなくなり、「VMwa...

Ubuntuの基本設定: openssh-serverのインストールと使用

Ubuntu 17.10 での openssh-server のインストールと使用を記録します。イン...

MySQLスローログに関する知識のまとめ

目次1. スローログの紹介2. スローログの練習1. スローログの紹介スロー ログの正式名称はスロー...

ウェブ計算機を実装するためのjs

HTML、CSS、JS を使用してシンプルな Web 計算機を作成する方法は?コンピュータには次の...

MySQLでユーザーを作成し、権限を管理する方法

1. ユーザーとパスワードの作成方法1. MySQLデータベースに入る mysql> mysq...

Vue でのルーティングガードの具体的な使用法

目次1. グローバルガード1.1 グローバルフロントガード1.2 グローバルポストルートガード1.3...