目次
Nginx
ホームページ バックエンド開発 Python チュートリアル Python でのデプロイメントの詳細な紹介

Python でのデプロイメントの詳細な紹介

Jul 23, 2017 am 10:09 AM
展開する

しばらくフラスコを勉強していましたが、デプロイしたことがなかったので、どうやってデプロイするかを考えていました。まずサービスを立ち上げましょう。ここでの選択は Flask+uwsgi+Nginx+Ubuntu です。私は Python 2.7.2 を選択しました。これは、ソフトウェア接続を介さずに学習するのが簡単だと思います。 Python3 で書かれています。これを理解したら、最適化は非常に簡単になります。実際、私は多くの原則についてあまり知りません。まずこれを設定して、内部のロジックをゆっくり理解しましょう。

Nginx

Nginx は、負荷分散として使用できる効率的な Web サーバーおよびリバース プロキシ サーバーです (n 人のユーザーがサーバーにアクセスすると、サーバーの負荷を軽減し、負荷を分散できます)。Apache と比較して、Nginx はサポートしています。同時実行性が高く、数百万の TCP 接続と数十万の同時接続をサポートできます。展開が簡単で、メモリ消費量が少なく、コストが低くなります。ただし、Nginx には Apache ほど多くのモジュールがありません。 Nginx は uWSGI の uwsgi プロトコルをサポートしているため、Nginx と uWSGI を組み合わせることができ、Nginx は動的コンテンツを処理のために uWSGI に渡します。 uwsgi_pass

公式ドキュメントはこちらです

最高のNginxチュートリアルはこちらです

uwsgi

uWSGIは、WSGIプロトコル、uwsgi、http、およびその他のプロトコルを実装するWebサーバーです。 Nginx の HttpUwsgiModule の機能は、uWSGI サーバーとのやり取りです。
WSGI / uwsgi / uWSGI の 3 つの概念の違いに注意してください。
  • 前のセクションを読んだ生徒は、WSGI が通信プロトコルであることを明確に理解しているでしょう。
  • uwsgi は通信プロトコルではなく回線プロトコルで、uWSGI サーバーと他のネットワーク サーバー間のデータ通信によく使用されます。
  • そして、uWSGIは、uwsgiとWSGIという2つのプロトコルを実装するWebサーバーです。
  • uwsgi プロトコルは、送信される情報の種類を定義するために使用される uWSGI パケットです。これは、WSGI とは 2 つの異なるものです。 。
準備、まず必要なパッケージをインストールしましょう まず、これは新しくインストールしたシステムなので、pip をインストールします
sudo apt-get install python-pip
ログイン後にコピー
次のコマンドを使用します。フラスコ

pip install flask
ログイン後にコピー
をインストールした後、

import flask

フラスコが正常にインストールされたことを証明するエラーは報告されません。したがって、次にしなければならないことは、ngnix と uwsgi をインストールすることです。

sudo apt-get install nginx
ログイン後にコピー
インストール後、まず、nginx をコマンドラインから直接起動します。シンプルかつ粗雑です

このようにして、nginx は正常に起動します。次に、pip を使用して uwsgi をインストールします

。インストールしたら、始めましょう

まず、helloflak の下にアプリの Python パッケージを作成します

#app/__init__.pyfrom flask import Flask
app = Flask(__name__)from app import view
ログイン後にコピー
次に、view.py

from app import app
@app.route('/')def index():return 'hellow'
ログイン後にコピー
を作成します。アプリと同じディレクトリにある場合は、Python を使用してプログラムをローカルでデバッグできます

次に、ブラウザでチェックアウトし、アドレスを入力してこれを取得できます。 この観点から見ると、次のようになります。フラスコプログラムでは問題ありません。

次に私たちがしなければならないことは、nginx に Web サービスを引き継がせることです。

ここでやっていることは、単純かつ無作法にnginx設定ファイルを削除することです

from app import appif __name__ == "__main__":
    app.run()
ログイン後にコピー

次に、helloflaskの下に設定ファイルを作成しました

$ sudo rm /etc/nginx/sites-enabled/default
ログイン後にコピー
少し説明します:server_nameはドメイン名にすることもできますし、 write ip Address、uwsgi_passはNginxとuwsgi間の通信方式を示します。ここで選択するのは指定されたポート番号です。

次に、設定を nginx にソフト接続しましょう。

