Günlük

Ubuntu üzerinde Django + Gunicorn + Nginx kurulumu Düzenle


02 Kasım 2014 17:03:25 tarihinde Mehmet Özgür Bayhan tarafından yazılmıştır.


KURULUM

1) webapps adında kullanıcı ve kullanıcı grubu ekliyoruz:

@root >>
adduser webapps
usermod -a -G www-data webapps

2) aşağıdaki dizinleri oluşturuyoruz

mkdir /srv/www
mkdir /srv/www/logs
mkdir /srv/www/scripts
mkdir /srv/www/webapps

2) webapps user'ı olarak giriş yapıyoruz

sudo su webapps

3) Önce sistemi güncelliyoruz ve virtual enviroment kuruyoruz:

@root >> 
sudo apt-get update 
sudo apt-get upgrade 
sudo apt-get install python-virtualenv
sudo apt-get install supervisor

4) Sonrasında virtual enviroment oluşturuyoruz

cd  /srv/www/webapps
virtualenv proje_adı
cd project_name

5) Bu noktada proje dosyasını kopyalıyoruz veya git vb. yerlerden pull ediyoruz . Nihai dizin yapımız şu şekilde olmalı:

/srv/www/webapps/proje_adı/django_projesi_dizini

6) Virtual enviroment'ı aktifleştiriyoruz ve gunicorn + requirements kuruyoruz

source bin/activate
cd /srv/www/webapps/proje_adı/django_projesi_dizini
pip install -r requirements.txt
pip install gunicorn

7) Veritabanı bağlantılarını ayarlıyoruz ve yoksa veritabanını oluşturuyoruz. Wsgi dosyasının adının wsgi.py olduğundan emin oluyoruz.

8) settings.py içerisinden Debug=true yapıp yapıyı test ediyoruz.

chmod +x manage.py
./manage.py runserver
>> ctrl + c

9) settings.py içerisinden Debug=false yapıp gunicornu test ediyoruz.

cd ../
gunicorn wsgi_dizini_adı.wsgi:application --bind 127.0.0.1:8000
>> ctrl + c

GÜNCELLEME

$webapps >> 
cd /srv/www/webapps/virt_enviroment_dizini/proje_dizini
sudo supervisorctl stop proje_adi
source ../bin/activate
git pull
rm static -rf
rm $(find ./ -name '*.pyc')


./manage.py migrate
./manage.py collectstatic --noinput
sudo supervisorctl start proje_adi
deactivate


Yorum Yazın: