GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat Django Python Framework na CentOS 8

Django je bezplatný webový rámec s otevřeným zdrojovým kódem na vysoké úrovni používaný pro vývoj webových aplikací Python. Dodává se se sadou nástrojů, které vám pomohou vytvářet bezpečné a škálovatelné webové aplikace. Jeho hlavním cílem je usnadnit tvorbu složitých aplikací a stará se o vnitřní strukturu.

V tomto tutoriálu se naučíme, jak nainstalovat Django a nakonfigurovat Nginx jako reverzní proxy pro Django na CentOS 8.

Předpoklady

  • Server se systémem CentOS 8.
  • Na vašem serveru je nakonfigurováno heslo uživatele root.

Instalovat požadované balíčky

Django je framework založený na Pythonu, takže do systému budete muset nainstalovat Python a PIP. Můžete je nainstalovat spuštěním následujícího příkazu:

dnf install python36 python3-pip -y

Jakmile jsou oba balíčky nainstalovány, můžete přejít k dalšímu kroku.

Instalovat Django

Django můžete nainstalovat pomocí příkazu PIP, jak je znázorněno níže:

pip3 nainstalovat Django

Po instalaci Django můžete zkontrolovat verzi Django pomocí následujícího příkazu:

django-admin --version

Verzi Django byste měli vidět v následujícím výstupu:

3.0.3

Vytvořit projekt Django

V tomto okamžiku je nainstalován Django. Nyní je čas vytvořit novou aplikaci Django.

Novou aplikaci Django můžete vytvořit pomocí příkazu django-admin v adresáři /opt, jak je uvedeno níže:

cd /opt
django-admin startproject djangoproject

Po vytvoření projektu django změňte adresář na djangoproject a migrujte změny pomocí následujícího příkazu:

cd djangoproject
python3 manage.py migrate

Měli byste získat následující výstup:

Operace k provedení:Použít všechny migrace:admin, auth, contenttypes, sessionsSpuštěné migrace:Použití contenttypes.0001_initial... OK Použití auth.0001_initial... OK Použití admin.0001_initial... OK Použití admin.0002_logentry_remove_auto_add OK Aplikace Admin.0003_logentry_add_action_flag_choices ... Ok aplikaci ContentTypes.0002_Remove_Content_Type_name ... OK Aplikující autor.0002_Alter_Permission_NAME OK AUTKING_ONTTORET_ONTY AUTKING_ONTION OK OK AUTIONS AUTHONT_ONTTON OK AUTING OK AUTHING_ONTTON OK OK AUTHING OK. Aplikace Auth.0006_Require_ContentTypes_0002 ... OK Aplikace Auth.0007_Alter_Validators_Add_error_Messages ... OK Aplikace Auth.0008_Alter_User_Username_Max_length ... OK AUTKING AUTHING AUTH. Auth. .0001_initial... OK

Dále budete muset vytvořit uživatelský účet správce pro správu projektu Django. Můžete jej vytvořit pomocí následujícího příkazu:

python3 manage.py vytváříuperuser

Budete požádáni o zadání uživatelského jména, e-mailu a hesla. Můžete je poskytnout podle svého výběru, jak je uvedeno níže:

Uživatelské jméno (nechte prázdné, chcete-li použít 'root'):dadminE-mailová adresa:[e-mail chráněn]Heslo:Heslo (opět):Superuser úspěšně vytvořen.

Jakmile budete hotovi, můžete přejít k dalšímu kroku.

Spustit aplikaci Django

Ve výchozím nastavení není aplikace Django přístupná ze vzdálených hostitelů. Takže budete muset povolit Django pro externí hostitele. Můžete to udělat přidáním IP adresy vašeho serveru do settings.py:

nano /opt/djangoproject/djangoproject/settings.py

Změňte následující řádek:

ALLOWED_HOSTS =['ip-vašeho-serveru']