server {
    listen      8081;
    server_name 127.0.0.1;
    charset     utf-8;
    client_max_body_size 75M;

    location / { try_files $uri @app; }
    location @app {
        include uwsgi_params;
        uwsgi_pass 127.0.0.1:9000;
    }
}
ログイン後にコピー
sudo ln -s <span class="hljs-regexp"><span class="hljs-regexp">/home/liwanlei/Desktop/hellowflask/<span class="hljs-regexp">helloflask_nginx.conf /etc<span class="hljs-regexp">/nginx/conf.d/<br/>这样我们再去启动我们的nginx,</span></span></span></span>
ログイン後にコピー

ここにあるのは歓迎ではなく、502 エラーです。現在の uwsgi ファイルがまだ構成されておらず、uwsgi を開始していないため、次のステップはこの uwsgi を取得することです。私設定。

sudo /etc/init.d/nginx restart
ログイン後にコピー

この時点で、uwsgi は設定されているので、それを開始しましょう、

[uwsgi]    
    base = /home/liwanlei/Desktop/hellowflask
    app = hello#module = %(app)pidfile = /var/run/uwsgi.pid
    master = true
    wsgi-file = /home/liwanlei/Desktop/hellowflask/hello.py
    pythonpath = /usr/bin/python
    chdir = /home/liwanlei/Desktop/hellowflask
    socket = 127.0.0.1:9000callable = app
    logto = %n.log
    plugins = python
    processes = 8master = true
ログイン後にコピー

我们去重新启动我们的nginx,

sudo nginx <span class="hljs-_">reload<br/>平滑重启可以用用,重新加载配置文件,用新的工作进程代替旧的工作进程。<br/></span>
ログイン後にコピー
sudo nginx -s reload
ログイン後にコピー
<span class="hljs-_"><br/>启动后,我这里修改了地址,这里就可以直接访问了,那么我们的部署这样就算可以了,简单的。<br/><img src="/static/imghw/default1.png"  data-src="https://img.php.cn/upload/article/000/000/001/25f4d9be3a729ae5fc17c2fefb915c9c-3.jpg"  class="lazy" alt=""/></span>
ログイン後にコピー
 <br/>
ログイン後にコピー

完工之后,感觉还是很简单的 有问题那么就去看log,只要log配置得当,那么排除错误是很快的。

以上がPython でのデプロイメントの詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Jenkins Pipeline を使用して、PHP プログラムの継続的なパッケージ化とデプロイメントのプロセスを構築するにはどうすればよいですか? Jenkins Pipeline を使用して、PHP プログラムの継続的なパッケージ化とデプロイメントのプロセスを構築するにはどうすればよいですか? Jul 30, 2023 pm 07:41 PM

JenkinsPipeline を使用して PHP プログラムの継続的なパッケージ化とデプロイメントのプロセスを構築するにはどうすればよいですか? Jenkins は非常に人気のある継続的統合およびデプロイメント ツールであり、ビルドとデプロイメントのプロセスをシンプルかつ効率的に行うための豊富なプラグインと機能を提供します。 JenkinsPipeline は Jenkins の最新プラグインであり、これを使用すると、完全で拡張可能な DSL (DomainSpecificLanguage) を使用して継続的な統合とデプロイメントを定義できます。

信頼できる Web インターフェイスを Linux サーバーに展開するにはどうすればよいですか? 信頼できる Web インターフェイスを Linux サーバーに展開するにはどうすればよいですか? Sep 09, 2023 pm 03:27 PM

信頼できる Web インターフェイスを Linux サーバーに展開するにはどうすればよいですか?はじめに: 今日の情報爆発の時代において、Web アプリケーションは人々が情報を取得し、通信するための主要な方法の 1 つになりました。ユーザーのプライバシーと情報の信頼性を確保するには、信頼できる Web インターフェイスを Linux サーバーに展開する必要があります。この記事では、Linux 環境に Web インターフェイスを展開する方法を紹介し、関連するコード例を示します。 1. Linux サーバーをインストールして構成します。まず、Linux サーバーを準備する必要があります。

FastAPI で Docker コンテナ化を使用してアプリケーションをデプロイする方法 FastAPI で Docker コンテナ化を使用してアプリケーションをデプロイする方法 Jul 28, 2023 pm 01:25 PM

Docker コンテナ化を使用して FastAPI でアプリケーションをデプロイする方法 はじめに: Docker は、アプリケーションとその依存関係を独立したポータブルなコンテナにパッケージ化し、迅速なデプロイと拡張を実現するコンテナ化テクノロジです。 FastAPI は、Python をベースとした最新の高性能 Web フレームワークで、シンプルで高速な API 開発エクスペリエンスを提供します。この記事では、Docker コンテナ化を使用して FastAPI にアプリケーションをデプロイする方法を紹介し、対応するコード例を示します。

Tomcat が war パッケージをデプロイした後にアクセスできない問題を解決する方法 Tomcat が war パッケージをデプロイした後にアクセスできない問題を解決する方法 Jan 13, 2024 pm 12:07 PM

Tomcat がデプロイ後に war パッケージに正常にアクセスできない問題を解決するには、特定のコード サンプルが必要です。広く使用されている Java Web サーバーとして、Tomcat を使用すると、開発者は独自に開発した Web アプリケーションをデプロイ用の war ファイルにパッケージ化できます。ただし、構成が正しくないことやその他の理由により、war パッケージをデプロイした後に正常にアクセスできないという問題が発生する場合があります。この記事では、このジレンマに対処する具体的なコード例をいくつか紹介します。 1. Tomcat サービスを確認する

Yolov10: 詳細な説明、展開、アプリケーションがすべて 1 か所にまとめられています。 Yolov10: 詳細な説明、展開、アプリケーションがすべて 1 か所にまとめられています。 Jun 07, 2024 pm 12:05 PM

1. はじめに ここ数年、YOLO は、計算コストと検出パフォーマンスの効果的なバランスにより、リアルタイム物体検出の分野で主流のパラダイムとなっています。研究者たちは、YOLO のアーキテクチャ設計、最適化目標、データ拡張戦略などを調査し、大きな進歩を遂げました。同時に、後処理に非最大抑制 (NMS) に依存すると、YOLO のエンドツーエンドの展開が妨げられ、推論レイテンシに悪影響を及ぼします。 YOLO では、さまざまなコンポーネントの設計に包括的かつ徹底的な検査が欠けており、その結果、大幅な計算冗長性が生じ、モデルの機能が制限されます。効率は最適ではありませんが、パフォーマンス向上の可能性は比較的大きくなります。この作業の目標は、後処理とモデル アーキテクチャの両方から YOLO のパフォーマンス効率の境界をさらに改善することです。この目的を達成するために

Flask アプリケーションのための Gunicorn 導入ガイド Flask アプリケーションのための Gunicorn 導入ガイド Jan 17, 2024 am 08:13 AM

Gunicorn を使用して Flask アプリケーションをデプロイするにはどうすればよいですか? Flask は、さまざまなタイプの Web アプリケーションの開発に広く使用されている軽量の Python Web フレームワークです。 Gunicorn (GreenUnicorn) は、WSGI (WebServerGatewayInterface) アプリケーションの実行に使用される Python ベースの HTTP サーバーです。この記事では、Gunicorn を使用して Flask アプリケーションをデプロイする方法を紹介します。

Tomcat に Web プロジェクトをデプロイするためのベスト プラクティスと一般的な問題の解決策 Tomcat に Web プロジェクトをデプロイするためのベスト プラクティスと一般的な問題の解決策 Dec 29, 2023 am 08:21 AM

Tomcat を使用して Web プロジェクトをデプロイするためのベスト プラクティスと一般的な問題の解決策 はじめに: Tomcat は、軽量の Java アプリケーション サーバーとして、Web アプリケーション開発で広く使用されています。この記事では、Web プロジェクトの Tomcat 展開のベスト プラクティスと一般的な問題解決方法を紹介し、読者がよりよく理解して適用できるように具体的なコード例を示します。 1. プロジェクトのディレクトリ構造の計画 Web プロジェクトをデプロイする前に、プロジェクトのディレクトリ構造を計画する必要があります。大まかに言うと、次のように整理できます

PHP を使用して Web サイトを展開および維持する方法 PHP を使用して Web サイトを展開および維持する方法 May 03, 2024 am 08:54 AM

PHP Web サイトを正常に展開して維持するには、次の手順を実行する必要があります。 Web サーバー (Apache や Nginx など) を選択する PHP をインストールする データベースを作成して PHP に接続する コードをサーバーにアップロードする ドメイン名と DNS を設定する Web サイトのメンテナンスを監視する手順には、PHP および Web サーバーの更新、Web サイトのバックアップ、エラー ログの監視、コンテンツの更新が含まれます。

See all articles