Seadistage Django Debian 8-s

See õpetus selgitab, kuidas seadistada Djangot Debian 8-s (jessie). Näitan, kuidas kasutada nii Python 2 ja 3 kui ka Nginxi ja PostgreSQL-i.

Kõik selles õpetuses tehtu tehakse juurkasutajana.

Installige paketid

Alustamiseks peame installima mõned paketid.

Python 2 jaoks:

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

Python 3 jaoks:

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

Andmebaaside seadistamine

Esiteks logime kasutajasse sisse postgres.

sudo -u postgres -s

Järgmisena loome uue andmebaasi. Andmebaasi nimi võib olla mis iganes soovite ( dbnamesiin kasutatakse), kuid peate olema kooskõlas ülejäänud seadistusega.

createdb dbname

Looge uuele andmebaasile kasutaja. Jällegi, see võib olla see, mida soovite, kuid ma kasutasin dbuser. See palub teil määrata ka parooli.

createuser -P dbuser

Nüüd tuleb kasutajale anda juurdepääs andmebaasile. Lihtsalt veenduge, et kasutate õiget andmebaasi nime ja kasutajanime.

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

Välju juurutamiseks.

exit

PostgreSQL lubamine ja käivitamine:

systemctl enable postgresql
systemctl start postgresql

Seadistage virtuaalne keskkond

Selle asemel, et kasutada ainult globaalseid pythoni faile, kasutame virtuaalset keskkonda. Alustuseks loome selle kõige hoidmiseks kataloogi.

mkdir -p /opt/project

Nüüd loome keskkonna. Python 2 ja 3 kasutajate puhul on see erinev.

Python 2 jaoks:

virtualenv . -p python

Python 3 jaoks:

virtualenv . -p python3

Sisenege virtuaalsesse keskkonda.

source bin/activate

Installige Django, gunicorn ja psycopg2.

pip install django
pip install gunicorn
pip install psycopg2

Kui vajate Django konkreetset versiooni, muutke installikäsku, et see vastaks allolevale vormingule. See näide installib versiooni 1.7.8.

pip install django==1.7.8

Oleme sellega praeguseks valmis, nii et saame oma virtuaalse keskkonna deaktiveerida.

deactivate

Projekti üleslaadimine ja konfigureerimine

See on aeg, mil laadime oma projekti serverisse ja veendume, et kõik selle sätted on õiged. Selleks võite kasutada mis tahes meetodit. FTP, SFTP, git jne on kõik võimalused seda teha. Kui kasutate projekti koodi jälgimiseks giti, saate selle lihtsalt serverisse kloonida. See git-käsk kloonib projekti serverisse ja asetab selle kausta /opt/project/project/.

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

Avage settings.pyfail mis tahes tekstibrauseris.

Esiteks peab silumisrežiim olema välja lülitatud. Otsige üles DEBUG = Truerida ja muutke Truenumbriks False. Pärast seda veenduge, et olete ALLOWED_HOSTSmõne väärtuse määranud.

ALLOWED_HOSTS = ['*']

Otsige DATABASESsõnaraamatut ja see peaks välja nägema järgmine:

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

Viimane samm siin on staatilise juure määramine. Asetage järgmine otse alla STATIC_URL.

STATIC_ROOT = '/opt/project/static/'

Väljuge failist ja looge staatiline juurkataloog.

mkdir -p /opt/project/static

Nüüd viige andmebaas üle, looge superkasutaja ja koguge kõik staatilised failid.

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

Seadistage Gunicorn

Gunicorn on WSGI server, mida me kasutame. Kuna Debian 8-ga on kaasas systemd, kasutame serveri käivitamiseks ja peatamiseks süsteemid.

Looge fail /etc/systemd/system/django.serviceja lisage järgmine sisu.

[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

Lubage ja käivitage meie loodud teenus.

systemctl enable django.service
systemctl start django.service

Nginx

Võib-olla olete märganud, et sidusime gunicorn serveri 127.0.0.1. Nüüd vajame võimalust sellele juurde pääseda väljastpoolt serverit. Siin tuleb mängu Nginx.

Looge uus fail /etc/nginx/sites-available/djangoja lisage järgmine. domain.example.comOsa saab määrata iganes sa vajad seda.

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;
        }
}

Selle saidi lubamiseks looge sümboolne link.

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

Lubage ja käivitage Nginx.

systemctl enable nginx
systemctl start nginx

Järeldus

Õnnitleme, teie Debiani VPS-is on nüüd töötav Django sait.

Debian, Linuxi juhendid, serverirakendused

Jäta kommentaar

Masinate tõus: AI tegelikud rakendused

Masinate tõus: AI tegelikud rakendused

Tehisintellekt ei ole tulevik, see on siin, olevikus. Sellest blogist loe, kuidas tehisintellekti rakendused on mõjutanud erinevaid sektoreid.

DDOS-i rünnakud: lühike ülevaade

DDOS-i rünnakud: lühike ülevaade

Kas olete ka DDOS-i rünnakute ohver ja olete segaduses ennetusmeetodite osas? Oma päringute lahendamiseks lugege seda artiklit.

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Võib-olla olete kuulnud, et häkkerid teenivad palju raha, kuid kas olete kunagi mõelnud, kuidas nad sellist raha teenivad? arutleme.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Kas soovite näha Google'i revolutsioonilisi leiutisi ja seda, kuidas need leiutised muutsid iga inimese elu tänapäeval? Seejärel lugege ajaveebi, et näha Google'i leiutisi.

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Isejuhtivate autode kontseptsioon tehisintellekti abil teedele jõudmiseks on meil juba mõnda aega unistus. Kuid vaatamata mitmele lubadusele pole neid kusagil näha. Lisateabe saamiseks lugege seda ajaveebi…

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Kuna teadus areneb kiiresti, võttes üle suure osa meie jõupingutustest, suureneb ka oht, et allume seletamatule singulaarsusele. Loe, mida singulaarsus meie jaoks tähendada võiks.

Suurandmete viitearhitektuuri kihtide funktsioonid

Suurandmete viitearhitektuuri kihtide funktsioonid

Lugege ajaveebi, et kõige lihtsamal viisil teada saada Big Data Architecture'i erinevaid kihte ja nende funktsioone.

Andmesalvestuse areng – infograafik

Andmesalvestuse areng – infograafik

Andmete säilitamise meetodid on arenenud alates andmete sünnist. See ajaveeb käsitleb infograafiku alusel andmete salvestamise arengut.

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

Selles digipõhises maailmas on nutikad koduseadmed muutunud elu oluliseks osaks. Siin on mõned nutikate koduseadmete hämmastavad eelised, mis muudavad meie elu elamisväärseks ja lihtsamaks.

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

Hiljuti andis Apple välja macOS Catalina 10.15.4 täiendusvärskenduse probleemide lahendamiseks, kuid tundub, et värskendus põhjustab rohkem probleeme, mille tulemuseks on Maci masinate tellimine. Lisateabe saamiseks lugege seda artiklit