Nginx リバース プロキシ学習例チュートリアル

Nginx リバース プロキシ学習例チュートリアル

1. リバースプロキシの準備

1. LinuxシステムにTomcatをインストールする

tomcat を /usr/src に解凍します。起動するにはjdk環境が必要です。 jdk 環境がない場合はインストールしてください。私の Centos7 には jdk1.8 が付属しています。

画像の説明を追加してください

2. Tomcatを起動する

tomcat の bin ディレクトリに入ると、startup.sh ファイルがあります。

画像の説明を追加してください

./startup.shはTomcatサーバーを起動します

画像の説明を追加してください

3. 外部アクセスに開放されたポート

現在開いているポート番号を表示する

ファイアウォールコマンド --list-all

開いているポート番号を設定する

ファイアウォールコマンド --add-port=80/tcp --permanent
ファイアウォールコマンド --add-port=8080/tcp --permanent

ファイアウォールを再起動する

ファイアウォール-cmd --reload

4. tomcatへのアクセスをテストする

http://192.168.1.173:8080/

画像の説明を追加してください

これで事前準備完了です!!

2. リバースプロキシケース(I)

1. 成果を達成する

ブラウザを開き、ブラウザのアドレスバーにwww.123.comと入力して、LinuxシステムのTomcatページに移動します。

画像の説明を追加してください

2. 具体的な構成

ステップ1: ローカルの/etc/hostsファイルに追加する

画像の説明を追加してください

2番目のステップは、nginxでリクエスト転送を構成することです(リバースプロキシ構成)

/usr/local/nginx/conf をコピーします。
vim nginx.conf

コンテンツを修正して追加する

画像の説明を追加してください

3. テスト

www.123.comをご覧ください

画像の説明を追加してください

nginx の IP にアクセスして tomcat にアクセスします。成功しました。 ! ! !

2. リバースプロキシケース(II)

成果を達成する

nginx リバース プロキシを使用して、アクセス パスに応じて異なるポートのサービスにジャンプします。nginx のリスニング ポートは 9001 です。

  • http://192.168.1.173/edu/ にアクセスし、192.168.1.173:8080 に直接ジャンプします。
  • http://192.168.1.173:9001/vod/ にアクセスし、192.168.1.173:8081 に直接ジャンプします。

1. 準備

(1)ポート8080とポート8081を持つ2つのTomcatサーバーを用意する

(2)フォルダを2つ作成し、各フォルダにTomcatの圧縮パッケージを入れて解凍し、いずれかのTomcatファイルのconfファイルにあるserver.xmlファイルを変更してポートを8081に変更します。

(3)webappsファイルの下にeduフォルダとvodフォルダを作成し、そのフォルダ内にポート番号を表示するa.htmlテストページを作成します。

2. 具体的な構成

(1)nginx設定ファイルを見つけてリバースプロキシを設定する

画像の説明を追加してください

(2)外部アクセス用のポートを開く:9001 8080 8081

場所指令の説明

このディレクティブはURLを一致させるために使用されます

構文は次のとおりです。

場所 [ = | ~ | ~* | ^~] uri {

}

1. =: 正規表現を含まないURIの前に使用され、リクエスト文字列がURIと厳密に一致することを要求します。一致する場合

成功した場合は、それ以上の検索を中止し、リクエストを直ちに処理します。

2. ~: URI に正規表現が含まれており、大文字と小文字が区別されることを示すために使用されます。

3. ~*: URI に正規表現が含まれており、大文字と小文字が区別されないことを示すために使用されます。

4. ^~: 正規表現なしでURIの前に使用され、Nginxサーバーが識別子URIとリクエスト文字列を見つけることを要求する

文字列の一致度が最も高い場所が見つかった後、その場所の代わりにこの場所を使用してリクエストが直ちに処理されます。

ブロック内の通常の URI は、リクエスト文字列と照合されます。

注: URI に正規表現が含まれている場合は、~ または ~ 記号が存在する必要があります *

最終テスト

画像の説明を追加してください画像の説明を追加してください

要約する

Nginx リバース プロキシの学習に関するこの記事はこれで終わりです。より関連性の高い Nginx リバース プロキシ コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Nginxリバースプロキシはさまざまな状況でのクロスドメインの問題を解決します
  • Nginx ルーティング転送とリバースプロキシロケーション構成の実装
  • Nginx イントラネット スタンドアロン リバース プロキシの実装
  • Nginx リバース プロキシを使い始める
  • nginx リバースプロキシと詳細な使用方法

<<:  MYSQLの主キー制約とユニーク制約の違いについて簡単に説明します。

>>:  選択を読み取り専用で編集不可に設定し、選択値を通過可能に設定する方法

推薦する

複数人チャットルームを実現する js コード

この記事の例では、多人数チャットルームを実装するためのjsコードの具体的なコードを参考までに共有して...

Win 8 以降での最新の MySQL バージョン 5.7.17 (64 ビット ZIP グリーン バージョン) のインストールと展開のチュートリアル

まず、ブロガーはコミュニティ バージョンをプレイしていますが、学習とテストにはこれで十分です。 Bl...

MySQL における IF()、IFNULL()、NULLIF()、および ISNULL() 関数の使用に関する詳細な説明

MySQL では、IF()、IFNULL()、NULLIF()、および ISNULL() 関数を使用...

MySQL InnoDBとMyISAMの違いを簡単に理解する

序文MySQL は、myisam、innodb、memory、archive、example など、...

詳細なLinuxインストールチュートリアル

(Win7 システム) VMware 仮想マシンのインストール チュートリアルVMware は仮想マ...

最もよく使われるHTMLエスケープシーケンス

HTML では、<、>、& などは特別な意味を持ち (<、> はリン...

Linuxのip netnsコマンドを使用してネットワークポートを分離し、IPアドレスを設定します。

1. 分離マーカーを追加します。 ip netns add fd 2. 指定されたネットワーク カ...

Centos8 の Django プロジェクトに nginx+uwsgi をデプロイするチュートリアル

1. 仮想環境virtualenvのインストール1. virtualenvをインストールするpip3...

MySQLで判定文を書く方法のまとめ

MySQL で判断文を書く方法:方法1. CASE関数case関数の構文: CASE条件 値1の場合...

CSS で要素を中央揃えにする N 通りの方法

目次序文インライン要素の中央揃えテキストを垂直に中央揃え要素を水平方向に中央揃えにするブロックレベル...

CSS 擬似要素::マーカーの詳細な説明

この記事では、CSS ::markerの興味深い疑似要素を紹介します。これを使用すると、テキスト番号...

MySQL 5.7.21 winx64 グリーンバージョンのインストールと設定方法のグラフィックチュートリアル

この記事ではMySQL 5.7.21のインストールと設定方法を記録しています。具体的な内容は以下のと...

Vueカスタムディレクティブの詳細

目次1. 背景2. ローカルカスタム指示3. グローバルカスタム指示4.1 カスタムコマンドフック関...

MySQL トランザクション、分離レベル、ロックの使用例の分析

この記事では、例を使用して、MySQL トランザクション、分離レベル、およびロックの使用について説明...

CSS マージンの重複と解決策の探索の詳細な説明

最近、CSS 関連の知識ポイントをいくつか見直し、CSS における典型的なマージンの重なりの問題を整...