Nastavte Django na Debian 8

Tento tutoriál vysvetľuje, ako nastaviť Django na Debian 8 (jessie). Ukážem, ako používať Python 2 a 3, ako aj Nginx a PostgreSQL.

Všetko vykonané v tomto návode sa robí ako root.

Nainštalujte balíky

Aby sme mohli začať, musíme nainštalovať nejaké balíčky.

Pre Python 2:

apt-get install python-pip python-dev virtualenv nginx postgresql postgresql-contrib libpq-dev sudo gcc

Pre Python 3:

apt-get install python3-pip python3-dev virtualenv nginx postgresql postgresql-contrib libpq-dev sudo gcc

Nastavenie databáz

Najprv sa prihlásime do užívateľa postgres.

sudo -u postgres -s

Ďalej vytvoríme novú databázu. Názov databázy môže byť akýkoľvek chcete ( dbnametu sa používa), ale musíte byť konzistentní so zvyškom nastavenia.

createdb dbname

Vytvorte používateľa pre novú databázu. Opäť to môže byť čokoľvek, čo chcete, ale použil som dbuser. To vás tiež požiada o nastavenie hesla.

createuser -P dbuser

Používateľovi teraz musí byť udelený prístup k databáze. Len sa uistite, že používate správny názov databázy a meno používateľa.

psql
postgres=# GRANT ALL PRIVILEGES ON DATABASE dbname TO dbuser;
postgres=# \q

Odísť do rootu.

exit

Povoliť a spustiť PostgreSQL:

systemctl enable postgresql
systemctl start postgresql

Nastavte virtuálne prostredie

Namiesto toho, aby sme používali iba globálne súbory python, budeme používať virtuálne prostredie. Začneme vytvorením adresára, do ktorého sa to všetko zmestí.

mkdir -p /opt/project

Teraz vytvárame prostredie. Toto je iné pre používateľov pythonu 2 a 3.

Pre Python 2:

virtualenv . -p python

Pre Python 3:

virtualenv . -p python3

Vstúpte do virtuálneho prostredia.

source bin/activate

Nainštalujte si Django, gunicorn a psycopg2.

pip install django
pip install gunicorn
pip install psycopg2

Ak potrebujete konkrétnu verziu Django, zmeňte príkaz install tak, aby zodpovedal formátu nižšie. Tento príklad nainštaluje 1.7.8.

pip install django==1.7.8

Teraz sme s tým nateraz hotoví, takže môžeme deaktivovať naše virtuálne prostredie.

deactivate

Nahrávanie a konfigurácia projektu

Toto je čas, kedy nahrávame náš projekt na server a uisťujeme sa, že všetky jeho nastavenia sú správne. Na to môžete použiť akúkoľvek metódu. FTP, SFTP, git atď. sú všetky spôsoby, ako to urobiť. Ak na sledovanie kódu projektu používate git, môžete ho jednoducho naklonovať na server. Tento príkaz git naklonuje projekt na server a umiestni ho do /opt/project/project/.

git clone http://example.com:project.git

Otvorte settings.pysúbor v ľubovoľnom textovom prehliadači.

Po prvé, režim ladenia musí byť vypnutý. Vyhľadajte DEBUG = Trueriadok a zmeňte ho Truena False. Potom sa uistite, že ste ALLOWED_HOSTSnastavili nejakú hodnotu.

ALLOWED_HOSTS = ['*']

Vyhľadajte DATABASESslovník a mal by vyzerať takto:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'dbname',
        'USER': 'dbuser',
        'PASSWORD': 'password you set',
        'HOST': 'localhost',
        'PORT': ''
    }
}

Posledným krokom je nastavenie statického koreňa. Nasledujúce umiestnite priamo pod STATIC_URL.

STATIC_ROOT = '/opt/project/static/'

Ukončite súbor a vytvorte statický koreňový adresár.

mkdir -p /opt/project/static

Teraz migrujte databázu, vytvorte superužívateľa a zhromaždite všetky statické súbory.

cd /opt/project/project
../bin/python manage.py makemigrations
../bin/python manage.py migrate
../bin/python manage.py createsuperuser
../bin/python manage.py collectstatic

