Įdiekite „Django“ „Debian 8“.

Šiame vadove paaiškinama, kaip nustatyti „Django“ „Debian 8“ (jessie). Parodysiu, kaip naudoti Python 2 ir 3, taip pat Nginx ir PostgreSQL.

Viskas, kas daroma šioje pamokoje, atliekama kaip root.

Įdiegti paketus

Norėdami pradėti, turime įdiegti kai kuriuos paketus.

Python 2:

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

„Python 3“:

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

Nustatykite duomenų bazes

Pirmiausia prisijungiame prie vartotojo postgres.

sudo -u postgres -s

Tada sukuriame naują duomenų bazę. Duomenų bazės pavadinimas gali būti toks, kokio norite ( dbnamečia naudojamas), bet jūs turite atitikti likusią sąranką.

createdb dbname

Sukurkite vartotoją naujai duomenų bazei. Vėlgi, tai gali būti viskas, ko norite, bet aš naudojau dbuser. Taip pat bus paprašyta nustatyti slaptažodį.

createuser -P dbuser

Dabar vartotojui turi būti suteikta prieiga prie duomenų bazės. Tiesiog įsitikinkite, kad naudojate teisingą duomenų bazės pavadinimą ir vartotojo vardą.

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

Išeiti į root.

exit

Įgalinkite ir paleiskite PostgreSQL:

systemctl enable postgresql
systemctl start postgresql

Nustatykite virtualią aplinką

Užuot naudoję tik pasaulinius python failus, naudosime virtualią aplinką. Pradedame kurdami katalogą, kuriame būtų viskas.

mkdir -p /opt/project

Dabar mes kuriame aplinką. Tai skiriasi python 2 ir 3 vartotojams.

Python 2:

virtualenv . -p python

„Python 3“:

virtualenv . -p python3

Įeikite į virtualią aplinką.

source bin/activate

Įdiekite „Django“, „gunicorn“ ir „psycopg2“.

pip install django
pip install gunicorn
pip install psycopg2

Jei jums reikia konkrečios „Django“ versijos, pakeiskite diegimo komandą, kad ji atitiktų toliau pateiktą formatą. Šiame pavyzdyje įdiegiama 1.7.8.

pip install django==1.7.8

Dabar tai jau baigėme, todėl galime išjungti savo virtualią aplinką.

deactivate

Projekto įkėlimas ir konfigūravimas

Tai laikas, kai įkeliame savo projektą į serverį ir įsitikiname, kad visi jo nustatymai yra teisingi. Norėdami tai padaryti, galite naudoti bet kokį metodą. FTP, SFTP, git ir kt. yra visi būdai tai padaryti. Jei naudojate git projekto kodui sekti, galite tiesiog klonuoti jį į serverį. Ši git komanda klonuuos projektą į serverį ir patalpins jį į /opt/project/project/.

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

Atidarykite settings.pyfailą bet kurioje teksto naršyklėje.

Pirmiausia reikia išjungti derinimo režimą. Ieškokite DEBUG = Truelinijos ir pakeiskite Trueį False. Po to įsitikinkite, kad ALLOWED_HOSTSnustatėte tam tikrą vertę.

ALLOWED_HOSTS = ['*']

Ieškokite DATABASESžodyno ir jis turėtų atrodyti taip:

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

Paskutinis žingsnis yra nustatyti statinę šaknį. Įdėkite toliau nurodytus elementus tiesiai žemiau STATIC_URL.

STATIC_ROOT = '/opt/project/static/'

Išeikite iš failo ir sukurkite statinį šakninį katalogą.

mkdir -p /opt/project/static

Dabar perkelkite duomenų bazę, sukurkite super vartotoją ir surinkite visus statinius failus.

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

Konfigūruokite Gunicorn

Gunicorn yra WSGI serveris, kurį naudosime. Kadangi Debian 8 yra su systemd, mes pasinaudosime systemd pranašumais serveriui paleisti ir sustabdyti.

Sukurkite failą /etc/systemd/system/django.serviceir pridėkite toliau nurodytą turinį.

[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

Įjunkite ir paleiskite mūsų sukurtą paslaugą.

systemctl enable django.service
systemctl start django.service

Nginx

Galbūt pastebėjote, kad gunicorn serverį susiejome su 127.0.0.1. Dabar mums reikia būdo, kaip jį pasiekti iš serverio ribų. Čia atsiranda Nginx.

Sukurkite naują failą /etc/nginx/sites-available/djangoir pridėkite toliau nurodytą. domain.example.comDalis galima nustatyti į ką reikia, kad ji būtų.

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

Norėdami įjungti šią svetainę, sukurkite simbolinę nuorodą.

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

Įgalinkite ir paleiskite „Nginx“.

systemctl enable nginx
systemctl start nginx

Išvada

Sveikiname, dabar jūsų Debian VPS yra veikianti „Django“ svetainė.

Palikti komentarą

Mašinų augimas: AI pritaikymas realiame pasaulyje

Mašinų augimas: AI pritaikymas realiame pasaulyje

Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.

DDOS atakos: trumpa apžvalga

DDOS atakos: trumpa apžvalga

Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.

Duomenų saugojimo raida – infografika

Duomenų saugojimo raida – infografika

Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.

6 nuostabūs išmaniųjų namų įrenginių privalumai

6 nuostabūs išmaniųjų namų įrenginių privalumai

Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį