Подесите Дјанго на Дебиан 8

Овај водич објашњава како да подесите Дјанго на Дебиан 8 (јессие). Показаћу како се користе и Питхон 2 и 3, као и Нгинк и ПостгреСКЛ.

Све што је урађено у овом водичу се ради као роот.

Инсталирајте пакете

За почетак, морамо да инсталирамо неке пакете.

За Питхон 2:

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

За Питхон 3:

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

Подешавање база података

Прво се пријављујемо на корисника postgres.

sudo -u postgres -s

Затим креирамо нову базу података. Име базе података може бити шта год желите ( dbnameовде се користи), али морате бити у складу са остатком подешавања.

createdb dbname

Креирајте корисника за нову базу података. Опет, ово може бити шта год желите, али ја сам користио dbuser. Ово ће такође тражити да поставите лозинку.

createuser -P dbuser

Кориснику се сада мора дати приступ бази података. Само будите сигурни да користите исправно име базе података и корисничко име.

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

Изађите на роот.

exit

Омогућите и покрените ПостгреСКЛ:

systemctl enable postgresql
systemctl start postgresql

Подесите виртуелно окружење

Уместо да само користимо глобалне питхон датотеке, користићемо виртуелно окружење. Почињемо креирањем директоријума који ће све то држати.

mkdir -p /opt/project

Сада стварамо окружење. Ово је другачије за кориснике Питхон 2 и 3.

За Питхон 2:

virtualenv . -p python

За Питхон 3:

virtualenv . -p python3

Уђите у виртуелно окружење.

source bin/activate

Инсталирајте Дјанго, гуницорн и псицопг2.

pip install django
pip install gunicorn
pip install psycopg2

Ако вам је потребна одређена верзија Дјанга, промените команду за инсталацију тако да одговара формату испод. Овај пример инсталира 1.7.8.

pip install django==1.7.8

За сада смо завршили са тим, тако да можемо да деактивирамо наше виртуелно окружење.

deactivate

Отпремање и конфигурација пројекта

Ово је време када отпремамо наш пројекат на сервер и уверавамо се да су сва његова подешавања тачна. За то можете користити било који метод. ФТП, СФТП, гит, итд. су сви начини за то. Ако користите гит за праћење кода пројекта, можете га једноставно клонирати на сервер. Ова гит команда ће клонирати пројекат на сервер и поставити га у /opt/project/project/.

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

Отворите settings.pyдатотеку у било ком текстуалном претраживачу.

Прво, режим за отклањање грешака мора бити искључен. Потражите DEBUG = Trueлинију и промените Trueу False. Након овога, уверите се да сте ALLOWED_HOSTSподесили неку вредност.

ALLOWED_HOSTS = ['*']

Потражите DATABASESречник и требало би да изгледа овако:

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

Последњи корак овде је постављање статичког корена. Поставите следеће директно испод STATIC_URL.

STATIC_ROOT = '/opt/project/static/'

Изађите из датотеке и креирајте статички основни директоријум.

mkdir -p /opt/project/static

Сада мигрирајте базу података, креирајте супер корисника и сакупите све статичке датотеке.

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

Конфигуришите Гуницорн

Гуницорн је ВСГИ сервер који ћемо користити. Пошто Дебиан 8 долази са системд-ом, искористићемо предности системд-а да покренемо и зауставимо сервер.

Креирајте датотеку /etc/systemd/system/django.serviceи додајте следећи садржај.

[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

Омогућите и покрените услугу коју смо креирали.

systemctl enable django.service
systemctl start django.service

Нгинк

Можда сте приметили да смо сервер гуницорн везали за 127.0.0.1. Сада нам је потребан начин да му приступимо изван сервера. Овде долази Нгинк.

Креирајте нову датотеку /etc/nginx/sites-available/djangoи додајте следеће. domain.example.comДео може да се подеси да све што је потребно да буде.

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

Направите симболичну везу да бисте омогућили ову локацију.

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

Омогућите и покрените Нгинк.

systemctl enable nginx
systemctl start nginx

Закључак

Честитамо, сада имате радну Дјанго локацију на вашем Дебиан ВПС-у.

Остави коментар

Успон машина: Примене вештачке интелигенције у стварном свету

Успон машина: Примене вештачке интелигенције у стварном свету

Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.

ДДОС напади: кратак преглед

ДДОС напади: кратак преглед

Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.

Да ли сте се икада запитали како хакери зарађују новац?

Да ли сте се икада запитали како хакери зарађују новац?

Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…

Технолошка сингуларност: далека будућност људске цивилизације?

Технолошка сингуларност: далека будућност људске цивилизације?

Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.

Функционалности слојева референтне архитектуре великих података

Функционалности слојева референтне архитектуре великих података

Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.

Еволуција складиштења података – Инфографика

Еволуција складиштења података – Инфографика

Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више