Docker nginxのインストールと設定方法

Docker nginxのインストールと設定方法

DockerでNginxイメージをダウンロードする

docker プル nginx
Docker イメージ

マウントディレクトリを作成する

mkdir -p /data/nginx/{conf,conf.d,html,logs} 

nginx.conf設定ファイルを書いてフォルダに置く

# 設定の詳細については、以下を参照してください。
# * 公式英語ドキュメント: http://nginx.org/en/docs/
# * 公式ロシア語ドキュメント: http://nginx.org/ru/docs/

ユーザー nginx;
ワーカープロセスは自動です。
エラーログ /var/log/nginx/error.log;
pid /run/nginx.pid;

# 動的モジュールをロードします。/usr/share/nginx/README.dynamic を参照してください。
/usr/share/nginx/modules/*.conf をインクルードします。

イベント {
  ワーカー接続 1024;
}

http {
  log_format main '$remote_addr - $remote_user [$time_local] "$request" '
           '$status $body_bytes_sent "$http_referer" '
           '"$http_user_agent" "$http_x_forwarded_for"';

  access_log /var/log/nginx/access.log メイン;

  ファイル送信オン;
  tcp_nopush オン;
  tcp_nodelay オン;
  キープアライブタイムアウト65;
  タイプハッシュの最大サイズは2048です。

  /etc/nginx/mime.types を含めます。
  デフォルトタイプ アプリケーション/オクテットストリーム;

  # /etc/nginx/conf.d ディレクトリからモジュール構成ファイルを読み込みます。
  # http://nginx.org/en/docs/ngx_core_module.html#include を参照してください
  詳細については#をご覧ください。
  /etc/nginx/conf.d/*.conf を含めます。

  サーバー{
    80 default_server をリッスンします。
    リッスン [::]:80 default_server;
    サーバー名 182.254.161.54;
    ルート /usr/share/nginx/html;

    # デフォルトのサーバー ブロックの構成ファイルを読み込みます。
    /etc/nginx/default.d/*.conf を含めます。

    位置 / {
    proxy_pass http://pic; 
    }

    エラーページ 404 /404.html;
      場所 = /40x.html {
    }

    エラーページ 500 502 503 504 /50x.html;
      場所 = /50x.html {
    }
  }

  上流の写真{
        サーバー 182.254.161.54:8088 重み=5;
        サーバー 182.254.161.54:8089 重み=5;
  }

}

コンテナを起動する

次のようにコードをコピーします
docker run --name mynginx -d -p 82:80 -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/logs:/var/log/nginx -d docker.io/nginx

起動したコンテナを表示する

ドッカーps 

これまで、Docker に 2 つの Tomcat がデプロイされており、1 つはポート 8088、もう 1 つはポート 8089 で、2 つのコンテナーに簡単なページが書き込まれていました。

アクセスポート8088

アクセスポート8089

ここで、Nginx を使用して 2 つの Tomcat のコンテンツにアクセスし、負荷分散を実現します。違いにより、負荷分散機能をより適切に反映できます。2 つのページの内容は異なりますが、アクセス パスは同じです。Nginx リバース プロキシを使用して、順番にアクセスします。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Docker に nginx をインストールし、https 経由でアクセスを構成する方法
  • Docker インストール Nginx チュートリアル 実装図
  • DockerにNginxをインストールする方法
  • Dockerを使用してNginxをインストールし、ポート転送を構成する

<<:  Win7x64でのMySQL 5.7.18解凍版のインストール方法

>>:  MySQL 5.7 でパスワードを変更する簡単な方法

推薦する

js でオブジェクトとオブジェクト メソッドを作成するいくつかの方法の詳細な説明

この記事は、JS レッドブックの第 8 章に記載されているオブジェクトに関する 2 番目の記事です。...

Docker での Redis の最も詳細なインストールと構成 (画像とテキスト付き)

1. Dockerに適したRedisのバージョンを見つけるdocker hubで見つけることができ...

Linux システムの .bash_profile ファイルの詳細な説明

目次1. 環境変数$PATH: 2. 環境変数を変更します。 3. bash_profileの目的要...

Vue はトークンを取得してトークン ログインのサンプル コードを実装します

ログイン認証にトークンを使用する考え方は次のとおりです。 1. 初めてログインする場合、フロントエン...

CSS で QR コードスキャンボックスを実装するためのサンプルコード

カメラを開くと通常はスキャンボックスが表示されますが、静的なQRコードではフォーカスを合わせたりスキ...

JavaScript でオブジェクトをエレガントに扱う 6 つの方法

目次序文1. オブジェクト.freeze() 2. オブジェクト.seal() 3. オブジェクト....

TypeScript インターフェースの紹介

目次1. インターフェース定義2. 属性2.1 オプション属性2.2 読み取り専用プロパティ3. ク...

MySQL 8.0.15 のインストールと設定のグラフィックチュートリアル

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

Vueはブラウザ側のコードスキャン機能を実装します

背景少し前にブラウザカメラの取得とスキャンコード認識の機能を作りました。その際の知識ポイントと具体的...

Linux の運用と保守で netstat の代わりに ss コマンドを使用する方法

序文Linux サーバーを操作および管理するときに、最もよく使用されるコマンドの 1 つが nets...

MySQL 5.7.18 でパスワードを変更する方法

MySQL 5.7.18 でパスワードを変更する方法: 1. まずMySQLサーバーをシャットダウン...

CSSのline-heightを継承する方法

Line-height はどのように継承されますか?30px などの特定の値を書き込むと、この値が継...

Vue コンポーネント値転送中のデータ損失の分析と解決

序文前回の記事では、JavaScript の 2 つのデータ型、基本型と参照型、および参照型の浅いコ...

Linux で利用可能なネットワーク インターフェイスを表示する方法

序文Linux システムをインストールした後の最も一般的なタスクは、ネットワーク構成です。もちろん、...

Ubuntu での Subversion (SVN) の詳細なインストールと設定

ソフトウェア開発者であれば、Subversion に精通している必要があります。 Subversio...