GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren Sie das Django Python Framework unter CentOS 8

Django ist ein kostenloses Open-Source-Webframework auf hoher Ebene, das für die Entwicklung von Python-Webanwendungen verwendet wird. Es wird mit einer Reihe von Tools geliefert, mit denen Sie sichere und skalierbare Webanwendungen erstellen können. Sein Hauptziel ist es, die Erstellung komplexer Anwendungen zu erleichtern und sich um die interne Struktur zu kümmern.

In diesem Tutorial lernen wir, wie man Django installiert und Nginx als Reverse-Proxy für Django unter CentOS 8 konfiguriert.

Voraussetzungen

  • Ein Server mit CentOS 8.
  • Auf Ihrem Server ist ein Root-Passwort konfiguriert.

Installieren Sie erforderliche Pakete

Django ist ein Python-basiertes Framework, daher müssen Sie Python und PIP in Ihrem System installieren. Sie können sie installieren, indem Sie den folgenden Befehl ausführen:

dnf install python36 python3-pip -y

Sobald beide Pakete installiert sind, können Sie mit dem nächsten Schritt fortfahren.

Django installieren

Sie können Django mit dem PIP-Befehl wie unten gezeigt installieren:

pip3 installiert Django

Nach der Installation von Django können Sie die Version von Django mit dem folgenden Befehl überprüfen:

django-admin --version

Sie sollten die Django-Version in der folgenden Ausgabe sehen:

3.0.3

Erstellen Sie ein Django-Projekt

An diesem Punkt ist Django installiert. Jetzt ist es an der Zeit, eine neue Django-Anwendung zu erstellen.

Sie können eine neue Django-Anwendung mit dem Befehl django-admin im /opt-Verzeichnis erstellen, wie unten gezeigt:

cd /opt
django-admin startproject djangoproject

Sobald das Django-Projekt erstellt wurde, ändern Sie das Verzeichnis in djangoproject und migrieren Sie die Änderungen mit dem folgenden Befehl:

cd djangoproject
python3 manage.py migrieren

Sie sollten die folgende Ausgabe erhalten:

Durchzuführende Vorgänge:Alle Migrationen anwenden:admin, auth, contenttypes, sessionsRunning migrations:Applying contenttypes.0001_initial... OK Applying auth.0001_initial... OK Applying admin.0001_initial... OK Applying admin.0002_logentry_remove_auto_add.. OK admin.0003_logentry_add_action_flag_choices wird angewendet... OK contenttypes.0002_remove_content_type_name wird angewendet... OK auth.0002_alter_permission_name_max_length wird angewendet... OK auth.0003_alter_user_email_max_length wird angewendet... OK auth.0004_alter_user_username_opts wird angewendet... OK auth.0004_alter_user_username_opts wird angewendet... OK auth.00 wird angewendet auth.0006_require_contenttypes_0002 wird angewendet... OK auth.0007_alter_validators_add_error_messages wird angewendet... OK auth.0008_alter_user_username_max_length wird angewendet... OK auth.0009_alter_user_last_name_max_length wird angewendet... OK auth.0009_alter_user_last_name_max_length wird angewendet... OK auth.0010_alter_group_name_oxy_prmission_length wird angewendet... OK1permission_update wird angewendet... OK1 auth.00 wird angewendet .0001_initial... OK

Als Nächstes müssen Sie ein Admin-Benutzerkonto zum Verwalten des Django-Projekts erstellen. Sie können es mit dem folgenden Befehl erstellen:

python3 manage.py erstellt einen Superuser

Sie werden aufgefordert, Ihren Benutzernamen, Ihre E-Mail-Adresse und Ihr Passwort anzugeben. Sie können sie wie unten gezeigt nach Ihrer Wahl bereitstellen:

Benutzername (leer lassen, um „root“ zu verwenden):dadminE-Mail-Adresse:[email protected]Passwort:Passwort (erneut):Superuser erfolgreich erstellt.

Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Django-Anwendung starten

Standardmäßig kann von den Remote-Hosts nicht auf die Django-Anwendung zugegriffen werden. Sie müssen also Django für externe Hosts zulassen. Sie können dies tun, indem Sie Ihre Server-IP in settings.py:

hinzufügen
nano /opt/djangoproject/djangoproject/settings.py

Ändern Sie die folgende Zeile:

ALLOWED_HOSTS =['your-server-ip']

Speichern und schließen Sie die Datei. Starten Sie dann die Django-Anwendung mit dem folgenden Befehl:

cd /opt/djangoproject
python3 manage.py runserver 0.0.0.0:8000

Sie sollten die folgende Ausgabe sehen:

Überwachung von Dateiänderungen mit StatReloaderDurchführung von Systemprüfungen...Systemprüfung ergab keine Probleme (0 stummgeschaltet).03. März 2020 - 02:31:19Django Version 3.0.3, unter Verwendung der Einstellungen 'djangoproject.settings'Entwicklungsserver starten um http://0.0.0.0:8000/Beenden Sie den Server mit CONTROL-C. Die Django-Anwendung wird nun gestartet und läuft auf Port 8000. 

An dieser Stelle wird die Django-Anwendung nun gestartet und läuft auf Port 8000. Sie können nun mit dem nächsten Schritt fortfahren.

Konfigurieren Sie SELinux und die Firewall

Als nächstes müssen Sie Port 8000 und 80 durch Firewalld zulassen. Sie können sie mit dem folgenden Befehl zulassen:

firewall-cmd --permanent --add-port=8000/tcp
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload

Als nächstes konfigurieren Sie SELinux mit dem folgenden Befehl:

setsebool httpd_can_network_connect auf -P

Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.

Zugriff auf die Django-Anwendung

Sie können auf die Django-Anwendung zugreifen, indem Sie die URL http://your-server-ip:8000 besuchen. Sie sollten die folgende Seite sehen:

Sie können auch über die URL http://your-server-ip:8000/admin auf die Django-Admin-Oberfläche zugreifen. Sie sollten die folgende Seite sehen:

Geben Sie Ihren Admin-Benutzernamen und Ihr Passwort ein und klicken Sie auf Protokoll in Taste. Sie sollten die folgende Seite sehen:

Installieren Sie Nginx und Gunicorn

In diesem Abschnitt werden wir Gunicorn installieren, um den Django-Dienst zu erstellen und zu verwalten, und Nginx, um die Django-Anwendung bereitzustellen.

Installieren Sie zuerst Nginx mit dem folgenden Befehl:

dnf install nginx -y

Als nächstes installieren Sie Gunicorn mit dem PIP-Befehl wie unten gezeigt:

pip3 installiere gunicorn

Sobald beide Pakete installiert sind, starten Sie den Nginx-Dienst und aktivieren Sie ihn nach dem Systemneustart mit dem folgenden Befehl:

systemctl start nginx
systemctl enable nginx

Ändern Sie als Nächstes den Besitz des Verzeichnisses /opt/djangoproject in Nginx, wie unten gezeigt:

chown -R nginx:nginx /opt/djangoproject

Erstellen Sie eine Systemd-Dienstdatei für Django

Erstellen Sie als Nächstes eine systemd-Dienstdatei zum Verwalten des Django-Dienstes mit dem folgenden Befehl:

nano /etc/systemd/system/django.service

Fügen Sie die folgenden Zeilen hinzu:

[Unit]Description=django daemonAfter=network.target[Service]User=nginxGroup=nginxWorkingDirectory=/opt/djangoprojectExecStart=/usr/local/bin/gunicorn --workers 3 --bind unix:/opt/djangoproject/ djangoproject.sock djangoproject.wsgi:application[Install]WantedBy=multi-user.target

Speichern und schließen Sie die Datei und laden Sie dann den systemd-Daemon mit dem folgenden Befehl neu:

systemctl daemon-reload

Starten Sie als Nächstes den Django-Dienst und aktivieren Sie ihn nach dem Systemneustart mit dem folgenden Befehl:

systemctl start django
systemctl aktiviert django

Sie können jetzt den Status des Django-Dienstes mit dem folgenden Befehl überprüfen:

systemctl status django

Sie sollten die folgende Ausgabe sehen:

? django.service - django-Daemon Geladen:geladen (/etc/systemd/system/django.service; deaktiviert; Herstellervoreinstellung:deaktiviert) Aktiv:aktiv (läuft) seit Mo 2020-03-02 22:27:51 EST; Vor 3min 32s Main PID:960 (django) Tasks:4 (limit:25028) Memory:95.2M CGroup:/system.slice/django.service ??960 /usr/bin/python3.6 /usr/local/bin/ gunicorn --workers 3 --bind unix:/opt/djangoproject/djangoproject.sock djangoproject.wsgi:a> ??964 /usr/bin/python3.6 /usr/local/bin/gunicorn --workers 3 --bind unix:/opt/djangoproject/djangoproject.sock djangoproject.wsgi:a> ??965 /usr/bin/python3.6 /usr/local/bin/gunicorn --workers 3 --bind unix:/opt/djangoproject/djangoproject .sock djangoproject.wsgi:a> ??966 /usr/bin/python3.6 /usr/local/bin/gunicorn --workers 3 --bind unix:/opt/djangoproject/djangoproject.sock djangoproject.wsgi:a> 2. März 22:27:51 centos8 systemd[1]:Django-Daemon gestartet. 2. März 22:27:52 centos8 django[960]:[2020-03-02 22:27:52 -0500] [960] [INFO] Starten von Django 20.0.4Mar 02 22:27:52 Centos8 django[960]:[2020-03-02 22:27:52 -0500] [960] [INFO] Abhören unter:unix:/opt/djangoproject/djangoproject.sock (960)März 02 22:27:52 centos8 django[960]:[2020-03-02 22:27:52 -0500] [960] [INFO] Using worker:syncMar 02 22:27:52 centos8 django[960]:[2020-03-02 22 :27:52 -0500] [964] [INFO] Booting worker with pid:964Mar 02 22:27:52 centos8 django[960]:[2020-03-02 22:27:52 -0500] [965] [INFO ] Booting worker with pid:965Mar 02 22:27:52 centos8 django[960]:[2020-03-02 22:27:52 -0500] [966] [INFO] Booting worker with pid:966h pid:966

