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

推薦する

SEOチームワークが企業サイトのコンバージョン率を最大化

エンタープライズ Web サイトに携わったり、運営したりしたことがある SEO 担当者や Web マ...

網易クラウド:ワールドカップのメディア戦争が激化、オーディオとビデオ技術がリード

ロシアワールドカップが開幕した。 4年に一度開催されるファンカーニバルとして、このスーパーIPを巡る...

alphavps-30 ユーロ/年 VPS、4g メモリ/4 コア/35g SSD/5 コンピュータ ルーム

ブルガリアのホスティング プロバイダー alphavps.bg は最近、KVM VPS、OpenVZ...

hostkvm: 香港 cn2 高速 VPS、20% 割引、月額 7.6 ドルから、2G メモリ/1 コア/40gSSD/120G トラフィック

Hostkvm は現在、香港葵湾データセンターで香港 CN2 VPS を推進しています。この VPS...

2019年上半期中国広告市場レポート

2019年上半期は、「安定と変化、変化と懸念」の経済環境の影響を受け、2019年の経済市場全体に対す...

人気を生み出す:スクリーンスイープのコミュニケーションルーチンをまとめた6つの重要なポイント

月収10万元の起業の夢を実現するミニプログラム起業支援プランXin Shi Xiang はなぜ画面を...

2019年コンテンツ起業家年次レポート!

このレポートは、新しい主流、新しいプラットフォーム、新しい価値の 3 つの部分に分かれています。デー...

KrakenServers-2.5 USD/Windows/1 GB RAM/20 GB HDD/1 TB Flow/ダラス

Krakenservers は 2009 年に設立され、主にゲーム コンソール会社としてスタートした...

知らせ!ロゴをデザインするときにはこれをしてはいけない

月収10万元の起業の夢を実現するミニプログラム起業支援プランロゴは企業イメージを表現するものであり、...

崔勇元は微博を放棄し今日頭条へ移ると発表した。多数のファンが彼に従い今日頭条へ移った。

月収10万元の起業の夢を実現するミニプログラム起業支援プランA5ベンチャーネットワーク(公開アカウン...

SEO最適化は評価期間中の記事コンテンツ構築の重要なポイントです - A5 Webmaster Network

皆さんご存知のとおり、新しいウェブサイトを立ち上げるときは、ウェブサイト構造の最適化、コラムの設定、...

インターネット上でブランドイメージを構築する方法

インターネットはユーザーの購買決定や購入方法を変え、ますます重要な役割を果たしています。企業にとって...

Baiduの新機能について簡単に説明:優れたユーザーエクスペリエンスを提供することは想像するほど難しくない

SEO にとって最終的な目標は優れたユーザー エクスペリエンスを提供することなので、SEO 担当者は...

月給3万のLinuxクラウドコンピューティングエンジニアの葛藤と混乱

週末、WeChat 公式アカウントを開設したばかりの皆さんは、残業の疲れから目覚めたばかりで、Lin...

「SEO」は「ユーザーエクスペリエンス」のゴッドマザーではない

私は次の 4 つの文に本当に感謝しています。 A. ページのHTML構造を機械に理解させるB. コン...