Modul de bază pentru a crea un proiect django pe ubuntu

Modul de bază pentru a crea un proiect django pe ubuntu
Modul de bază pentru a crea un proiect django pe ubuntu

Scopul acestui post este de a descrie una dintre modalitățile de bază și simple de a crea un proiect Django pentru Ubuntu pur.

Sistemele de producție grave vor necesita o reglare mai precisă. Dacă vorbim despre proiecte mari, atunci vor fi vorbe despre containere, mai multă automatizare, mai multă atenție asupra securității și reglajului fin al fiecărei componente software.

Aproape sigur moduri deploya, metoda pentru specificarea setărilor în proiect va fi diferit, iar abordarea de a lucra cu fișiere statice și media vor fi diferite, de exemplu, vor fi utilizate CDN, AWS S3 și așa mai departe.

Cu toate acestea, în acest post Vreau să-i ajute pe cei care au ocupat cu Django, s-ar putea veni de la PHP și este în căutarea de informații cu privire la modul de a începe și cum să configurați serverul Django-proiect primul produs, care a rula anterior numai pe mașina locală cu ajutorul serverul de administrare python manage.py

Pasul 1. Alegeți găzduirea

  • DigitalOcean - VPS de la 5 dolari pentru 512 MB de memorie RAM și 20 GB de spațiu pe disc.
  • Linode.com - VPS de la 10 $ pentru 2GB de RAM și 24GB de spațiu pe disc.
  • Webfaction.com - Shared sau VPS în funcție de planul tarifar. 10 $ - 1GB de memorie RAM, unitate SSD de 100 GB. Un panou convenabil care vă va ajuta să găzduiți orice fel de site-uri, să gestionați poșta și DNS. Una dintre primele gazde care găzduiau nu numai site-uri php. În cazul Webfaction, nu trebuie să vă ocupați de configurarea serverului, iar bazele de date și serverul web nu sunt incluse în tariful RAM.

Pasul 2. Configurarea serverului

Pentru a rula proiectul python, avem nevoie de:

python 3.5 nu intră în mod implicit în instalarea ubunt, așa că am pus-o de la ppa-repository personalizat.

nginx este un server web care va solicita proxy aplicației noastre django, precum și servi întoarcerea fișierelor statice și media.

postgresql - cea mai convenabilă bază de date relațională, cu o mulțime de caracteristici diferite.

supervizorul este un sistem de control al procesului. Acesta va rula proiectul nostru python, reporniți-l dacă este necesar, și cu acesta vom controla și gestiona aplicațiile care rulează împreună cu acesta.

rabbitmq - broker de mesaje. Obține și redirecționează mesaje. Este necesar să se stocheze coada de mesaje care va fi necesară în cazul în care țelina este folosită pentru a efectua asincron funcțiile cu resurse intensive ale proiectului django.

git - sistem de control al versiunii. În mod implicit, Ubunutu vine cu o versiune foarte veche a gitului, așa că am pus-o din depozitul ppa.

În plus, vom pune unele utilități convenabile cum ar fi mc, htop și smem.

Toate comenzile de configurare din acest exemplu trebuie introduse de la utilizatorul rădăcină. Pentru aceasta, vă recomand să executați bash în numele superutilizatorului:

și introduceți parola.

Să adăugăm sursele necesare de pachete.

Vom actualiza datele din depozite și apoi vom actualiza toate pachetele instalate cu actualizările disponibile

Setați fusul orar al serverului și selectați localizarea locală

Instalați pachete legate de Python3

Instalați postgresql și unele utilitare auxiliare și biblioteci

Acum creați un utilizator în cadrul căruia vom rula proiectul nostru. Să numim site-uri.

Pentru el, vom crea directorul / site-uri, de a genera cheie rsa, care ar putea avea nevoie să facă în stabilirea github / BitBucket cum a disloca cheie, pentru a permite acces numai de citire la repoztoriyu server pentru a instala proiectul.

Efectuat. Am pregătit un server, am creat un utilizator și un director în care vor trăi proiectele tale și putem începe lansarea proiectului tău!

Toate comenzile care au fost enumerate mai sus, am compilat într-un script separat bash, pe care îl puteți descărca și rula pe o instalare curată a Ubuntu 16.

Pentru a face acest lucru, în loc de toate comenzile de mai sus, tastați aceste două: una pentru a descărca fișierul, a doua pentru ao porni.

Amintiți-vă că trebuie să-l rulați de la rădăcină.

Acest script va face pentru dvs. configurația inițială a serverului.

Odată ce terminăm cu instalarea și configurarea serverului, acum puteți face proiectul dej-django.

Pasul 3. Implementați proiectul Django

