suchen
HeimBackend-EntwicklungPython-TutorialEinführung in Bereitstellungsbeispiele von Ubuntu14.04

Schritt eins.

sudo apt-get update

sudo apt-get upgrade

Zuerst aktualisieren. .

Die gängige Bereitstellungsmethode von Django: nginx+uwsgi+django

Der zweite Schritt ist die Installation von nginx

sudo apt-get install nginx

Installieren Nginx: Wenn Sie das neueste Nginx installieren müssen, müssen Sie das Quellcodepaket von der offiziellen Website herunterladen und manuell kompilieren.

Die ungefähre Dateistruktur von Nginx.

1. Konfigurationsdatei:/etc/nginx

2. Programm:/usr/sbin/nginx

3. Protokoll:/var/log/nginx/access. log - error.log

Der dritte Schritt, uwsgi installieren

sudo apt-get install python3-dev

sudo apt-get install python3- pip

sudo pip3 install uwsgi (Vor diesem Schritt können Sie die Pip-Quelle ändern, um die Download-Geschwindigkeit zu verbessern. Erstellen Sie pip.conf unter ~/.pip und schreiben Sie

[global]

trusted-host = pypi.douban.com

index-url = )

uwsgi ist ein Webserver, der das WSGI-Protokoll, uwsgi, http Waiting implementiert um Zustimmung. Die Funktion von HttpUwsgiModule in Nginx besteht im Austausch mit dem uWSGI-Server.

Der allgemeine Prozess ist: ClientnginxuwsgiDjango. Statische Anfragen werden von Nginx selbst bearbeitet. Nicht statische Anfragen werden über uwsgi an Django weitergeleitet, das von Django verarbeitet wird, um eine WEB-Anfrage abzuschließen.

Erstellen Sie ein Django-Testprojekt, django-admin startproject mysite, cd mysite, python manage.py startapp demo1.

Der vierte Schritt, testen Sie uwsgi

Erstellen Sie eine neue Testdatei im Mysite-Verzeichnis, nano test.py .

Schreiben:

def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])return ["Hello World"]

Ausführen:

uwsgi --http :8001 --plugin python --wsgi-file test.py

Zugriff normal.

Der fünfte Schritt besteht darin, zu testen, ob Django

python manage.py runserver 0.0.0.0:8002

normalen Zugriff hat.

Django und uwsgi verbinden.

uwsgi --http:8001 --plugin python --module mysite.wsgi

Zugriff ist normal.

Der sechste Schritt besteht darin, uwsgi zu konfigurieren

uwsgi unterstützt den Start über eine Vielzahl von Konfigurationsdateien. Hier wird die INI-Konfigurationsdateimethode verwendet.

Neues uwsgi: nano uwsgi.ini

# mysite_uwsgi.ini file[uwsgi]

    socket = 127.0.0.1:3400# Django-related settings
    # the django project directory (full path)
    chdir           = /home/ubuntu/mysite
    # Django's wsgi filemodule          = mysite.wsgi

    # process-related settings
    # master
    master          = true# maximum number of worker processes
    processes       = 2threads = 2max-requests = 6000# ... with appropriate permissions - may be neededchmod-socket    = 664# clear environment on exit
    vacuum          = true

Ein Fehler ist aufgetreten, als Zugriff, invalid request block <span class="hljs-built_in">size: <span class="hljs-number">21573 (<span class="hljs-built_in">max <span class="hljs-number">4096)...skip</span></span></span></span>.

Der Grund dafür ist, dass die URL-Adresse 4096 Zeichen überschreitet. Der Grund dafür ist, dass wir zum Starten den Socket in der Konfigurationsdatei ändern oder die Puffergröße ändern.

(Es wird empfohlen, keine Änderungen vorzunehmen. Ändern Sie es einfach während des Tests in http und beim Herstellen einer Verbindung mit Nginx wieder in Socket.)

daemonize = /home/ubuntu/mysite/uwsgi.log

Ändern Sie dies, wenn es offiziell ausgeführt wird. Fügen Sie diesen Code zur Datei uwsgi.ini hinzu, und das Zugriffsprotokoll wird an uwsgi.log ausgegeben.

Zu diesem Zeitpunkt kann Django bereits darauf zugreifen.

Schritt 7, Nginx konfigurieren

Ändern Sie die Standardkonfigurationsdatei von nginx/etc/nginx/sites-enabled/default

server {
    # the port your site will be served on
    listen      80;
    # the domain name it will serve forserver_name 127.0.0.1; # substitute your machine's IP address or FQDNcharset     utf-8;

    # max upload size
    client_max_body_size 75M;   # adjust to taste

    # Django media
    location /media  {
        alias /home/ubuntu/mysite/media;  # your Django project's media files - amend as required    }

    location /static {
        alias /home/ubuntu/mysite/static; # your Django project's static files - amend as required    }

    # Finally, send all non-media requests to the Django server.
    location / {
        include     uwsgi_params; # the uwsgi_params file you installed
        uwsgi_pass 127.0.0.1:8001;#此处跟uwsgi配置文件保持一致
    }
}

Denken Sie daran, die uwsgi.ini-Konfiguration während des Tests zu ändern.

Schritt 8, führen Sie

aus, um Nginx neu zu starten und uwsgi auszuführen.

Fertig

Das war's vorerst. Ich werde weiterhin Wissen darüber hinzufügen Nginx, Django und Uwsgi in der Zukunft.

Die meisten Konfigurationen stammen aus der Baidu-Suche, daher werde ich nicht jede Quelle einzeln veröffentlichen. Das Leben ist kurz.

Das obige ist der detaillierte Inhalt vonEinführung in Bereitstellungsbeispiele von Ubuntu14.04. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
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
Wie werden Arrays im wissenschaftlichen Computer mit Python verwendet?Wie werden Arrays im wissenschaftlichen Computer mit Python verwendet?Apr 25, 2025 am 12:28 AM

Arraysinpython, besondersvianumpy, arecrucialInScientificComputingFortheirefficience undvertilität.1) Sie haben festgelegt, dass die Fornerikerne, Datenanalyse und Machinelarning.2) Numpy'SimplementationIncensuresFasteroperationsdanpythonlisten.3) Araysensableableableableableableableableableableableableableableableableableableableableableableableableableable

Wie gehen Sie mit verschiedenen Python -Versionen im selben System um?Wie gehen Sie mit verschiedenen Python -Versionen im selben System um?Apr 25, 2025 am 12:24 AM

Sie können verschiedene Python -Versionen mithilfe von Pyenv, Venv und Anaconda verwalten. 1) Verwalten Sie PYENV, um mehrere Python -Versionen zu verwalten: Installieren Sie PyEnv, setzen Sie globale und lokale Versionen. 2) Verwenden Sie VenV, um eine virtuelle Umgebung zu erstellen, um Projektabhängigkeiten zu isolieren. 3) Verwenden Sie Anaconda, um Python -Versionen in Ihrem Datenwissenschaftsprojekt zu verwalten. 4) Halten Sie das System Python für Aufgaben auf Systemebene. Durch diese Tools und Strategien können Sie verschiedene Versionen von Python effektiv verwalten, um den reibungslosen Betrieb des Projekts zu gewährleisten.

Was sind einige Vorteile bei der Verwendung von Numpy -Arrays gegenüber Standard -Python -Arrays?Was sind einige Vorteile bei der Verwendung von Numpy -Arrays gegenüber Standard -Python -Arrays?Apr 25, 2025 am 12:21 AM

NumpyarrayShaveseveraladVantagesOverStandardPythonArrays: 1) SiearemuchfasterDuetoc-basiert, 2) sie istaremoremory-effizient, insbesondere mit mit LaShlargedatasets und 3) sie können sich mit vektorisierten Funktionsformathematical und Statistical opertical opertical opertical operticaloperation, Making

Wie wirkt sich die homogene Natur der Arrays auf die Leistung aus?Wie wirkt sich die homogene Natur der Arrays auf die Leistung aus?Apr 25, 2025 am 12:13 AM

Der Einfluss der Homogenität von Arrays auf die Leistung ist doppelt: 1) Homogenität ermöglicht es dem Compiler, den Speicherzugriff zu optimieren und die Leistung zu verbessern. 2) aber begrenzt die Typ -Vielfalt, was zu Ineffizienz führen kann. Kurz gesagt, die Auswahl der richtigen Datenstruktur ist entscheidend.

Was sind einige Best Practices für das Schreiben von ausführbaren Python -Skripten?Was sind einige Best Practices für das Schreiben von ausführbaren Python -Skripten?Apr 25, 2025 am 12:11 AM

TocraftexecutablePythonScripts, folge theseBestPractices: 1) addashebangline (#!/Usr/bin/envpython3) tomakethescriptexcutable.2 SetPermissions withchmod xyour_script.py.3) organisation -bithacleardocstringanduseInname == "__ __": FormAcleardocstringanduseInname

Wie unterscheiden sich Numpy Arrays von den Arrays, die mit dem Array -Modul erstellt wurden?Wie unterscheiden sich Numpy Arrays von den Arrays, die mit dem Array -Modul erstellt wurden?Apr 24, 2025 pm 03:53 PM

NumpyarraysarebetterFornumericaloperations und multi-dimensionaldata, whilethearraymoduleiStableforbasic, an Gedächtniseffizienten

Wie vergleichen sich die Verwendung von Numpy -Arrays mit der Verwendung der Array -Modularrays in Python?Wie vergleichen sich die Verwendung von Numpy -Arrays mit der Verwendung der Array -Modularrays in Python?Apr 24, 2025 pm 03:49 PM

NumpyarraysarebetterforeheavynumericalComputing, während der projectwithsimpledatatypes.1) numpyarraysoferversatility und -PerformanceForlargedataSets und Compoxexoperations.2) thearraysoferversStility und Mächnory-Effefef

Wie bezieht sich das CTypes -Modul auf Arrays in Python?Wie bezieht sich das CTypes -Modul auf Arrays in Python?Apr 24, 2025 pm 03:45 PM

ctypesallowscreatingandmanipulationsc-stylearraysinpython.1) usectypestoInterfaceWithClibraryForperformance.2) createCec-stylearraysFornumericalComputationen.3) PassarrayStocfunctionsFectionFicecher-Operationen.

See all articles

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

Video Face Swap

Video Face Swap

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

Heiße Werkzeuge

PHPStorm Mac-Version

PHPStorm Mac-Version

Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

WebStorm-Mac-Version

WebStorm-Mac-Version

Nützliche JavaScript-Entwicklungstools

SecLists

SecLists

SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

EditPlus chinesische Crack-Version

EditPlus chinesische Crack-Version

Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion