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

推薦する

Google サイトリンクの簡単な分析

Google サイトリンクとは何ですか? 「検索結果で一部のウェブサイトの下に表示されるリンクはサイ...

JVM のメモリ配分と機能を 1 つの記事で理解する

[[403896]]この記事は、bingfeng が執筆した WeChat パブリックアカウント「プ...

chicagovps-独立記念日/すべてのVPS/複数のコンピュータルームが50%オフ

アメリカとカナダの独立記念日が近づいており、多くの企業が活動することが予想されます。chicagov...

ビッグトークWeChat O2Oマーケティング

WeChat マーケティングはますます人気が高まっており、オフラインのビジネスでも試さずにはいられま...

servarica: カナダの VPS、4g メモリ/4 コア/200g SSD/無制限トラフィック、ネイティブ IP、Windows をサポート

servarica は非常に古いカナダの VPS ブランドです。主に大容量ハードディスク VPS を...

バーチャルとリアルデザインがウェブサイトを正しく最適化する方法について解説(ケース分析)

みなさんこんにちは。私はハルビン仮想および現実ウェブサイト設計です。最近、いくつかの新しいウェブサイ...

メインサイトが含まれる前にセカンダリドメイン名を拡張することは、自ら墓穴を掘ることです

インターネット上のドメイン名の価格は非常に安定しています。一般的に、.comドメイン名の登録価格は5...

arkecx の新しい韓国 SK ライン クラウド サーバー (1Gbps 帯域幅、直接接続) の簡単なレビュー

Zenlayer傘下のクラウドサーバーブランド「Arkecx」は、韓国ソウルに新データセンターを開設...

百度の青大根アルゴリズムの動作原理に関する推測

2日前、百度は「青大根アルゴリズム」を発表し、ここ最近ウェブマスターの間で最も話題になっています。実...

有能なウェブマスターになる方法について語る [パート 1]

夕食後、何もすることがなかったので、ウェブマスターの資格を取得する方法について記事を書きました。これ...

法律業界のウェブサイト構築プロセスと計画

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています今日では、...

B2B業界のウェブサイトのホームページをデザインして、良い第一印象を与える

本レポートの最初の 11 セクションでは、B2B 業界の Web サイトのページ デザインを要素ごと...

春節期間中にウェブサイトのランキングを向上させる方法

春節が近づいてきており、インターネット実践者にとってはランキングを迅速に向上させるのに良い時期です。...

ローカルウェブサイトのプロモーションと運用の分析

ローカルウェブサイトの発展は、地域の産業に依存しています。私たち小規模ウェブマスターは、大手産業のウ...

ウェブマスターと専門家は、BaiduスナップショットSEOの重要性について異なる意見を持っています

近年、SEO専門家はウェブサイトのホームページのBaiduスナップショット(つまり、ウェブサイトのホ...