Directorul / sites va conține subdirectoarele în care vom găzdui proiectele django.

Să creăm primul director pentru proiectul nostru django.

Toate comenzile pe care le executam de la rădăcină. Deoarece fișierele proiectului trebuie să aparțină utilizatorului din care executăm proiectul, și anume site-urile, după toate manipulările din instalare, vom schimba proprietarul fișierelor și directoarelor la cel dorit.

În directorul tutorial am creat 4 cataloage pentru jurnale, fișiere statice, fișiere media și pentru config. În cele din urmă vom pune fișierele de configurare pentru acest proiect pentru supervizor și nginx

Acum creați un mediu virtual pentru proiectul python.

Sunt necesare medii virtuale (virtualenv) pentru a izola pachetele python instalate pentru fiecare proiect. Cu ajutorul virtualenv, puteți face o mulțime de instalări de proiecte python diferite și nu vor interfera unul cu celălalt, dacă aveți nevoie de o versiune a unui pachet și altul are nevoie de altul.

Mediul virtual din directorul env este creat.

Creați fișierele de configurare.

Prefer să le stochez în directorul de proiect, astfel încât să puteți vedea toate fișierele legate de proiect într-un singur loc, decât să le căutați pe întregul server. Pentru aceasta, vă sugerez să folosiți subdirectorul configs în directorul de proiect.

Iată un exemplu de configurare nginx.conf:

Această configurare este în valoare de plată atenția asupra faptului că Django-proiectul va fi pornit pe portul 9023 și server web jurnalele vor fi stocate în jurnalele / fișierul nginx_access.log

Acum, configurația supervizorului, supervisor.conf

Înainte de a aplica aceste config-uri, trebuie să creăm proiectul în sine.

După cum puteți vedea din configurația supervisor.conf, vă recomandăm să stocați singur proiectul în directorul proiectului (/ sites / tutorial / project).

În acest articol, vom crea un proiect django utilizând utilitarul django-admin.py

Pentru a face acest lucru, trebuie să activăm mediul virtual și să-l punem pe Django acolo, și în același timp pe gunicorn, care va lansa proiectul nostru.

Acum, în mediul virtual al proiectului există un utilitar numit django-admin. Creați un proiect Django de bază.

După executarea acestei comenzi, avem directorul de proiect.

Acum puteți aplica config-urile noastre.

Prin aceste linii am făcut legături simbolice (symlinks) către config-urile noastre în acele directoare unde nginx și supervizorul așteaptă să vadă config-urile de aplicații disponibile. Pentru un supervizor, este important ca fișierul de configurare să aibă o extensie .conf. Altfel, el o ignoră. Pentru nginx acest lucru nu este important, dar pentru uniformitate sugerez în ambele cazuri să aibă același format de nume.

Acum că fișierele sunt create, ambele aplicații trebuie să fie cunoscute despre ele.

Acum, nginx va solicita proxy aplicației dvs. la portul 9023, iar supervizorul va încerca să o pornească.

Lasă-mă să vă atrag atenția asupra faptului că, pentru un proiect real de a face câțiva pași mai mult, de exemplu, pentru a stabili o bază în postgres, în Django-config pentru a înregistra calea proiectului la fișierele statice și URL-ul pentru ei. În acest caz, setările vor arăta astfel:

După ce aceste setări sunt specificate, puteți colecta fișiere statice într-un director cu static și nginx le puteți da.

Pentru a face acest lucru, cu mediul virtual al proiectului activat (sursă / site / tutorial / env / bin / activate), executați următoarele comenzi:

Pentru a vă asigura că site-ul funcționează, deschideți-l în browser-ul consolei:

Veți vedea proiectul Django în modul demo.

Pentru a deschide un site de pe computer, va trebui probabil să modificați setările nginx scriind în secțiunea server_name a serverului IP.

Bonus: pentru cei care au terminat de citit articolul până la capăt, am selectat a doua parte a articolului în al doilea script, care poate fi lansat după scriptul de instalare. El va efectua toate setările de bază pentru tine. Va trebui doar să testați activitatea site-ului.

Puteți rula scriptul pe server imediat după descărcare!

În timpul acestor două scripturi, am întâmpinat erori datorită faptului că instalarea prin apt este blocată de un alt proces care rulează. Acest lucru se datorează faptului că actualizările automate sunt incluse în ubuntu, iar procesul nesupravegheat-upgr a fost vizibil în lista proceselor (comanda ps aux). Dacă îl vedeți acolo - așteptați până la sfârșitul funcționării și puteți rula scriptul de instalare a serverului. Acest lucru nu se aplică scriptului de instalare a proiectului.

Aveți întrebări despre articol? Întrebați-le în comentariile!

Articole similare