Hostwinds Tutorials

Suchergebnisse für:


Inhaltsverzeichnis


Sie benötigen Folgendes, um loszulegen:
Wir werden verwenden:
Benutzer erstellen
Django installieren und einrichten
uWSGI-Konfiguration
Systemd Service Konfiguration
NGINX-Konfiguration
Fazit

So führen Sie Python-Webframeworks aus (Ubuntu 18.04)

Stichworte: Ubuntu 

Sie benötigen Folgendes, um loszulegen:
Wir werden verwenden:
Benutzer erstellen
Django installieren und einrichten
uWSGI-Konfiguration
Systemd Service Konfiguration
NGINX-Konfiguration
Fazit

Python ist eine beliebte Sprache für einige Webentwickler. Es verfügt über Frameworks wie Flasche und Django, die die Backend-Webentwicklung beschleunigen können. Dieser Anleitung geht darüber, wie Sie das Django-Framework aufrufen und auf einem Hostwinds-VPS-Server läuft, der über das Internet serviert wird.

Sie benötigen Folgendes, um loszulegen:

  • Hostwinds Linux Cloud VPS Server
  • SSH-Zugang
  • Ubuntu 18.04
  • Ein Domänenname, der auf Ihren Server angezeigt wird

Wir werden verwenden:

  • NGINX-Webserver
  • Django Python Framework
  • uWSGI fungiert als Schnittstelle zwischen den beiden.

Benutzer erstellen

Die meisten Dienstleistungen auf Ihrem System müssen nicht als root ausgeführt werden, und aus Sicherheitsgründen werden wir einen nicht rostigen Benutzer einrichten, um den Rest der Befehle in diesem Handbuch auszuführen.Sie können diesen Benutzer irgendetwas anrufen.Hier erzeugte ich einen Benutzer mit dem Namen "Benutzer":

adduser user

Es sollte Sie dann für ein Kennwort für diesen neuen Benutzer auffordern, ein Passwort erstellen, an das Sie sich erinnern können, und es für andere schwer zu erraten.Es wird auch nach zusätzlichen Informationen verlangen, aber es sollte nichts beeinflussen, wenn Sie alle diese Felder leer lassen.Jetzt möchten wir, dass dieser Benutzer einige Root-Befehle ausführt, also für meinen "Benutzer", ich werde sie zu einer Gruppe namens "Sudo" hinzufügen.

usermod -aG sudo user

Dadurch können Benutzer ihre Befehle mit "sudo" vorangetifizieren, um Befehle auszuführen, die normalerweise mit dem Kennwort des Benutzers geschützt sind.

Verwenden Sie nun den Befehl 'EXIT', und melden Sie sich wieder in den Server an mit SSH Wie der Benutzer, den Sie eingerichtet haben.Für den Benutzer, den wir gerade eingerichtet haben, ist der Benutzername "Benutzer", und das Kennwort ist derjenige, in dem Sie eingestellt sind, wenn Sie den Befehl zum Adduser gelaufen sind.

Django installieren und einrichten

Um Django zu verwenden, müssen Sie eine Python-Umgebung einrichten.Beginnen Sie mit diesen Befehlen, um Ihre Software auf die neueste Version zu aktualisieren:

sudo apt update && sudo apt upgrade

Nun benötigen wir systemweite Software. Glücklicherweise ist alles, was wir brauchen, von den Ubuntu-Repositorys verfügbar und kann mit APT-GET installiert werden.

sudo apt-get install python3-pip nginx

Mit der installierten systemweiten Software können wir unsere private Django-Umgebung aufbauen. Lauf:

mkdir public_html
cd public_html
python3 -m venv django_serve

Dies erstellt einen Ordner mit dem Namen Django_Serve mit ein paar Dingen. Es hat eine eigene Version von Python, und wenn wir die Quelldatei aktivieren, wird die mit PIP installierte Software in diesem Verzeichnis anstelle von systemweit installiert. Der nächste Schritt besteht darin, die private Python-Datei zu aktivieren und Django zu installieren.

source django-serve/bin/activate

Jetzt können wir Django installieren und ein Django-Projekt mit den folgenden Befehlen starten:

pip install django
django-admin startproject my_site

Um unseren Webserver auf den Zugriff auf Django zu ermöglichen, müssen wir die Domäne mit den zulässigen Hosts hinzufügen. Sie können eine Datei in der Befehlszeile mit einem Befehlszeilentext-Editor schreiben oder bearbeiten. Viele sind auf Linux verfügbar, und wir verwenden Nano in diesem Handbuch.

Verwenden Sie Nano, bearbeiten Sie die Dateieinstellungen in dem MySite-Verzeichnis wie so:

nano mysite/settings.py