Nginx für Django konfigurieren

Als nächstes müssen Sie Nginx als Reverse-Proxy für Django konfigurieren. Erstellen Sie dazu mit dem folgenden Befehl eine neue Nginx-Konfigurationsdatei:

nano /etc/nginx/conf.d/django.conf

Fügen Sie die folgenden Zeilen hinzu:

server {listen 80; server_name your-server-ip location =/favicon.ico { access_log off; log_not_found aus; } location /static/ { root /opt/djangoproject; } location / { proxy_set_header Host $http_host; Proxy_Set_Header X-Real-IP $remote_addr; Proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $schema; Proxy_pass http://unix:/opt/djangoproject/djangoproject.sock; }}

Speichern und schließen Sie die Datei, wenn Sie fertig sind. Testen Sie dann nginx mit dem folgenden Befehl auf Syntaxfehler:

nginx -t

Wenn alles in Ordnung ist, sollten Sie die folgende Ausgabe erhalten:

nginx:Die Syntax der Konfigurationsdatei /etc/nginx/nginx.conf ist oknginx:Der Test der Konfigurationsdatei /etc/nginx/nginx.conf ist erfolgreich

Starten Sie als Nächstes den Nginx-Dienst neu, um die Änderungen zu implementieren:

systemctl starte nginx

Sie können Nginx auch mit dem folgenden Befehl überprüfen:

systemctl status nginx

Sie sollten die folgende Ausgabe erhalten:

? nginx.service - Der nginx HTTP- und Reverse-Proxy-Server Geladen:geladen (/usr/lib/systemd/system/nginx.service; deaktiviert; Herstellervoreinstellung:deaktiviert) Aktiv:aktiv (läuft) seit Mo 2020-03-02 22:28:13 EST; Vor 4min 14s Prozess:984 ExecStart=/usr/sbin/nginx (code=beendet, status=0/SUCCESS) Prozess:982 ExecStartPre=/usr/sbin/nginx -t (code=beendet, status=0/SUCCESS) Prozess :980 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS) Main PID:985 (nginx) Tasks:3 (limit:25028) Memory:5.5M CGroup:/system.slice/nginx.service ??985 nginx:Masterprozess /usr/sbin/nginx ??986 nginx:Arbeitsprozess ??987 nginx:ArbeitsprozessMar 02 22:28:12 centos8 systemd[1]:Starten von nginx HTTP- und Reverse-Proxy-Server ... 2. März 22:28:12 Centos8 nginx[982]:nginx:Die Syntax der Konfigurationsdatei /etc/nginx/nginx.conf ist in Ordnung 2. März 22:28:12 Centos8 nginx[982]:nginx :Konfigurationsdatei /etc/nginx/nginx.conf Test ist erfolgreich 2. März 22:28:13 centos8 systemd[1]:Started The nginx HTTP and reverse proxy server.

Sie können nun über die URL http://your-server-ip.

auf Ihre Django-Anwendung zugreifen

Schlussfolgerung

In diesem Leitfaden haben wir gelernt, wie man Django unter CentOS 8 installiert. Wir haben auch gelernt, wie man mit Gunicorn den Django-Dienst erstellt und verwaltet und Nginx als Reverse-Proxy konfiguriert, um Django-Anwendungen zu bedienen.


Cent OS
  1. So installieren Sie Pip unter CentOS 8

  2. So installieren Sie Python 3 unter CentOS 7

  3. So installieren Sie Django unter CentOS 7

  4. So installieren Sie Python 3.6.4 unter CentOS 7

  5. So installieren Sie Python 2.7 oder Python 3.x + Django 1.8 + auf CentOS 6 + cPanel

So installieren Sie Ionic Framework unter CentOS 7

So installieren Sie Django unter CentOS 8

So installieren Sie Ionic Framework unter CentOS 8

So installieren Sie Python 3.9 unter CentOS 8

Installieren Sie das Django Python Framework auf Rocky Linux 8 / CentOS 8

So installieren Sie Python unter CentOS 7