Nakonfigurujte Gunicorn

Gunicorn je server WSGI, ktorý budeme používať. Keďže Debian 8 prichádza s systemd, využijeme systemd na spustenie a zastavenie servera.

Vytvorte súbor /etc/systemd/system/django.servicea pridajte nasledujúci obsah.

[Unit]
Description=Django with Gunicorn
After=network.target

[Service]
User=root
Group=root
WorkingDirectory=/opt/project
ExecStart=/opt/project/bin/gunicorn --workers 3 --bind 127.0.0.1:8000 project.wsgi

[Install]
WantedBy=multi-user.target

Povoliť a spustiť službu, ktorú sme vytvorili.

systemctl enable django.service
systemctl start django.service

Nginx

Možno ste si všimli, že server gunicorn sme viazali na 127.0.0.1. Teraz potrebujeme spôsob, ako k nemu pristupovať mimo servera. Tu prichádza Nginx.

Vytvorte nový súbor /etc/nginx/sites-available/djangoa pridajte nasledujúce. domain.example.comČasť môže byť nastavená na čo ju potrebujete.

server {
        listen 80;
        server_name domain.example.com;
        access_log off;

        location /static/ {
                alias /opt/project/static/;
        }

        location / {
                proxy_pass http://127.0.0.1:8000;
        }
}

Vytvorte symbolický odkaz na aktiváciu tejto stránky.

ln -s /etc/nginx/sites-available/django /etc/nginx/sites-enabled/django

Povoľte a spustite Nginx.

systemctl enable nginx
systemctl start nginx

Záver

Gratulujeme, teraz máte na svojom Debian VPS funkčnú stránku Django.

Zanechať komentár

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umelá inteligencia nie je v budúcnosti, je tu priamo v súčasnosti V tomto blogu si prečítajte, ako aplikácie umelej inteligencie ovplyvnili rôzne sektory.

Útoky DDOS: Stručný prehľad

Útoky DDOS: Stručný prehľad

Ste aj vy obeťou DDOS útokov a máte zmätok ohľadom metód prevencie? Ak chcete vyriešiť svoje otázky, prečítajte si tento článok.

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Možno ste už počuli, že hackeri zarábajú veľa peňazí, ale premýšľali ste niekedy nad tým, ako môžu zarábať také peniaze? poďme diskutovať.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Chcete vidieť revolučné vynálezy od Google a ako tieto vynálezy zmenili život každého dnešného človeka? Potom si prečítajte na blogu a pozrite si vynálezy spoločnosti Google.

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Koncept samoriadených áut vyraziť na cesty s pomocou umelej inteligencie je snom, ktorý máme už nejaký čas. Ale napriek niekoľkým prísľubom ich nikde nevidno. Prečítajte si tento blog a dozviete sa viac…

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Ako sa veda vyvíja rýchlym tempom a preberá veľa nášho úsilia, zvyšuje sa aj riziko, že sa vystavíme nevysvetliteľnej singularite. Prečítajte si, čo pre nás môže znamenať singularita.

Funkcionality vrstiev referenčnej architektúry veľkých dát

Funkcionality vrstiev referenčnej architektúry veľkých dát

Prečítajte si blog, aby ste čo najjednoduchším spôsobom spoznali rôzne vrstvy architektúry veľkých dát a ich funkcie.

Vývoj ukladania dát – Infografika

Vývoj ukladania dát – Infografika

Spôsoby ukladania údajov sa môžu vyvíjať už od zrodu údajov. Tento blog sa zaoberá vývojom ukladania údajov na základe infografiky.

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

V tomto digitálnom svete sa inteligentné domáce zariadenia stali kľúčovou súčasťou života. Tu je niekoľko úžasných výhod inteligentných domácich zariadení o tom, ako robia náš život, ktorý stojí za to žiť, a ktorý zjednodušujú.

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Spoločnosť Apple nedávno vydala doplnkovú aktualizáciu macOS Catalina 10.15.4 na opravu problémov, ale zdá sa, že táto aktualizácia spôsobuje ďalšie problémy, ktoré vedú k blokovaniu počítačov Mac. Prečítajte si tento článok a dozviete sa viac