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

Nainstalujte Django Python Framework na Rocky Linux 8 / CentOS 8

Django je bezplatný a open source webový rámec na vysoké úrovni používaný k vývoji webových aplikací Python. Django přichází se sadou nástrojů, které vám pomohou vytvářet bezpečné a škálovatelné webové aplikace. Jeho hlavním účelem je usnadnit tvorbu složitých aplikací a udržovat vnitřní strukturu.

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

Předpoklad

  • Server s operačním systémem CentOS 8.
  • Přihlaste se jako uživatel root nebo uživatel s právy sudo

Instalujte požadované balíčky

Django je framework založený na Pythonu, takže musíte do systému nainstalovat Python a PIP. Chcete-li jej nainstalovat, spusťte následující příkaz:

dnf install python36 python3-pip -y 

Jakmile jsou oba balíčky nainstalovány, přejděte k dalšímu kroku.

Instalovat Django na Rocky Linux 8

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

pip3 install Django 

Po instalaci Django zkontrolujte verzi Django pomocí následujícího příkazu:

django-admin --version 

Verzi Django uvidíte v následujícím výstupu:

3.0.3 

v době psaní tohoto článku je verze Django verze 3.0.3

Vytvořit projekt Django

V tomto okamžiku byl Django úspěšně nainstalován. Nyní je čas vytvořit aplikaci Django.

Aplikace 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 

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

cd djangoproject
 python3 manage.py migrate 

Získáte 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 musíte vytvořit uživatelský účet správce pro správu vašeho projektu Django pomocí následujícího příkazu:

python3 manage.py createsuperuser 

Budete požádáni o zadání uživatelského jména, e-mailu a hesla. Můžete jej 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 (znovu):Superuser úspěšně vytvořen. 

Po dokončení můžete přejít k dalšímu kroku.

Spusťte aplikaci Django

Ve výchozím nastavení lze k aplikacím Django přistupovat pouze z localhost, aby se Django připojilo k internetu, musíte povolit Django pro externí hostitele. Můžete to udělat přidáním IP vašeho serveru do IP settings.py:

nano /opt/djangoproject/djangoproject/settings.py 

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

ALLOWED_HOSTS =['ip_server_Anda'] 

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 

Uvidíte 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 nyní spuštěna a spuštěna na portu 8000. Nyní můžete přejít k dalšímu kroku.

Nakonfigurujte SELinux a Firewall na Rocky Linux 8

Dále musíte 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 

Po dokončení můžete přejít k dalšímu kroku.

Přístup k aplikacím Django

K aplikaci Django se dostanete na adrese URL http://ip-vasho-serveru:8000. Zobrazí se následující stránka:

Můžete také přistupovat k administrátorskému rozhraní Django pomocí adresy URL http://server-ip:8000/admin. Zobrazí se následující stránka:

Zadejte uživatelské jméno, heslo správce a klikněte na tlačítko Přihlásit se v . Zobrazí se následující stránka:

Nainstalujte Nginx a Gunicorn na Rocky Linux 8

V této sekci nainstalujeme Gunicorn pro vytváření a správu služeb Django a Nginx pro poskytování aplikací Django.

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

dnf install nginx -y 

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

pip3 install 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 start nginx
 systemctl enable nginx 

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

chown -R nginx:nginx /opt/djangoproject 

Vytvořit službu File Systemd pro Django

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

nano /etc/systemd/system/django.service 

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

[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 start django
 systemctl enable django 

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

systemctl status django 

Uvidíte 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 UTC; 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 

Nakonfigurujte Nginx pro Django

Dále nakonfigurujte 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í řádek:

server { poslouchat 80; název_serveru umístění IP vašeho-serveru =https://cdn.linuxid.net/favicon.ico?x87109 { 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; }} 

Až budete hotovi, uložte a zavřete soubor. Poté otestujte nginx na případné syntaktické chyby pomocí následujícího příkazu:

nginx -t 

Pokud nejsou žádné chyby, zobrazí se 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 je úspěšný 

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

systemctl start nginx 

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

systemctl status nginx 

Získáte 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 k aplikacím Django pomocí adresy URL http://IP_adresa_serveru.

Závěr

V této příručce jsme se naučili, jak nainstalovat Django na Rocky Linux 8 a CentOS 8. Také jsme se naučili používat Gunicorn k vytváření a správě služeb Django a konfiguraci Nginx jako reverzního proxy pro obsluhu aplikací Django.


Cent OS
  1. Jak nainstalovat Python 2/3 na Rocky Linux/Centos 8

  2. Jak nainstalovat klienta FreeIPA na Rocky Linux/Alma Linux/CentOS 8

  3. Nainstalujte Python na Rocky Linux 8

  1. Jak nainstalovat Mysql 8 na Rocky Linux/Centos 8

  2. Jak nainstalovat a nakonfigurovat Redis 6 na Rocky Linux/Centos 8

  3. Jak nainstalovat Java 17 na Rocky Linux 8/Centos 8

  1. Jak nainstalovat PostgreSQL na CentOS 8 / Rocky Linux 8 / RHEL 8

  2. Jak nainstalovat Erlang na Rocky Linux/Alma Linux/CentOS 8

  3. Jak nainstalovat Python 3.10 na Rocky Linux 8