Detaillierte Einführung in die Bereitstellung in Python
Ich habe Flask schon eine Weile gelernt, aber ich habe es noch nie bereitgestellt, also habe ich darüber nachgedacht, wie ich es bereitstellen soll. Ich habe darüber nachgedacht, den Dienst zuerst einzurichten , und ich habe mich für Flask+uwsgi+Nginx+Ubuntu entschieden. Dies ist die Option, die mit dem Ubuntu-System geliefert wird. Es fühlt sich einfach an, es zu erlernen Derzeit ist meine eigene Flasche in Python3 geschrieben, und ich werde langsam darauf umsteigen. Lassen Sie uns das zuerst herausfinden, dann wird es sehr einfach sein, es zu optimieren. Tatsächlich weiß ich nicht viel über viele Prinzipien. Lassen Sie uns dies zunächst einrichten und langsam die darin enthaltene Logik verstehen.
Nginx
Nginx ist ein effizienter Webserver und Reverse-Proxy-Server, der als Lastausgleich verwendet werden kann (wenn n Benutzer auf den Server zugreifen, kann er die Last auslagern und teilen Im Vergleich zu Apache unterstützt Nginx eine hohe Parallelität und kann Millionen von TCP-Verbindungen und Hunderttausende gleichzeitiger Verbindungen unterstützen. Es ist einfach bereitzustellen, verbraucht weniger Speicher und ist kostengünstig viele Module wie Apache. Nginx unterstützt das uwsgi-Protokoll von uWSGI, sodass wir Nginx mit uWSGI kombinieren können und Nginx dynamische Inhalte zur Verarbeitung über uwsgi_pass
an uWSGI übergibt.
Die offizielle Dokumentation finden Sie hier
Das beste Nginx-Tutorial finden Sie hier
uwsgi
- Studenten, die den vorherigen Abschnitt gelesen haben, wissen, dass WSGI ein Kommunikationsprotokoll ist.
- uwsgi ist eher ein Leitungsprotokoll als ein Kommunikationsprotokoll. Es wird häufig für die Datenkommunikation zwischen dem uWSGI-Server und anderen Netzwerkservern verwendet.
- Und uWSGI ist ein Webserver, der zwei Protokolle implementiert, uwsgi und WSGI.
sudo apt-get install python-pip
Verwenden Sie den folgenden Befehl, um flask zu installieren
pip install flask
Nach der Installation können wir es testen,
Flasche importieren
Es wird kein Fehler gemeldet, was beweist, dass unsere Flasche erfolgreich installiert wurde. Als nächstes müssen wir also ngnix und uwsgi installieren.
sudo apt-get install nginx
Nach der Installation können wir es zuerst starten, Nginx starten Direkter Befehlszeilenstart, einfach und grob
Dies So wurde unser Nginx erfolgreich gestartet. Als nächstes verwenden wir pip, um uwsgi zu installieren.
Nachdem wir es installiert haben, beginnen wir mit der Arbeit
Zuerst erstelle ich es unter dem Python-Paket einer App,
#app/__init__.pyfrom flask import Flask app = Flask(__name__)from app import view
Als nächstes erstellen wir view.py
from app import app @app.route('/')def index():return 'hellow'
Dann gehen wir zur App Create hello.py
from app import appif __name__ == "__main__": app.run()
im gleichen Verzeichnis, dann können wir Python verwenden, um unser Programm lokal zu debuggen,
Dann können wir einen Blick in den Browser werfen, Geben Sie die Adresse ein und erhalten Sie diese. Aus dieser Sicht gibt es kein Problem mit unserem Flaschenprogramm.
Dann müssen wir als Nächstes Nginx den Webdienst übernehmen lassen.
Was ich hier getan habe, war, die Nginx-Konfigurationsdatei einfach und grob zu löschen
$ sudo rm /etc/nginx/sites-enabled/default
Als nächstes habe ich eine Konfigurationsdatei unter hellowflask erstellt
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; } }
Eine kurze Erklärung: server_name kann ein Domänenname oder eine IP-Adresse sein. uwsgi_pass gibt die Kommunikationsmethode zwischen Nginx und uwsgi an. Was ich hier wähle, ist die angegebene Portnummer.
Dann verbinden wir unsere Konfiguration sanft mit Nginx.
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>
sudo /etc/init.d/nginx restart
Was hier steht, ist kein willkommener Fehler, sondern ein 502-Fehler, da unsere aktuelle uwsgi-Datei noch nicht konfiguriert wurde und wir uwsgi noch nicht gestartet haben, also lasst uns Als nächstes möchte ich nur dieses UWSGI herausholen. Das folgende Beispiel ist meine Konfiguration.
[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
Zu diesem Zeitpunkt ist unser uwsgi konfiguriert, also fangen wir damit an,
sudo /usr/bin/uwsgi --ini/home/liwanlei/Desktop/hellowflask/helloflask_uwsgi.ini
我们去重新启动我们的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配置得当,那么排除错误是很快的。
Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die Bereitstellung in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen





Wie kann man mit JenkinsPipeline einen kontinuierlichen Paketierungs- und Bereitstellungsprozess für PHP-Programme aufbauen? Jenkins ist ein sehr beliebtes Tool für kontinuierliche Integration und Bereitstellung. Es bietet eine Fülle von Plug-Ins und Funktionen, um den Erstellungs- und Bereitstellungsprozess einfach und effizient zu gestalten. JenkinsPipeline ist das neueste Plug-in für Jenkins, das es uns ermöglicht, eine vollständige und erweiterbare DSL (DomainSpecificLanguage) zu verwenden, um kontinuierliche Integration und Bereitstellung zu definieren.

Wie stelle ich eine vertrauenswürdige Weboberfläche auf einem Linux-Server bereit? Einleitung: Im heutigen Zeitalter der Informationsexplosion sind Webanwendungen zu einer der wichtigsten Möglichkeiten für Menschen geworden, Informationen zu erhalten und zu kommunizieren. Um die Sicherheit der Privatsphäre der Benutzer und die Zuverlässigkeit der Informationen zu gewährleisten, müssen wir eine vertrauenswürdige Webschnittstelle auf dem Linux-Server bereitstellen. In diesem Artikel wird die Bereitstellung einer Webschnittstelle in einer Linux-Umgebung vorgestellt und relevante Codebeispiele bereitgestellt. 1. Installieren und konfigurieren Sie den Linux-Server. Zuerst müssen wir einen Li vorbereiten

So verwenden Sie die Docker-Containerisierung, um Anwendungen in FastAPI bereitzustellen. Einführung: Docker ist eine Containerisierungstechnologie, die Anwendungen und ihre Abhängigkeiten in einen unabhängigen, tragbaren Container packt, um eine schnelle Bereitstellung und Erweiterung zu erreichen. FastAPI ist ein modernes, leistungsstarkes Webframework auf Basis von Python, das eine einfache und schnelle API-Entwicklungserfahrung bietet. In diesem Artikel wird die Verwendung der Docker-Containerisierung zum Bereitstellen von Anwendungen in FastAPI vorgestellt und entsprechende Codebeispiele bereitgestellt.

Um das Problem zu lösen, dass Tomcat nach der Bereitstellung nicht erfolgreich auf das Kriegspaket zugreifen kann, sind bestimmte Codebeispiele erforderlich. Als weit verbreiteter Java-Webserver ermöglicht Tomcat Entwicklern, ihre eigenen entwickelten Webanwendungen zur Bereitstellung in Kriegsdateien zu packen. Manchmal kann es jedoch vorkommen, dass wir nach der Bereitstellung des Kriegspakets nicht erfolgreich darauf zugreifen können. Dies kann an einer falschen Konfiguration oder aus anderen Gründen liegen. In diesem Artikel stellen wir einige konkrete Codebeispiele bereit, die dieses Dilemma angehen. 1. Überprüfen Sie den Tomcat-Dienst

1. Einleitung In den letzten Jahren haben sich YOLOs aufgrund ihres effektiven Gleichgewichts zwischen Rechenkosten und Erkennungsleistung zum vorherrschenden Paradigma im Bereich der Echtzeit-Objekterkennung entwickelt. Forscher haben das Architekturdesign, die Optimierungsziele, Datenerweiterungsstrategien usw. von YOLO untersucht und erhebliche Fortschritte erzielt. Gleichzeitig behindert die Verwendung von Non-Maximum Suppression (NMS) bei der Nachbearbeitung die End-to-End-Bereitstellung von YOLO und wirkt sich negativ auf die Inferenzlatenz aus. In YOLOs fehlt dem Design verschiedener Komponenten eine umfassende und gründliche Prüfung, was zu erheblicher Rechenredundanz führt und die Fähigkeiten des Modells einschränkt. Es bietet eine suboptimale Effizienz und ein relativ großes Potenzial zur Leistungsverbesserung. Ziel dieser Arbeit ist es, die Leistungseffizienzgrenze von YOLO sowohl in der Nachbearbeitung als auch in der Modellarchitektur weiter zu verbessern. zu diesem Zweck

Wie stellt man die Flask-Anwendung mit Gunicorn bereit? Flask ist ein leichtes Python-Web-Framework, das häufig zur Entwicklung verschiedener Arten von Webanwendungen verwendet wird. Gunicorn (GreenUnicorn) ist ein Python-basierter HTTP-Server, der zum Ausführen von WSGI-Anwendungen (WebServerGatewayInterface) verwendet wird. In diesem Artikel wird erläutert, wie Sie mit Gunicorn Flask-Anwendungen bereitstellen

Best Practices für die Bereitstellung von Webprojekten mit Tomcat und Lösungen für häufige Probleme Einführung: Tomcat wird als einfacher Java-Anwendungsserver häufig in der Entwicklung von Webanwendungen eingesetzt. In diesem Artikel werden die Best Practices und gängigen Problemlösungsmethoden für die Tomcat-Bereitstellung von Webprojekten vorgestellt und spezifische Codebeispiele bereitgestellt, um den Lesern ein besseres Verständnis und eine bessere Anwendung zu erleichtern. 1. Planung der Projektverzeichnisstruktur Vor der Bereitstellung eines Webprojekts müssen wir die Verzeichnisstruktur des Projekts planen. Im Allgemeinen können wir es wie folgt organisieren

Gunicorn und Flask: Die perfekte Bereitstellungskombination, die spezifische Codebeispiele erfordert. Übersicht: Für Entwickler ist es sehr wichtig, die geeignete Bereitstellungsmethode zu wählen, insbesondere für Python-Webanwendungen. Unter den Python-Webframeworks ist Flask eine sehr beliebte Wahl und Gunicorn ist ein Server für die Bereitstellung von Python-Anwendungen. In diesem Artikel wird die Kombination von Gunicorn und Flask vorgestellt und einige spezifische Codebeispiele bereitgestellt, um den Lesern zu helfen