Suchen Sie einmal in der Datei, finden Sie die Zeile, die lautet: OFFENT_HOSTS = [].

Fügen Sie in den Klammern den Domänennamen Ihrer Website mit Anführungszeichen wie folgt hinzu:

ALLOWED_HOSTS = ['yourdomain.com', 'www.yourdomain.com']

Durch Drücken von CONTROL-X wird Nano ausgerichtet, wenn Sie aufgefordert werden, zu speichern, drücken Sie 'y'.

Sie können den Befehl deaktivieren, um in die reguläre Shell zurückzukehren.

Mit der Erstellung einer neuen Website können wir unsere Aufmerksamkeit auf die Einrichtung von uWSGI richten.

uWSGI-Konfiguration

UWSGI ist eine Protokollsoftware, die zwischen dem Python-Code und der Webserver-Software kommuniziert. Für Einfachheit halber werden wir unseren Host nur eine UWSGI-Instanz verwenden. Wir richten eine Konfigurationsdatei für unser Projekt ein und erstellen einen Systemd-Dienst, um ihn im Hintergrund auszuführen.

Um zu beginnen, müssen wir eine Datei schreiben, um uWSGI zu konfigurieren.

Noch einmal werden wir Nano verwenden, um eine Datei zu schreiben:

nano mysite.ini

Hier ist eine Barebone-INI-Datei, um uns den Einstieg zu erleichtern:

#/home/user/public_html/mysite.ini
[uwsgi]
socket = 127.0.0.1:10080
chdir = /home/$USER/public_html/my_site
module = my_site.wsgi:application
processes = 4
threads = 2

Ersetzen Sie $ Benutzer oben mit dem Benutzernamen, den Sie verwenden, und my_site mit Ihrem Domainnamen.

Systemd Service Konfiguration

Sobald der UWSGI eingerichtet ist, müssen Sie Linux herunterladen, um sie automatisch im Hintergrund auszuführen.Die meisten modernen Linux-Distributionen verwaltet dies mit der Systemd-Software.Sie müssen erstellen, was als "Service-Datei" bezeichnet wird, um das UWSGI verwalten zu können.

Wir rufen unsere Datei my_site.service an.Um es zu öffnen und den Dienst einzurichten, laufen Sie:

sudo nano /etc/system/systemd/my_site.service
#/etc/system/systemd/my_site.service
#Tells Systemd about your site
[Unit]
Description=Guide test site.
After=network.target

#Where systemd should start it from.
[Service]
User=$USER
Group=www-data
WorkingDirectory=/home/user/public_html/my_site
Environment="PATH=/home/user/django_serve/bin"
ExecStart=/home/user/public_html/django_serve/bin/uwsgi my_site.ini

#For starting the service at boot.
[Install]
WantedBy=multi-user.target

Ersetzen Sie $ Benutzer oben mit dem Benutzernamen, mit dem Sie mit Ihrem Domain-Namen arbeiten, mit und my_site.

NGINX-Konfiguration

Schließlich müssen wir Nginx einrichten, um Uwsgi zu hören und Anfragen aus dem Web zu übergeben. Diese Konfiguration ist eigentlich ganz einfach zu einrichten. Beginnen Sie mit der Bearbeitung einer neuen Datei und ersetzen Sie erneut My_Site unten mit Ihrem Domainnamen:

sudo nano /etc/nginx/sites-available/my_site.conf
# /etc/nginx/sites-available

# tell it where to look for django
upstream django_serve {
    server 127.0.0.1:10800;
}

server {
    listen 80; #can be 443 if you have SSL set up.
    root /home/user/public_html/my_site/;
    server_name www.my_site.com;

    location / {
        uwsgi_pass django_serve;
        include uswgi_params;
    }
}

Für NginX, um diese Datei zu lesen und zu verwenden, müssen wir sie dem Sites-fähigen Verzeichnis hinzufügen. Dieser Befehl erstellt einen weichen Link dazu.

sudo  ln -s /etc/nginx/sites-available/my_site.conf /etc/nginx/site-enabled

Laden Sie jetzt NGINX neu:

sudo systemctl restart nginx

Versuchen Sie jetzt, die Site auf Ihrem VPS zu besuchen. Wenn alles gut gelaufen ist, sollten Sie das sehen:

Django-Standard-Webseite.

Fazit

Es gibt zwar viele Möglichkeiten, Uwsgi und Nginx aufzubauen, dieses ist sehr einfach und unkompliziert. Hoffentlich reicht dieser Anleitung aus, um Sie zu beginnen, und Sie können sich wie immer an uns erreichen, wenn Sie weitere Fragen oder Bedenken haben.

Geschrieben von Hostwinds Team  /  Juli 26, 2019