3 分で Python Web アプリケーションをデプロイします。クラウド開発について知りたいですか?

3 分で Python Web アプリケーションをデプロイします。クラウド開発について知りたいですか?

Web アプリケーションを開発する場合、初心者は Linux システムに慣れていないために、展開の困難に遭遇することがよくあります。

この記事では、クラウド ホスティング サービスの使用法を紹介し、導入の難しさや負担を可能な限り軽減する方法を説明します。

1. 基本的なアプリケーションを作成する

helloworld という新しいディレクトリを作成し、そこに移動します。

 mkdir hello -クラウド-開発
cd hello -クラウド-開発

main.py というファイルを作成し、次のコードを貼り付けます。

インポートOS
FlaskからFlaskをインポート

アプリ= Flask ( __name__ )


@app .route ( '/' )
デフhello_world ( ) :
「Hello World!」を返します。

__name__ == "__main__"の場合:
アプリ.run (デバッグ= True ホスト= '0.0.0.0' ポート= 8080 )

上記のコードは基本的な Web サーバーを作成し、ポート 8080 でリッスンします。

2. アプリケーションをコンテナ化する

プロジェクトのルート ディレクトリに、次の内容を含む Dockerfile という名前のファイルを作成します。

 # 公式のPython軽量イメージを使用する
# https://hub.docker.com/_/python
Pythonから: 3.8 -スリム
# ローカルコードをコンテナにコピーする
ENV APP_HOME /アプリ
ワークディレクトリ $APP_HOME
コピー 。 。 /
# 依存関係をインストールする
pip install Flask gunicorn を実行します。
# Webサービスを開始する
# ここでは、サーバーとして gunicorn を使用し、ワーカー 1 台とスレッド8台を使用します。
# コンテナインスタンスに複数の CPU コアがある場合は、スレッドの数を CPU コアの数に合わせて設定することをお勧めします。
CMD exec gunicorn --bind :8080 --workers 1 --threads 8 --timeout 0 main:app

コンテナ イメージからファイルを除外するには、.dockerignore ファイルを追加します。

 Dockerファイル
README.md
* .pyc
* .pyo
* .pyd
__pycache__
.pytest_cache

3. CloudBaseクラウドホスティングにデプロイする

任意のクラウド サービス プロバイダーからクラウド開発サービスを選択できます。ここでは、Tencent Cloud の CloudBase クラウド ホスティング サービスを選択しました。

クラウドホスティングコンソールのサービス一覧ページで、該当する環境を選択し、[新規サービス]をクリックします: https://console.cloud.tencent.com/tcb/service

新しいサービスを作成するために必要なすべての情報を入力し、システムが推奨するデフォルト構成を使用します。

「送信」をクリックします。デプロイが成功すると、次のポップアップ ウィンドウが表示されます。

[バージョンの作成] をクリックすると、新しいバージョンの作成が開始され、すぐにデプロイされます。ここでは、ローカル コードを選択し、先ほど作成したフォルダーを zip ファイルにパッケージ化してアップロードし、ポートを 8080 に変更し、トラフィック戦略を「デプロイが完了したら 100% のトラフィックを自動的に開く」に変更し、その他の構成はデフォルトのままにします。

PS: hello-cloud-develop.zip は、Python 実践ガイドの公開アカウントのバックステージに返信することでダウンロードできます: Cloud Development

もちろん、必要に応じて、コード リポジトリや Docker イメージなど、コードをプルする他の方法を選択することもできます。コード リポジトリをオンライン サービスとしてデプロイするには、[デプロイの開始] をクリックします。

ステータスが「正常」に変わると、デプロイメントは成功です。

4. ウェブサイトにアクセスする

デプロイが成功すると、Web サイトにアクセスし、サービス構成を入力して、パブリック ドメイン名を見つけることができます。

このパブリック ドメイン名は、当社が展開した Web サイトのアドレスです。このパブリック ドメイン名にアクセスすると、デプロイメントが成功したことを示す次のページが表示されます。

おめでとう!クラウド開発、より正確にはクラウド ホスティング サービスを通じて Web サイトを正常に展開しました。この展開方法は非常に快適です。自社で構築したサーバーが不要になり、コストが削減され、運用やメンテナンスが容易になります。

シンプルな個人ウェブサイト、公式ウェブサイト、フォーラムなどはクラウドホスティングの形で展開することができ、投資コストを大幅に節約できると思います。ウェブマスターは試してみることができます。

<<:  eBPF ソケット レベル リダイレクトのカーネル実装の詳細を図解

>>:  【クラウドネイティブ】Kubernetes(k8s)ヘルスチェックの詳細解説と実践デモ(準備プローブと生存プローブ)

推薦する

あなたのウェブサイトが含まれていない、心配ですか? Yunzhi のウェブサイト構築により、1 か月で Baidu のホームページに掲載されるようになります

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

香港沙田CN2: pzea-9 USD/KVM/windows/1G RAM/20G HDD/無制限トラフィック

pzea.com の香港沙田データセンター VPS 補充。すべてのマシンはセルフホストされ、CN2 ...

共同購入消費はさらに2.4%減少、共同購入ウェブサイトの数は3,000を下回る

モーニングポストニュース(記者 孫宇)共同購入サイト217件が消滅し、全国のサイト総数は3,052件...

企業のウェブサイトがトラフィックを収益化するための重要なリンクは何ですか?

インターネットで利益を得たいなら、トラフィックなくしては成り立ちません。駅のような場所に、目立たない...

Python分散プロセスで遭遇する可能性のある落とし穴

[[266539]]ちょっとした騒ぎPython 3 を使用していますか、それとも Windows...

Spring Boot と Kafka を実際に使ってみましょう。

Kafka クラスターのインストール、構成、起動Kafka は Zookeeper に依存する必要が...

sharktech - 50 ドル割引/デュアル チャネル L5520/24G メモリ/2x2T ハード ドライブ/5IP/1G 帯域幅

Sharktech Shark Data Center では、新しい安価なサーバーを販売しています。...

Goで実装された分散トランザクションフレームワークのパート2

[[440473]]この記事はWeChatの公開アカウント「RememberGo」から転載したもので...

詳細が成功と失敗を決定づける: ウェブサイト上のリンク切れの検出と処理

ウェブサイトの最適化において、デッドリンクはウェブサイトのイメージに影響を与える重要なポイントです。...

IaaSとPaaSの違い

[[442894]] 1. 分類から本質を見極める製品を分類することは、製品の本質を検討し理解するこ...

IoT、エッジコンピューティング、分析ギャップの解消

エッジ コンピューティングでは、コンピューティング能力をデータ ソースの近くに配置できるため、分析機...

エッジコンピューティング技術の課題、リスク、可能性

過去 10 年間で、多くの企業が業務をクラウドに移行しました。しかし、家庭や企業に多数の新しい Io...

ターゲットを絞ることとプロフェッショナリズムは、将来のウェブサイトの競争力において強力な武器となるでしょう。

現代社会は分断社会に突入しており、例えば人口1万人の小さな町には小さな商店があれば十分ですが、人口1...

マルチクラウド管理ツールとヒントをお見逃しなく

[51CTO.com クイック翻訳] マルチクラウドモデルを利用することで、企業はベンダーに縛られる...

オープンソースをベースに、Pivo​​tal が企業のデジタル変革を加速させる方法をご覧ください

[51CTO.com からのオリジナル記事] 「Pivotal は非常に控えめな会社であり、真にハー...