Heim Backend-Entwicklung PHP-Tutorial ngix uwsgi django-Kombination Website-Erstellung

ngix uwsgi django-Kombination Website-Erstellung

Aug 08, 2016 am 09:23 AM
django nbsp uwsgi

Da ich kürzlich ein innovatives Projekt durchführen musste, das Python-Webentwicklung erforderte, habe ich Django studiert, ein sehr vielseitiges Python-Web-Framework.

Warum brauchen Sie Ngix?

Lassen Sie uns zunächst darüber sprechen, warum es notwendig ist, diese drei zum Erstellen einer Website zu kombinieren. Wenn Sie nur Django verwenden, können Sie keinen Lastausgleich erreichen. Wenn Sie beispielsweise einige statische Ressourcen anfordern müssen, müssen Sie sie alle von Django verarbeiten. Die Anforderungen können nicht angemessen verteilt werden, und Ngix kann dieses Problem lösen (es scheint, dass dieses Projekt keinen Lastausgleich in Betracht ziehen muss, sondern eine Verbesserung). Leistung ist immer erforderlich.) Ngix kann einige dynamische Anforderungen über die Konfiguration senden. Lassen Sie Django damit umgehen und statische Anforderungen selbst verarbeiten. Wenn Sie außerdem PHP-Seiten auf der Website ausführen müssen, ist Ngix definitiv eine gute Wahl . PHP-Anfragen werden zur Verarbeitung an Apache verteilt und die verarbeiteten Ergebnisse werden über den Socket-Port zurückgegeben.

Warum brauchen Sie dann uwsgi?

WSGI ist eine Webserver-Gateway-Schnittstelle. Es handelt sich um eine Spezifikation für die Kommunikation zwischen einem Webserver (z. B. Nginx) und einem Anwendungsserver (z. B. einem uWSGI-Server). Dann ist uwsgi ein Webserver, der sowohl uwsgi- als auch WSGI-Protokolle implementiert. Um es einfach auszudrücken: Mit uwsgi können wir Django über uwsgi starten und dann kommuniziert ngix über den Port mit uwsgi. In diesem Prozess realisiert gjango die Funktion des wsgi-Servers und ngix realisiert die Funktion des wsgi-Clients, aber weiter Das Web Im Inneren spielt NGIX die Rolle eines Servers (Viele Softwarekommunikationen in Computern erfolgen im Client-Server-Modus. Beispielsweise sind Dateiressourcen ein Dienst, und dann implementiert die Anwendung das entsprechende Protokoll, um diesen Dienst aufzurufen). Dies realisiert die Übertragung von uwsgi zwischen ngix und django.

Warum lässt man Ngix nicht direkt mit Django kommunizieren?

uWSGI verwendet weder das wsgi-Protokoll noch das fcgi-Protokoll. Stattdessen erstellt es ein eigenes uwsgi-Protokoll, das etwa zehnmal so leistungsfähig sein soll als das fcgi-Protokoll schnell.
Die Hauptmerkmale von uWSGI sind wie folgt:
◆Ultraschnelle Leistung.
◆Geringe Speichernutzung (gemessen etwa die Hälfte von mod_wsgi von Apache2).
◆Mehrere App-Verwaltung.
◆Detaillierte Protokollfunktion (kann zur Analyse der App-Leistung und von Engpässen verwendet werden).
◆Hochgradig anpassbar (Speichergrößenbeschränkung, Neustart nach einer bestimmten Anzahl von Diensten usw.).

Die Prinzipien zwischen den drei sind wie folgt:

<span><code>the web client <-> the web server(nginx) <-> the socket <-> uwsgi <-> Django</code></span>
Nach dem Login kopieren

Bereitstellung starten

1. Ngix installieren sudo apt-get install ngix

Weil meine Maschine da ist ist auch Apache drauf. Ich muss den Abhörport von ngix auf 8080

wie folgt ändern

