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 永続統計の詳細な説明

推薦する

MySQL ストアド プロシージャの原理と使用法の詳細な説明

この記事では、例を使用して、MySQL ストアド プロシージャの原理と使用方法を説明します。ご参考ま...

HTML テーブルタグチュートリアル (17): テーブルタイトルの垂直配置属性 VALIGN

表のキャプションは表の上または下に配置でき、プロパティで調整できます。デフォルトのテーブル タイトル...

JSコンストラクタとインスタンス化およびプロトタイプ導入の関係

目次1. コンストラクタとインスタンス化2. コンストラクターとインスタンス化の関係は何ですか? 3...

CSS3で実装されたテキストポップアップ効果

成果を達成する実装コードhtml <div>123WORDPRESS.COM</d...

Vueルーティングコンポーネントでパラメータを渡す8つの方法の詳細な説明

シングルページアプリケーションを開発する場合、特定のルートを入力し、パラメータに基づいてサーバーから...

And キーワードを使用した MySQL の複数条件クエリ ステートメント

AND キーワードを使用した MySQL 複数条件クエリ。MySQL では、AND キーワードを使用...

初心者でもjsのtypeofとinstanceofの違いを理解できます

目次1. 型2. インスタンス3. 違い1. 型typeof 演算子は、評価されていないオペランドの...

docker を使用して kafka プロジェクトをデプロイする Centos6 方法の分析

この記事では、Docker を使用して Centos6 に Kafka プロジェクトをデプロイする方...

Alibaba CloudにMySQLをインストールする方法の詳細な説明

軽量のオープンソース データベースである MySQL は、エンタープライズ レベルのアプリケーション...

IEではボタンが両側に伸びる

ボタン (input, button) を記述すると、IE では次のようになります。単語数が増えると...

JS 関数とコンストラクタを簡単に理解する

目次1. 概要1.1 Functionコンストラクタを使用して関数を作成する1.2 機能と目的2. ...

nginx のロケーションと書き換えの使用法の詳細な説明

1. 位置情報の利用状況の概要ロケーションは、さまざまな処理方法に対してさまざまな種類のリクエストを...

Server-U 14バージョンのインストールと使用方法

Server-Uソフトウェアの紹介Server-U は非常に強力なファイル マネージャーです。FTP...

MySQLがサブクエリと結合の使用を推奨しない理由

ページ分割されたクエリを実行するには: 1. MySQL の場合、サブクエリと結合の使用は推奨されま...

CSS スタイルを変更してグレーの Web ページ (色なし、明るい白黒のみ) を実現するいくつかの方法

通常、清明節、国哀悼日、大地震の日、影響力のある偉人の死去または命日には、ウェブマスターとして、故人...