Docker nginxは1つのホストを実装して複数のサイトを展開します

Docker nginxは1つのホストを実装して複数のサイトを展開します

とあるサイトからレンタルした仮想マシンの有効期限が近づいており、更新料が200元以上かかります。Alibaba Cloudで新しいサーバーを購入しようと思っているので、これもそちらに移行した方が良いかもしれません。実際のドメイン名を使用しますので、私のウェブサイトをハッキングしないでください。ありがとうございます。

Alibaba Cloud は、ドメイン名 www.dcssn.com を使用して直接アクセスできるサイトを展開しています。私のアイデアは、www.xhxf119.com を使用してこのホストを指し示し、異なるドメイン名に基づいてさまざまなサービスにアクセスすることです。

初め

ドメイン名解決は、このホストの IP アドレスを指す必要があります。

それから

www.dcssn.comのサービスはポート8080を開きます。docker run -p 8080:80 weian

www.xhxf119.com サービスはポート 8081 を開きます。docker run -p 8081:80 xinhua

www.dcssn.com:8080はwww.xhxf119.com:8081にもアクセスできます

次に、nginxの設定ファイルを記述します

nginx.conf
ワーカープロセス 1;
イベント {
 ワーカー接続 1024;
}
http {
 mime.types を含めます。
 デフォルトタイプ アプリケーション/オクテットストリーム;
 ファイル送信オン;
 キープアライブタイムアウト65;
 サーバ
 {
  聞く 80;
  サーバー名 www.dcssn.com;
  位置 / {
  proxy_redirect オフ;
  proxy_set_header ホスト $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  プロキシパス http://47.92.69.112:8080;
  }
 }
 
 サーバ
 {
  聞く 80;
  サーバー名 www.xhxf119.com;
  位置 / {
  proxy_redirect オフ;
  proxy_set_header ホスト $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  プロキシパス http://47.92.69.112:8081;
  }
 }
}

次に、このファイルを/host/path/ディレクトリに保存します。

docker run --name my-custom-nginx-container -v /host/path/nginx.conf:/etc/nginx/nginx.conf:ro -d -p 80:80 nginx

一般的な手順は次のようになります。www.dcssn.comまたはwww.xhxf119.comに直接アクセスして訪問することができます。

追加知識: Dockerは、異なるプロジェクトディレクトリに対応する複数のサブドメインをサポートするようにnginxを構成します。

リバースプロキシ配布を受けるチャンスがある

具体的なPHPとnginxの設定については、私のブログの設定を参照してください。

/root/nginx/conf/conf.d をコピーします

vim 実行テストphp.conf

runoob-test-php.conf ファイルの内容は、実際にはサブドメインに対応するディレクトリです。

サーバー{
 聞く 80;
 サーバー名 www.liuyuanshan.top;

 位置 / {
  #プロキシパス http://106.52.36.65:80;
  ルート /usr/share/nginx/html;
  インデックス index.php index.html index.htm;
 }

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

 場所 ~ \.php$ {
  fastcgi_passphp:9000;
  fastcgi_index インデックス.php;
  fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;
  fastcgi_params を含めます。
 }
}

サーバー{
 聞く 80;
 サーバー名 message.liuyuanshan.top;

 位置 / {
  ルート /usr/share/nginx/html/message/;
  インデックス index.php index.html index.htm;
 }

 エラーページ 500 502 503 504 /50x.html;
 場所 = /50x.html {
  ルート /usr/share/nginx/html;
 }
 場所 ~ \.php$ {
  fastcgi_passphp:9000;
  fastcgi_index インデックス.php;
  fastcgi_param SCRIPT_FILENAME /var/www/html/message/$fastcgi_script_name;
  fastcgi_params を含めます。
 }
}


