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

推薦する

ユーザーと友達になる - ネットワークマーケティングのやり方の簡単な分析

ユーザーは、Web サイトやフォーラムの存続の基盤です。ユーザーのいない Web サイトやフォーラム...

Helm とは何ですか?クラウドネイティブ アプリケーションのプライベート展開の効率はどのように向上しますか?

みなさんこんにちは。私はブラザー・スネイルです。 50 個のマイクロサービスを持つプロジェクトがあり...

対外貿易SEOは、Googleのランキングアルゴリズムの頻繁な調整にどのように対処しますか?

2012 年、Google は検索品質の調整を強化し続けました。最初に影響を受けるのは、対外貿易電子...

3分レビュー! 2021年11月のクラウドコンピューティング分野の重要な動向を簡単に紹介します

[[437371]] 2020年以降、クラウドコンピューティングがトレンドになりました。ますます多く...

初心者向けの#海外VPSサイト#の一覧、安くて信頼できる海外VPS業者のおすすめ

海外の VPS を購入するときは、適切な海外の VPS ウェブサイトを見つける必要があります。奇妙で...

vpeasy - $14.4/年/kvm/1g メモリ/15g SSD/1T トラフィック/Windows

Versawebは再び努力を始めました。以前ultravps.comブランドを立ち上げ、現在はVPE...

gigsgigscloud の米国国際ライン VPS--LAX-GLOBAL SimpleCloud KVM の簡単なレビュー

gigsgigscloud は数日前に米国国際回線向けの新しい VPS シリーズ「LAX-GLOBA...

VPS 初心者向けチュートリアル: Vestacp バックエンドの紹介と簡単なウェブサイト構築

Hostcat は以前、vestacp のインストール方法を紹介しています。「VPS 初心者向けチュ...

1兆ドル規模のエッジコンピューティング市場の「プレーヤー」は、2018年上半期に何をしたのでしょうか?

エッジコンピューティング市場の見通しと評価エッジ コンピューティングは、アプリケーション、データ、お...

アリババクラウド、大規模障害に対応:運用・保守エラーを大幅に改善

6月28日朝のニュース:今朝早く、アリババクラウドの公式Weiboアカウントが、昨日発生した大規模な...

serverfield - 台湾の VPS、3 つのネットワークへの直接接続、100M の帯域幅、月額料金は 15 米ドルから

Serverfield は新しいブランドです。中国ではほとんどの人がこのビジネスに馴染みがないと思わ...

安定した VPS の推奨: 2 月の photonvps 30% 割引コード [5 つ星推奨]

PhotonVPSはお馴染みのIDC(Fantong VPSと呼んでいます)、こちらはHostCat...

ZoroCloud: 30% オフ、34 元から、香港/ロサンゼルス、5 ネットワーク CN2 GIA 回線/AS9929、高防御 VPS/専用サーバー

Zorocloudは現在、香港データセンターの5ネットワークCN2 GIA回線の製品を補充しており、...

無料で高品質な外部リンクを取得する方法に関するヒント

一般的に、高品質の外部リンクは入手しにくいです。自由にアンカーテキストを残せるブログやスペースとは異...

オリジナルコンテンツの掲載に関する百度の3つの判断

「Baidu Original」の話題はよく取り上げられ、インターネット上では関連投稿が数多く出回っ...