まず、Tomcatフォルダを作成します。Dockerの設定を容易にするために、ルートディレクトリに直接作成します。ステップ1:フォルダの作成:公開フォルダ mkdir -p /docker/tomcat/webapp8081 mkdir -p /docker/tomcat/webapp8082 mkdir -p /docker/tomcat/webapp8083 ステップ 2: Tomcat コンテナを作成する (ポートは実際の状況に応じて変更できます) docker run -d --name tomcat8081 -p 8081:8080 -v /docker/tomcat/webapp8081:/usr/local/tomcat/webapps/ tomcat docker run -d --name tomcat8082 -p 8082:8080 -v /docker/tomcat/webapp8082:/usr/local/tomcat/webapps/ tomcat docker run -d --name tomcat8083 -p 8083:8080 -v /docker/tomcat/webapp8083:/usr/local/tomcat/webapps/ tomcat 作成が完了したら、docker psコマンドを使用して作成が成功したかどうかを確認し、 ステップ 3: Tomcat の IP アドレスを確認します。次のコマンドを使用して、Tomcat の IP アドレスを照会します。ここでは最初の例のみを使用します。 ステップ4: テストの便宜上、ここではwarパッケージをアップロードせず、その中にhello/index.htmlファイルを直接作成します。 注意: NginxがDockerコンテナの場合は、TomactコンテナのIPを使用する必要があります。そうしないと接続できません。 まず、公式ウェブサイトからnginxの公式バージョンをダウンロードします 公式サイト: http://nginx.org/en/ 右側のナビゲーション バーで [ダウンロード] をクリックし、ダウンロード インターフェイスに入り、ダウンロードするバージョンを選択します。ここでは nginx-1.6.2.tar を使用します。 ダウンロードが完了したら、ファイルをカスタムフォルダに配置します。私は /usr/local/tools/nginx-1.6.2 に配置しました。 次のコマンドを使用して nginx を解凍します。 解凍が完了したらルートディレクトリに戻り、ルートディレクトリにホストフォルダを作成し、nginxがマウントできるようにファイルを作成します(カスタマイズすることもできます) ここでホストフォルダを作成します mkdir -p /docker/nginx/ nginx.conf を vim で開きます。 mkdir -p /docker/nginx/html 解凍したnegixのhtmlフォルダにあるindex.html 50x.htmlを/docker/nginx/htmlフォルダにコピーします。 以下は negix conf ファイルです。注釈によって形式が変わる場合があります。注釈を削除することを忘れないでください。 Nginx.conf: ユーザー root; worker_processes 2; #ここでスレッド数を設定します #error_log ログ/error.log; #error_log ログ/error.log 通知; #error_log ログ/error.log 情報; #pid ログ/nginx.pid; イベント { worker_connections 1024; #最大接続数} http { mime.types を含めます。 デフォルトタイプ アプリケーション/オクテットストリーム; アップストリーム mytomcat{ サーバー 172.17.0.3:8080 重み=10; # さらに、mytomcat の名前は以下の名前と一致している必要があります。これは、tomcat IP と一致している必要があります。server 172.17.0.4:8080 weight=50; サーバー 172.17.0.5:8080 重み=10; } #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 ログ/access.log メイン; ファイル送信オン; #tcp_nopush オン; #キープアライブタイムアウト 0; キープアライブタイムアウト65; #gzip オン; サーバー{ 聞く 80; サーバー名 mytomcat; #文字セット koi8-r; #access_log ログ/host.access.log メイン; 位置 / { #ルートhtml; # インデックス index.html index.htm; プロキシ接続タイムアウト 50; プロキシ読み取りタイムアウト 10; プロキシ送信タイムアウト 20; proxy_pass http://mytomcat; } #エラーページ 404 /404.html; # サーバーのエラーページを静的ページ /50x.html にリダイレクトします # エラーページ 500 502 503 504 /50x.html; 場所 = /50x.html { ルートhtml; } # PHP スクリプトを 127.0.0.1:80 で listen している Apache にプロキシします # #場所 ~ \.php$ { # プロキシパス http://127.0.0.1; #} # PHP スクリプトを 127.0.0.1:9000 で待機している FastCGI サーバーに渡します # #場所 ~ \.php$ { #ルートhtml; #fastcgi_pass 127.0.0.1:9000; # fastcgi_index インデックス.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; #fastcgi_params を含めます。 #} # Apacheのドキュメントルートが.htaccessファイルへのアクセスを拒否する # nginxのものと一致します # #場所 ~ /\.ht { # すべて拒否; #} } # IP、名前、ポートベースの設定を組み合わせた別の仮想ホスト # #サーバー{ # 8000を聴く; # somename:8080 をリッスンします。 # server_name somename alias another.alias; # 位置 / { #ルートhtml; # インデックス index.html index.htm; # } #} # HTTPS サーバー # #サーバー{ # 443 ssl をリッスンします。 # サーバー名 localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache 共有:SSL:1m; #ssl_session_timeout 5分; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers オン; # 位置 / { #ルートhtml; # インデックス index.html index.htm; # } #} } Dockerを使い始める コンテナを作成して実行する 81: 外部ネットワークアクセス用のポートです。実際の状況に応じて変更できます。 /docker/nginx/nginx.conf ローカルホストファイル /etc/nginx/nginx.conf zip ファイルが抽出されるディレクトリ (変更せずにそのままにしておくこともできます) /docker/nginx/html ローカルホストファイル /usr/share/nginx/html ディレクトリを解凍する docker run -d --name nginx81 -p 81:80 -v /docker/nginx/nginx.conf:/etc/nginx/nginx.conf -v /docker/nginx/html:/usr/share/nginx/html nginx テスト http://39.106.147.162:8085/hello/index.html ここでポート8085を設定しました 直接アクセス 要約する 上記は、Docker を使用して nginx を使用した tomcat クラスターを構築する方法についてのチュートリアルです。お役に立てれば幸いです。 以下もご興味があるかもしれません:
|
<<: MySQL クエリ フィールド タイプが json の場合の 2 つのクエリ メソッド
方法:説明: どちらも達成できません:方法1: sp_product から sp.productid...
目次序文直接充填方式for ループの push() メソッド配列コンストラクタメソッド配列コンストラ...
HTML メタタグHTML メタタグは、Web ページのコンテンツに関する情報をブラウザや検索エンジ...
プライベート変数のクロージャ実装プライベート変数は共有されないnew キーワードにより、 perso...
インターネット上にはMySQL 5.7.17のインストールチュートリアルがほとんどなく不十分なので、...
目次1. dfコマンド2. duコマンド3. fsckファイルシステム修復コマンド4. ディスクステ...
今日は、マスタースレーブ遅延が発生する理由とその対処方法について説明します。しっかり座って出発の準備...
プログラマーは MySQL を扱う機会が多く、毎日触れているとも言えますが、MySQL テーブルには...
目次折りたたむ(減らす) for...of の使用whileループの使用折り畳み実装に近い展開する配...
Bステーションでパスワードを入力するときに目を覆っているこの画像を見たことがある人もいると思いますこ...
今日は、開発でよく使われる、非常に便利な HTML タグをいくつかまとめてみたいと思います。これらの...
会社の影響力が拡大し、製品が改良され続けるにつれて、関連するイメージデザインもそれに追いつき、徐々に...
この記事では、ユーザーのログイン切り替えを実現するためのVueの具体的なコードを例として紹介します。...
本文に入る前に、オーバーフローとフレックスレイアウトの使い方をいくつか紹介します。 overflow...
目次序文グローバルロック完全なデータベース論理バックアップFTWRL と set global re...