サーバー{
 聞く 80;
 サーバー名 wordpress.liuyuanshan.top;

 位置 / {
  ルート /usr/share/nginx/html/wordpress/;
  インデックス index.php index.html index.htm;
 }

 エラーページ 500 502 503 504 /50x.html;
 場所 = /50x.html {
  ルート /usr/share/nginx/html;
 }
 場所 ~ \.php$ {
  fastcgi_passphp:9000;
  fastcgi_index インデックス.php;
  fastcgi_param SCRIPT_FILENAME /var/www/html/wordpress/$fastcgi_script_name;
  fastcgi_params を含めます。
 }
}

Dockerのnginxコンテナを再起動する

docker nginx を再起動

docker nginx を使用して 1 つのホストに複数のサイトを展開する方法に関する上記の記事が、私が皆さんに共有できるすべてです。これが皆さんの参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • 3つのDocker Nginxログの処理の詳細な説明
  • 負荷分散と動的および静的分離操作を実現するDocker NginxコンテナとTomcatコンテナ
  • Dockerはnginxをデプロイし、フォルダとファイル操作をマウントします
  • Docker デプロイメント nginx 実装プロセスのグラフィックとテキストによる詳細な説明
  • Docker イメージ + nginx を使用して Vue プロジェクトをデプロイする方法
  • Docker ベースの nginx ファイル サーバーを構築する方法と手順
  • Docker で Nginx イメージ サーバーを構築する方法
  • Docker Nginxコンテナの制作と展開の実装方法

<<:  Vue で AES.js を使用する詳細な手順

>>:  MySQL 永続統計の詳細な説明

推薦する

JavaScript バブルソートの例

目次1. バブルソートとは何か2. 例を挙げるラウンド1:第2ラウンド:第3ラウンド:第4ラウンド:...

非表示のフォームテキストを表示するJavaScript

この記事では、フォームの隠しテキストを表示するためのJavaScriptの具体的なコードを参考までに...

Docker を使用して Spring Boot をデプロイする方法

Docker テクノロジの開発により、マイクロサービスの実装にさらに便利な環境が提供されます。Doc...

React+Amapは緯度と経度をリアルタイムで取得し、住所を特定します

目次1. マップを初期化する2. マップポイント3. 位置決めを有効にする4. マップの変更を監視す...

Linux ifconfig コマンドの使用

1. コマンドの紹介ifconfig (ネットワーク インターフェイスを構成する) コマンドは、ネッ...

nginx-naxsi ホワイトリストルールの詳細な説明

ホワイトリストルールの構文:基本ルール wl:ID [否定] [mz:[$URL:target_ur...

WeChatアプレット開発の実践スキル:データの転送と保存

日々の開発で遭遇した様々な問題と、その解決策を閲覧しながら、日々の開発でよく使用するスキルや知識ポイ...

Vue における属性とプロパティの具体的な使用法と違い

目次Vue.jsにおける属性とプロパティ値および関連する処理として属性とプロパティの概念属性とプロパ...

CSS の一部のプロパティの前には「*」または「_」が付きます。

CSS の一部のプロパティの前には「*」または「_」が付きます。さまざまなブラウザを識別する例えば...

パゴダパネルとドッカーを使用して Gogs をインストールするプロセス全体

目次1 Baota Software StoreにDockerをインストールする2 ゴグスイメージを...

21 の MySQL 標準化および最適化のベスト プラクティス!

序文良い習慣はすべて宝物です。この記事は、SQL の後悔の治療法、SQL パフォーマンスの最適化、S...

Nginxの現在の制限設定の詳細な説明

この記事では、最も単純なものから最も複雑なものまで、Nginx の現在の制限構成を例を使って説明しま...

MySQL パフォーマンスの最適化: インデックスを効率的かつ正しく使用する方法

実践こそが真実をテストする唯一の方法です。この記事では、インデックスの全体的な使用法についてのみ説明...

MySQL インデックスの種類 (通常、ユニーク、フルテキスト) の説明

MySQL のインデックスの種類には、通常のインデックス、一意のインデックス、全文インデックスがあり...

CSS リセットスタイルリセットの実装例

はじめに: すべてのブラウザには、「ユーザー エージェント スタイル シート」と呼ばれる、すべてのペ...