server {
	listen 8080 default_server;
	listen [::]:8080 default_server ipv6

	root /var/ngix;  #将根目录改为/var/ngix
	index index.html index.htm;
}
Nach dem Login kopieren

2 .Django installieren

Verwenden Sie Pythons eigenen Paketmanager easy_install, um easy_install django zu installieren, um automatisch die neueste Version zu installieren

3. Installieren Sie uwsgi

<code>apt-get install python-dev #不安装这个,下面的安装可能会失败
pip install uwsgi
如果是apt-get安装就需要     sudo apt-get install uwsgi-plugin-python
</code>
Nach dem Login kopieren
Nach der Installation des Tools können Sie mit der Konfiguration des Projekts beginnen, das automatisch Django-Projekte generieren kann Sie müssen django nicht ausführen. admin.py generiert die entsprechende Projektdatei

.
└── myproject
├── app
│ ├── admin.py
│ ├── __init__.py
│ ├── Migrationen
│ │ └── __init__.py
│ ├── Modelle .py
d Jango .xml
│ ├── __init__.py
│ ├── __init__.pyc
│ ├── Settings.py
│ ├── Settings.pyc
│ ├ ── URLs .py
│ ├── urls.pyc
│ ├── wsgi.py
│ └── wsgi.pyc
├── templates
└── test.py
Django.xml-Dateiinhalt ist:




Socket für die Kommunikation mit ngix verwenden. Die Portnummer ist der lokale Port 8630

Dann müssen Sie es in die Konfigurationsdatei von ngix einfügen

<uwsgi>
    <socket>127.0.0.1:8630</socket>
    <chdir>/var/ngix/myproject/myproject</chdir>
    <pythonpath>..</pythonpath>
    <module>wsgi</module>
</uwsgi>
这里需要注意的是wsgi模块,网上很多都是错误的,直接用自动生成的就行。
Nach dem Login kopieren

uwsgi ist ein Modul, das mit ngix geliefert wird

Starten Sie ngix neu service, und starten Sie dann den uwsgi-Dienst

location / {
		include uwsgi_params;
		uwsgi_pass 127.0.0.1:8630;
}
Nach dem Login kopieren

$ uwsgi -x django.xml --plugin python

Bedürfnisse soll in dem Verzeichnis ausgeführt werden, in dem sich django.xml befindet

Geben Sie schließlich 127.0.0.1:8080 in den Browser ein, um die Django-Debugging-Seite anzuzeigen~~

Nach einem Tag des Herumwerfens ist es geschafftngix uwsgi django-Kombination Website-Erstellung

Fassen Sie weitere gelernte Dinge zusammen: Löschen Sie die entsprechenden Installationsdateien unter /etc/dpkg/info/, um das apt-Unterproblem zu lösen. Prozess-Startfehler. Nachdem Sie es gelöscht haben, müssen Sie es automatisch entfernen

Schließlich ist die Verteilung wirklich eine große Gefahr! ! ! ! ! ! ! !

Datenaustausch: wsgi-Konzept UWSGI-Konzept Bereitstellung von Django auf Ubuntu basierend auf Nginx und uWSGI

So übergeben Sie uwsgi an die Supervisor-Verwaltung unavailable-modifier-requested-0 Lösung

uwsgi-Handbuch Zusammenfassung häufig gestellter Fragen zur Bereitstellung von Django mit uwsgi Django Chinesisch-Tutorial Es wird weiterhin empfohlen, das englische Tutorial zu lesen, das vollständiger ist

Die oben genannten Informationen sind die Informationen, auf die ich mich beziehe

Das Obige stellt die Website-Erstellung mit der Ngix-Uwsgi-Django-Kombination vor, einschließlich des Inhalts. Ich hoffe, dass es für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren.

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Lösung: Ihre Organisation verlangt von Ihnen, dass Sie Ihre PIN ändern Lösung: Ihre Organisation verlangt von Ihnen, dass Sie Ihre PIN ändern Oct 04, 2023 pm 05:45 PM

Auf dem Anmeldebildschirm wird die Meldung „Ihre Organisation hat Sie gebeten, Ihre PIN zu ändern“ angezeigt. Dies geschieht, wenn das PIN-Ablauflimit auf einem Computer erreicht wird, der organisationsbasierte Kontoeinstellungen verwendet und die Kontrolle über persönliche Geräte hat. Wenn Sie Windows jedoch über ein persönliches Konto einrichten, sollte die Fehlermeldung im Idealfall nicht erscheinen. Obwohl dies nicht immer der Fall ist. Die meisten Benutzer, die auf Fehler stoßen, melden dies über ihre persönlichen Konten. Warum fordert mich meine Organisation auf, meine PIN unter Windows 11 zu ändern? Es ist möglich, dass Ihr Konto mit einer Organisation verknüpft ist. Ihr primärer Ansatz sollte darin bestehen, dies zu überprüfen. Die Kontaktaufnahme mit Ihrem Domain-Administrator kann hilfreich sein! Darüber hinaus können falsch konfigurierte lokale Richtlinieneinstellungen oder falsche Registrierungsschlüssel Fehler verursachen. Im Augenblick

So überprüfen Sie die Django-Version So überprüfen Sie die Django-Version Dec 01, 2023 pm 02:25 PM

Schritte zum Überprüfen der Django-Version: 1. Öffnen Sie ein Terminal- oder Eingabeaufforderungsfenster. 2. Stellen Sie sicher, dass Django nicht installiert ist, können Sie es mit dem Paketverwaltungstool installieren und den Befehl pip install django eingeben. 3. Nachdem die Installation abgeschlossen ist, können Sie python -m django --version verwenden, um die Django-Version zu überprüfen.

10 Möglichkeiten, die Helligkeit unter Windows 11 anzupassen 10 Möglichkeiten, die Helligkeit unter Windows 11 anzupassen Dec 18, 2023 pm 02:21 PM

Die Bildschirmhelligkeit ist ein wesentlicher Bestandteil der Nutzung moderner Computergeräte, insbesondere wenn Sie über einen längeren Zeitraum auf den Bildschirm schauen. Es hilft Ihnen, die Belastung Ihrer Augen zu reduzieren, die Lesbarkeit zu verbessern und Inhalte einfach und effizient anzuzeigen. Abhängig von Ihren Einstellungen kann es jedoch manchmal schwierig sein, die Helligkeit zu verwalten, insbesondere unter Windows 11 mit den neuen Änderungen an der Benutzeroberfläche. Wenn Sie Probleme beim Anpassen der Helligkeit haben, finden Sie hier alle Möglichkeiten, die Helligkeit unter Windows 11 zu verwalten. So ändern Sie die Helligkeit unter Windows 11 [10 Möglichkeiten erklärt] Benutzer eines einzelnen Monitors können die folgenden Methoden verwenden, um die Helligkeit unter Windows 11 anzupassen. Hierzu zählen sowohl Desktop-Systeme mit einem einzelnen Monitor als auch Laptops. Lasst uns beginnen. Methode 1: Verwenden Sie das Action Center. Das Action Center ist zugänglich

Wie deaktiviere ich die Authentifizierung beim privaten Surfen auf dem iPhone in Safari? Wie deaktiviere ich die Authentifizierung beim privaten Surfen auf dem iPhone in Safari? Nov 29, 2023 pm 11:21 PM

