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 を適用するには?

推薦する

江蘇省工業情報化部のチー・ユー副部長と代表団が華雲データグループを視察

3月6日、江蘇省党委メンバーで江蘇省工業情報化部の副部長である池宇氏とその代表団が調査と研究のため華...

製造業におけるエッジコンピューティング: 業務の合理化と効率性の向上

エッジ コンピューティングは製造業界において革命的なテクノロジーとなり、企業の運営方法を変え、プロセ...

共同購入取引額は初めて20億を突破したが、回復は依然として困難:加盟店のリソースは限られている

共同購入市場の規模は回復しているものの、この成長を維持できるかどうかの方が懸念される。独立系共同購入...

Baidu の検索結果に標準形式の日付が表示される理由を簡単に分析します。

Qihooが検索事業を開始して以来、Baiduはユーザーの検索体験をさらに向上させ、インターネット環...

エッジコンピューティングの仕事に必須の 5 つのスキル

IT トレンドの成長を追跡する 1 つの方法は、採用を注意深く監視することです。ある用語が求人市場の...

Rabbit High Defense CDN: (無料版あり) DDoS に対する高い防御力、CC 防御、申請不要、あらゆる業界へのアクセス、香港 CN2 を含む大規模なノード

「湖北ラビットクラウドテクノロジー株式会社」は、主にエンタープライズレベルのクラウドプラットフォーム...

#BuildingVPS# host1plus-20% オフ/VPS 月額支払いは 2 ドルから/オプションのコンピューター ルーム 5 室

host1plus の最新プロモーション、1 月の 20% オフは、Amber を除く host1p...

第3四半期の戦争はまだ終わっていない:中国のインターネットは「ジャングル時代」に別れを告げる

360とテンセント間の「独占」非難と反論は企業対立の枠を超えている。中国のインターネット業界は「ジャ...

ウェブマスターネットワークからの毎日のレポート:天猫がダブル11をキャンセル、国営ラジオテレビネットワーク会社が設立

1. 天猫は来年のダブル11を中止:191億が最後になるかもしれない11月15日、記者は複数の情報筋...

失敗したウェブマスターの苦い幸せ:冷肉販売者であり、小さなウェブサイトを持っている

私は失業中の浮浪者で、小さな冷肉店を経営しています。実は今朝まで、私は非常に機嫌が悪く、この気分は1...

Google の SEO ガイド: 分析ツール

ウェブサイト分析ツールを最大限に活用するGoogle ウェブマスター ツールやその他のサービスを使用...

Ramnode-VPS が LEB ランキング 1 位獲得を記念して 6.8% オフ (Win)

低価格VPSランキングでは、予想通りRamnodeが1位を獲得しました。当然の結果です!今回はオラン...

いくつかの主要なIaaSプロバイダーのネイティブクラウド監視ツールを評価する

[51CTO.com クイック翻訳] 企業は、クラウド プロバイダーを選択する前に、ネイティブの管理...

なぜ SaaS は中年男性にとってのスタートアップの楽園となったのでしょうか?

この記事を読みに来る人は、SaaS で働く人と中年男性の 2 種類しかないことはわかっています。おそ...