Docker ベースの Nginx アプリケーション Web サイトをデプロイする

Docker ベースの Nginx アプリケーション Web サイトをデプロイする

オープンソースの詳細については、以下をご覧ください。

51CTO オープンソース基本ソフトウェアコミュニティ

​​https://ost..com​​

1. 準備

まず、サーバー、パッケージ化されたフロントエンド アプリケーション Web サイト、および動的 Web サイト用のバックエンドを準備する必要があります。

ここではHuawei Cloudを例に挙げます。もちろん、サーバーは完全に各人の財布に依存します。

まず、Huawei Cloud を開いてコンテナを見つけましょう。

ここで、Container Mirror Service SWR という製品が表示されます。それをクリックします。 「今すぐ使用」をクリックします。これをクリックすると、ミラー加速を実行できます。

このアドレスは後で使用されます。もちろん、このアドレスは Huawei Cloud だけでなく、Alibaba Cloud や Tencent Cloud でも使用されます。見つけ方も似ており、以前の記事に書いたアドレスもいくつかあります。

次に、xshell に移動して操作します。

2. Dockerをダウンロードする

ここではデプロイメントに docker を使用するため、まず docker をダウンロードする必要があります。詳細については私の記事を読んでください。ここでスピードを上げます。

(1)古いバージョンをアンインストールする

まずは使ってみてください。

 sudo yum 削除 docker \
dockerクライアント\
docker-client-最新 \
docker-common \
docker-最新 \
docker-最新-logrotate \
docker-logrotate \
dockerエンジン

古いバージョンがある場合はアンインストールします(状況に応じて独自の判断を使用してください)。

(2)ダウンロード元を設定する

 sudo yum インストール-y yum-utils
sudo yum-config-manager \
--add -repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

設定後、ダウンロードできます。以下はダウンロードコードです。

 sudo yum インストール docker-ce docker-ce-cli containerd.io docker-compose-plugin 

注: これにより最新バージョンがダウンロードされます。特定のバージョンをダウンロードする必要がある場合は、上記の記事をお読みください。

(3)ミラー加速の設定

このとき、Huawei Cloud に入るときにコピーしたアドレスが役立ちます。もちろん、他にも選択肢はたくさんあります。

 sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{ "registry-mirrors": ["加速アドレス"] }
終了
sudo systemctlデーモンリロード
sudo systemctl docker を再起動します

完了したら、docker info を使用して変更が成功したかどうかを確認できます。

レジストリミラーが書き込んだアドレスになった場合、成功となります。

(4)nginxをダウンロードする

次に、docker pull コマンドを使用して nginx をダウンロードします。

ダウンロードが完了したら、docker images コマンドを使用してダウンロードしたイメージを表示します。

ここで基本的に準備が完了したことがわかります。次に、docker の nginx サーバーの構成と Web ページを変更できるようにファイルを処理する必要があります。つまり、当社のデータボリュームテクノロジーを使用するということです。

3. nginxを設定する

(1)設定ファイル

まず、nginx がどのように動作するかを知る必要があります。 Nginx には、conf.d と nginx.conf という 2 つの設定ファイルがあります。 conf.d は default.conf というファイルが含まれるフォルダーです。

住所は以下のとおりです。

nginx.conf は、

nginx.conf は、

なぜこれについて言及するのでしょうか?後続のニーズを満たすためにこれら 2 つのファイルを構成する必要があり、docker でダウンロードされた nginx イメージは縮小され、基本的な機能のみが保持されるためです。そのため、docker ファイルを使用してイメージを生成し、nginx 上で基本的な設定を行わないと、vi や vim の機能など、必要な操作機能を使用することができません。毎回設定が必要になっても不便です。したがって、Docker でサービスをよりシンプルかつ便利に操作できるようにするには、データ ボリューム操作を実行する必要があります。

(2)ウェブページの設定

ここでは、Web サイトにアクセスしたときにユーザーが携帯電話ユーザーかコンピューター ユーザーかを判断し、対応するページに自動的にジャンプする必要があります。

(3)運用

したがって、2 つのフォルダーを作成する必要があります。

次に、準備したパッケージ化された Web ページを配置します。

次に設定ファイルを操作します。

私のようにいくつかのフォルダとファイルを作成します。作成構文についてはここでは説明しません。次に、これらの構成ファイルを構成できます。ここでこれらのファイルの目的について説明します。 conf.d は default.conf というファイルが含まれるフォルダーです。このファイルは nginx.conf ファイルと同じで、nginx の設定ファイルです。これら 2 つのファイルには、負荷分散、プロキシ、ジャンプ ページの書き換えなど、必要な構成を記述できます。もちろん、これを有効にするには、データ ボリュームと nginx の設定ファイルを接続する必要があります。ここで注意すべき点は、ファイルをマウントするときにファイルの権限を設定する必要があることです。そうしないと、コンテナ内のファイルの内容は、ホストの変更 chmod 777 nginx.conf によって変更されません。 logs フォルダーにはログ ファイルが含まれており、これを使用して nginx ログを取得できます。

推奨事項: ファイルではなくディレクトリをマウントしてみてください。

nginx.conf ファイルでは、次の操作を実行します。

つまり、ユーザーがサイトにアクセスすると、それが携帯電話か PC かを判断し、対応するインターフェースにジャンプします。 conf.d フォルダ内の default.conf も設定できます。他のログフォルダを操作する必要はありません。

(4)ドッカー実行

次に、docker run コマンドを使用してこのコンテナを実行します。

docker run -d -v /home/nginx-music/html/pc:/usr/share/nginx/html/pc -v /home/nginx-music/nginx/conf.d:/etc/nginx/conf.d -v /home/nginx-music/nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx-music/html/mo:/usr/share/nginx/html/mo -v /home/nginx-music/nginx/logs:/var/log/nginx -v /home/nginx-music/nginx/logs:/var/log/nginx -p 80:80 --name nginx-music-v1.0 nginx

対応するホスト ディレクトリとコンテナー ディレクトリまたはファイルをマウントするだけです。ポート マッピング、名前付け、バックグラウンド実行、イメージ名を設定します。これらのコマンドがわからない場合は、以前の 2 つの記事を読んでください。

(5)成功した​​か確認する

まず、コマンド docker exec -it nginx-music-v1.0 /bin/bash を使用してテスト用の nginx コンテナに入り、nginx -t を使用して nginx.conf ファイルの構成構文にエラーがあるかどうかをテストします。

その後、Web サイトにアクセスしてテストし、成功したかどうかを確認できます。

それでおしまい。

オープンソースの詳細については、以下をご覧ください。

51CTO オープンソース基本ソフトウェアコミュニティ

​​https://ost..com​​.

<<:  クラウド コンピューティングにとって継続的な可用性が重要なのはなぜですか?

>>:  クラウド アーキテクチャ DevOps を適用するには?

推薦する

QingCloudストレージが全面的にアップグレードされ、自社開発のQingStor U10000がさらなるデータ容量を解放

自動運転車をフル稼働でテストすると、毎日数テラバイト、あるいは数十テラバイトのデータが生成されること...

ホストオンはどうですか?西海岸ポートランドデータセンターのVPSレビュー

hosteonsは最近、米国西海岸のポートランドデータセンターにVPSを追加しました。デフォルトでA...

ネットワーク変革をサポートするNFVIの構築方法

NFVは通信事業者のネットワーク変革の技術的基盤となるここ数年、オペレータネットワークの変革は業界で...

検索エンジンの観点から問題を見ると、最適化につながる

自分の小さなウェブサイトの SEO を行うとき、多くのウェブマスターは「検索エンジンは私のウェブサイ...

ウェブサイトの種類に応じて更新戦略を立てる方法

多くのウェブマスターは、日々の業務を外部リンクに集中させ、ウェブサイトのコンテンツ更新戦略を無視して...

推奨: UltraVPS-3 Euro/Xen/1g RAM/30g HDD/1T トラフィック

1G メモリを搭載した XEN VPS に月額 3 ユーロを支払うことについてどう思いますか?実は税...

キーワード計画についてすべてのウェブマスターに警告する痛い経験

ウェブマスターのウェブサイトで最後にお会いしてから半月が経ちました。私の孟飛洋のウェブサイトは最近い...

Gmailは中国で完全にブロックされている

12月26日から、Gmailは中国で「完全に」ブロックされました。すべてのGmailクライアント通信...

レンタカー業界でソフトコンテンツマーケティングを行うための4つの重要なステップ

以前、友人から、伝統的な業界の会社を経営しているのに、現在のインターネット ソフト テキスト マーケ...

現在のSEOフォーラムに関する簡単な議論:悪化している

3、4年前を振り返ると、答え方がわからない質問があったら、フォーラムに投稿していました。たくさんの人...

racknerd: 3 月の米国 VPS プロモーション、5 つのデータ センターから選択可能、最低 $14.99/年

racknerd は、3 月にまったく新しい VPS プロモーションを発表しました。年間 15 ドル...

デジタル経済の発展はなぜエッジコンピューティングと切り離せないのでしょうか?

エッジコンピューティングとは何ですか?人工知能とモノのインターネット産業の急速な発展に伴い、私たちの...

マイクロソフトとドイツテレコムが7年間のクラウドコンピューティング契約を締結

[[357479]]マイクロソフト社とドイツテレコム社は、ドイツの企業や学校がより多くの IT リソ...

ハイブリッドエンタープライズコンピューティングインフラストラクチャ

情報技術の分野では、ハイブリッド クラウド (またはクラウド コンピューティング インフラストラクチ...

bluevm-256m メモリ/10g ハードディスク/500g トラフィック/月額 1 ドル/新しいパネル

BlueVM は長い間沈黙していたのでしょうか?ついにニュースです。openvz ベースの 256M...