Mit iOS 17 hat Apple mehrere neue Datenschutz- und Sicherheitsfunktionen in sein mobiles Betriebssystem eingeführt, darunter die Möglichkeit, eine zweistufige Authentifizierung für private Browser-Tabs in Safari zu verlangen. Hier erfahren Sie, wie es funktioniert und wie Sie es ausschalten. Auf einem iPhone oder iPad mit iOS 17 oder iPadOS 17 erfordert der Browser von Apple jetzt eine Face ID/Touch ID-Authentifizierung oder einen Passcode, wenn Sie in Safari eine Registerkarte „Privates Surfen“ geöffnet haben und dann die Sitzung oder App verlassen, um erneut darauf zuzugreifen. Mit anderen Worten: Wenn jemand Ihr iPhone oder iPad in die Hände bekommt, während es entsperrt ist, kann er Ihre Privatsphäre trotzdem nicht einsehen, ohne Ihren Passcode zu kennen

Das digitale Aktivierungsskript für Win10/11 MAS Version 2.2 unterstützt erneut die digitale Aktivierung Das digitale Aktivierungsskript für Win10/11 MAS Version 2.2 unterstützt erneut die digitale Aktivierung Oct 16, 2023 am 08:13 AM

Das berühmte Aktivierungsskript MAS2.2 unterstützt wieder die digitale Aktivierung. Die Methode stammt von @asdcorp und der MAS-Autor nennt sie HWID2. Laden Sie „gatherosstate.exe“ (kein Original, geändert) von https://github.com/massgravel/Microsoft-Activation-Scripts herunter, führen Sie es mit Parametern aus und generieren Sie GenuineTicket.xml. Schauen Sie sich zunächst die ursprüngliche Methode an: Gatherosstate.exePfn=xxxxxxx;DownlevelGenuineState=1 und vergleichen Sie sie dann mit der neuesten Methode: Gatheros

Django vs. Flask: Eine vergleichende Analyse von Python-Web-Frameworks Django vs. Flask: Eine vergleichende Analyse von Python-Web-Frameworks Jan 19, 2024 am 08:36 AM

Django und Flask sind beide führend bei Python-Web-Frameworks und haben beide ihre eigenen Vorteile und anwendbaren Szenarien. In diesem Artikel wird eine vergleichende Analyse dieser beiden Frameworks durchgeführt und spezifische Codebeispiele bereitgestellt. Entwicklungseinführung Django ist ein Web-Framework mit vollem Funktionsumfang, dessen Hauptzweck darin besteht, schnell komplexe Webanwendungen zu entwickeln. Django bietet viele integrierte Funktionen wie ORM (Object Relational Mapping), Formulare, Authentifizierung, Verwaltungs-Backend usw. Diese Funktionen ermöglichen es Django, große Mengen zu verarbeiten

Vor- und Nachteile des Django Framework: Alles, was Sie wissen müssen Vor- und Nachteile des Django Framework: Alles, was Sie wissen müssen Jan 19, 2024 am 09:09 AM

Django ist ein vollständiges Entwicklungsframework, das alle Aspekte des Webentwicklungslebenszyklus abdeckt. Derzeit ist dieses Framework eines der beliebtesten Web-Frameworks weltweit. Wenn Sie vorhaben, mit Django Ihre eigenen Webanwendungen zu erstellen, müssen Sie die Vor- und Nachteile des Django-Frameworks verstehen. Hier finden Sie alles, was Sie wissen müssen, einschließlich spezifischer Codebeispiele. Vorteile von Django: 1. Schnelle Entwicklung – Djang kann Webanwendungen schnell entwickeln. Es bietet eine umfangreiche Bibliothek und interne

So überprüfen Sie die Django-Version So überprüfen Sie die Django-Version Nov 30, 2023 pm 03:08 PM

So überprüfen Sie die Django-Version: 1. Um die Django-Version zu überprüfen, geben Sie den Befehl „python -m django --version“ im Terminal- oder Befehlszeilenfenster ein. 2. Um in der interaktiven Python-Umgebung zu überprüfen, geben Sie „import django“ ein print(django. get_version())“-Code; 3. Überprüfen Sie die Einstellungsdatei des Django-Projekts und finden Sie eine Liste mit dem Namen INSTALLED_APPS, die Informationen zur installierten Anwendung enthält.

See all articles