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: Client<==>nginx<==>uwsgi<==>Django. 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!