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

しばらくフラスコを勉強していましたが、デプロイしたことがなかったので、どうやってデプロイするかを考えていました。まずサービスを立ち上げましょう。ここでの選択は 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/imghwm/default1.png"  data-src="https://img.php.cn/upload/article/000/000/001/25f4d9be3a729ae5fc17c2fefb915c9c-3.jpg?x-oss-process=image/resize,p_40"  class="lazy" alt=""/></span>
 <br>

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

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

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
如何使用Jenkins Pipeline构建PHP程序的持续打包部署流程?如何使用Jenkins Pipeline构建PHP程序的持续打包部署流程?Jul 30, 2023 pm 07:41 PM

如何使用JenkinsPipeline构建PHP程序的持续打包部署流程?Jenkins是一款非常流行的持续集成和部署工具,它提供了丰富的插件和功能,使得构建和部署过程变得简单而高效。而JenkinsPipeline是Jenkins最新推出的插件,它允许我们使用一种完整的、可扩展的DSL(DomainSpecificLanguage)来定义持续集成和部

如何在Linux服务器上部署可信赖的Web接口?如何在Linux服务器上部署可信赖的Web接口?Sep 09, 2023 pm 03:27 PM

如何在Linux服务器上部署可信赖的Web接口?简介:在如今信息爆炸的时代,Web应用已经成为了人们获取信息和进行交流的主要途径之一。为了确保用户的隐私安全和信息的可靠性,我们需要在Linux服务器上部署一个可信赖的Web接口。本文将介绍如何在Linux环境下进行Web接口的部署,并提供相关的代码示例。一、安装和配置Linux服务器首先,我们需要准备一个Li

Laravel开发:如何使用Laravel Envoyer部署应用程序?Laravel开发:如何使用Laravel Envoyer部署应用程序?Jun 14, 2023 am 10:15 AM

Laravel是一个极受欢迎的PHP开发框架,它以其简洁、优雅和高效的特性得到了众多开发者的青睐。随着Laravel的不断发展,LaravelEnvoyer作为一种部署工具,可帮助开发者更容易地将应用程序部署在服务器上。本文将向您介绍如何使用LaravelEnvoyer快速、轻松地部署应用程序。LaravelEnvoyer是什么?LaravelEnv

如何在Linux上部署Web应用程序如何在Linux上部署Web应用程序Jul 05, 2023 am 09:09 AM

如何在Linux上部署Web应用程序随着互联网的发展,Web应用程序的开发和部署变得越来越流行。而Linux是Web服务器的首选操作系统。本文将介绍如何在Linux上部署Web应用程序,并附上一些常见的代码示例。安装必要的软件在开始之前,我们需要安装一些必要的软件,包括Web服务器(如Apache、Nginx等)、PHP解释器(如果你的应用程序使用了PHP)

Scrapy如何实现Docker容器化与部署?Scrapy如何实现Docker容器化与部署?Jun 23, 2023 am 10:39 AM

随着现代互联网应用程序的不断发展和复杂性的增加,网络爬虫已经成为数据获取和分析的重要工具。而Scrapy作为Python最流行的爬虫框架之一,拥有强大的功能和易于使用的API接口,可以帮助开发人员快速地抓取和处理Web页面数据。但是,当面对大规模抓取任务时,单个Scrapy爬虫实例很容易受到硬件资源限制,因此通常需要将Scrapy容器化并部署到Docker容

使用Webman实现网站的持续集成和部署使用Webman实现网站的持续集成和部署Aug 25, 2023 pm 01:48 PM

使用Webman实现网站的持续集成和部署随着互联网的迅猛发展,网站开发和维护的工作也变得越来越复杂。为了提高开发效率和保证网站的质量,采用持续集成和部署的方式成为了一个重要的选择。在这篇文章中,我将介绍如何使用Webman工具来实现网站的持续集成和部署,并附上一些代码示例。一、什么是WebmanWebman是一个基于Java的开源持续集成和部署工具,它提供了

微服务架构中如何处理服务的自动化测试和部署?微服务架构中如何处理服务的自动化测试和部署?May 17, 2023 am 08:10 AM

随着互联网技术的快速发展,微服务架构也越来越被广泛应用。使用微服务架构可以有效避免单体应用的复杂度和代码耦合,提高应用的可扩展性和可维护性。然而,与单体应用不同,在微服务架构中,服务数量庞大,每个服务都需要进行自动化测试和部署,以确保服务的质量和可靠性。本文将针对微服务架构中如何处理服务的自动化测试和部署进行探讨。一、微服务架构中的自动化测试自动化测试是保证

如何在FastAPI中使用Docker容器化部署应用程序如何在FastAPI中使用Docker容器化部署应用程序Jul 28, 2023 pm 01:25 PM

如何在FastAPI中使用Docker容器化部署应用程序引言:Docker是一种容器化技术,它可以将应用程序及其依赖项打包成一个独立的、可移植的容器,从而实现快速部署和扩展。FastAPI是一个基于Python的现代、高性能的Web框架,它提供了简单且快速的API开发体验。本文将介绍如何在FastAPI中使用Docker容器化部署应用程序,并提供相应的代码示

See all articles

ホット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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン