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