Uložte a zavřete soubor. Poté spusťte aplikaci Django pomocí následujícího příkazu:

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

Měli byste vidět následující výstup:

Sledování změn souborů pomocí StatReloader Provádím systémové kontroly...Kontrola systému nezjistila žádné problémy (0 umlčeno). http://0.0.0.0:8000/Ukončit server pomocí CONTROL-C. Aplikace Django je nyní spuštěna a běží na portu 8000. 

V tuto chvíli je aplikace Django spuštěna a běží na portu 8000. Nyní můžete přejít k dalšímu kroku.

Konfigurovat SELinux a bránu firewall

Dále budete muset povolit porty 8000 a 80 přes firewall. Můžete je povolit pomocí následujícího příkazu:

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

Dále nakonfigurujte SELinux pomocí následujícího příkazu:

setsebool httpd_can_network_connect on -P

Jakmile budete hotovi, můžete přejít k dalšímu kroku.

Přístup k aplikaci Django

K aplikaci Django se dostanete na adrese URL http://ip-vasho-serveru:8000. Měli byste vidět následující stránku:

Do administrátorského rozhraní Django se můžete dostat také pomocí adresy URL http://ip-ip-vašeho-serveru:8000/admin. Měli byste vidět následující stránku:

Zadejte své administrátorské uživatelské jméno, heslo a klikněte na Přihlásit v knoflík. Měli byste vidět následující stránku:

Instalovat Nginx a Gunicorn

V této sekci nainstalujeme Gunicorn pro vytváření a správu služby Django a Nginx pro obsluhu aplikace Django.

Nejprve nainstalujte Nginx pomocí následujícího příkazu:

dnf nainstalovat nginx -y

Dále nainstalujte Gunicorn pomocí příkazu PIP, jak je znázorněno níže:

pip3 nainstalovat gunicorn

Jakmile jsou oba balíčky nainstalovány, spusťte službu Nginx a povolte její spuštění po restartu systému pomocí následujícího příkazu:

systemctl spustit nginx
systemctl povolit nginx

Dále změňte vlastnictví adresáře /opt/djangoproject na Nginx, jak je znázorněno níže:

chown -R nginx:nginx /opt/djangoproject

Vytvoření souboru služby Systemd pro Django

Dále vytvořte soubor služby systemd pro správu služby Django pomocí následujícího příkazu:

nano /etc/systemd/system/django.service

Přidejte následující řádky:

[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

Uložte a zavřete soubor a poté znovu načtěte démona systemd pomocí následujícího příkazu:

systemctl daemon-reload

Dále spusťte službu Django a povolte její spuštění po restartu systému pomocí následujícího příkazu:

systemctl spustit django
systemctl povolit django

Nyní můžete zkontrolovat stav služby Django pomocí následujícího příkazu:

stav systemctl django

Měli byste vidět následující výstup:

? django.service - démon django Načteno:načteno (/etc/systemd/system/django.service; zakázáno; přednastaveno dodavatelem:zakázáno) Aktivní:aktivní (běží) od Po 2020-03-02 22:27:51 EST; Před 3min 32s Hlavní PID:960 (django) Úkoly:4 (limit:25028) Paměť: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. března 22:27:51 centos8 systemd[1]:Spuštěn démon django. 2. března 22:27:52 centos8 django[960]:[2020-03-02 22:27:52 -0500] [960] [INFO] Starting django 20.0.4Mar 02 22:27:52 centos8 django[960]:[2020-03-02 22:27:52 -0500] [960] [INFO] Poslech na:unix:/opt/djangoproject/djangoproject. (960) 2. března 22:27:52 centos8 django[960]:[2020-03-02 22:27:52 -0500] [960] [INFO] Pomocí pracovníka:syncMar 02 22:27:52 centos8 django[960]:[2020-03-02 22 :27:52 -0500] [964] [INFO] Bootovací pracovník s PID:964Mar 02 22:27:52 centos8 django[960]:[2020-03-02 22:27:52 -0500] [965] [INFO ] Zaváděcí pracovník s PID:965Mar 02 22:27:52 centos8 django[960]:[2020-03-02 22:27:52 -0500] [966] [INFO] Zaváděcí pracovník s PID:966h 

Konfigurovat Nginx pro Django

Dále budete muset nakonfigurovat Nginx jako reverzní proxy pro Django. Chcete-li tak učinit, vytvořte nový konfigurační soubor Nginx pomocí následujícího příkazu:

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

Přidejte následující řádky:

server { poslouchat 80; server_name your-server-ip location =/favicon.ico { access_log off; log_not_found off; } umístění /static/ { root /opt/djangoproject; } umístění / { 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 $schéma; proxy_pass http://unix:/opt/djangoproject/djangoproject.sock; }}

Po dokončení uložte a zavřete soubor. Poté otestujte nginx na jakoukoli chybu syntaxe pomocí následujícího příkazu:

nginx -t

Pokud je vše v pořádku, měli byste získat následující výstup:

nginx:syntaxe konfiguračního souboru /etc/nginx/nginx.conf je oknginx:konfigurační soubor /etc/nginx/nginx.conf test byl úspěšný

Poté restartujte službu Nginx, aby se změny implementovaly:

systemctl spustí nginx

Nginx můžete také ověřit pomocí následujícího příkazu:

stav systemctl nginx

Měli byste získat následující výstup:

? nginx.service – HTTP a reverzní proxy server nginx Načteno:načteno (/usr/lib/systemd/system/nginx.service; zakázáno; přednastaveno dodavatelem:zakázáno) Aktivní:aktivní (běží) od 22. 3. 2020:28:13 EST; Před 4min 14s Proces:984 ExecStart=/usr/sbin/nginx (kód=ukončeno, stav=0/ÚSPĚCH) Proces:982 ExecStartPre=/usr/sbin/nginx -t (kód=ukončeno, stav=0/ÚSPĚCH) Proces :980 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (kód=ukončeno, stav=0/ÚSPĚCH) Hlavní PID:985 (nginx) Úkoly:3 (limit:25028) Paměť:5,5M CGroup:/system.slice/nginx.service 985 nginx:hlavní proces /usr/sbin/nginx 986 nginx:pracovní proces 987 nginx:pracovní proces 2. března 22:28:12 centos8 systemd[1]:Spuštění nginx HTTP a reverzní proxy server...březen 02 22:28:12 centos8 nginx[982]:nginx:syntaxe konfiguračního souboru /etc/nginx/nginx.conf je v pořádku 2. březen 22:28:12 centos8 nginx[982]:nginx :konfigurační soubor /etc/nginx/nginx.conf test je úspěšný 2. března 22:28:13 centos8 systemd[1]:Spuštěn nginx HTTP a reverzní proxy server.

Nyní můžete přistupovat ke své aplikaci Django pomocí adresy URL http://ip-vašeho-serveru.

Závěr

V této příručce jsme se naučili, jak nainstalovat Django na CentOS 8. Také jsme se naučili používat Gunicorn k vytvoření a správě služby Django a nakonfigurovat Nginx jako reverzní proxy pro obsluhu aplikace Django.


Cent OS
  1. Jak nainstalovat Pip na CentOS 8

  2. Jak nainstalovat Python 3.6.4 na CentOS 7

  3. Jak nainstalovat Python 2.7 nebo Python 3.x + Django 1.8 + na CentOS 6 + cPanel

  1. Jak nainstalovat Python 3 na CentOS 7

  2. Jak nainstalovat Django na CentOS 7

  3. Jak nainstalovat Flask na CentOS 7

  1. Jak nainstalovat TensorFlow na CentOS 7

  2. Jak nainstalovat Python na CentOS 8

  3. Jak nainstalovat TensorFlow na CentOS 8