Djeasy - Django Yayınlama Paketi

Djeasy - Django Yayınlama Paketi

Djeasy

Django framework ile geliştirilmiş bir web siteyi yayınlamaya çalıştığımızda gereksiz zamanımızı alıyor. Hele ki, bir den fazla kurulum ile karışlaştığınızda.. bu tarz sorunlar bana ilham kaynağı oldu ve djeasy adlı paketi geliştirmeyi başladım. Paket sayesinde, basit kullanımı ile debian türevlerinde hızlıca django projenizi gunicorn ve nginx ile yayınlayabilceksiniz.

Paket Uyumlulukları

  • Django 1.8+
  • Python 3.x +
  • Debian Türevleri : Ubuntu vb.

Kurulum

sudo apt-get install python-pip
sudo apt-get install python3-pip
sudo apt-get install virtualenv

Ardından djeasy paketini yükliyelim.

pip3 install djeasy

Ayarlar

Djeasy  paketin doğru çalışması için, belli başlı şartları bulunmaktadır. Bunları görelim;

  • Proje klasörü içerisinde requirements.txt adlı belge kesinlikle olmadır. Hangi modüller ve hangi paketleri kullandıysanız, kesinlikle yazın djeasy otomatik olarak kurmaktadır. (Env oluştururken manuel'de oluştrabilirsiniz ama örnek : requirements.txt gibi böyle bir dosyayı o konuma koyun içine gerekli paketleri yazın.)
  • Django settings.py içerisindeki “ALLOWED_HOSTS = []” içerisinde ip veya domain adresini yazmayı unutmayın. ( ["*"] şeklindede kullanabilirsiniz )

Yukarıda yazdığım, iki adet şartı düzgün şekilde uyar iseniz çok hızlı şekilde sonuç alabilirsiniz.

Kullanımı

Terminal üzerinden, kullanım örneklerine bakalım.

djeasy

Komutu girdikten sonra, paket hakkında bilgi mesajları gelmektedir.

--create                      Create a new site.
--nginx                       Nginx restart
Project_name --gunicorn       Gunicorn restart
  • –create : site kurma komutu
  • –nginx :  nginx resetleme komutu
  • project_name –gunicorn : gunicorn resetler.

Site Yayınlama Adımları

1-) Virtualenv Kurulumu

cd /home/
virtualenv -p python3 DjangoEnv

2-) Uygulamanızı Yükleyin

Örnek olarak, kendi blogumu yükleyeceğim.

cd /home/
git clone https://github.com/AliYmn/aliyaman.org
mv aliyaman.org DjangoBlog

3-) Djeasy ile Kurma

djeasy --create

Komutuyla, siteyi 4 adımda kurabiliriz.

ubuntu django  

  • server ip or domain : bölümüden server bilgilerini yazabilirsiniz. Eğer çoklu site bilgisi gireceksiniz boşluk bırakın. Örneğin : aliyaman.com.tr www.aliyaman.com.tr blog.aliyaman.com.tr (arada boşluk olacak. NOT : bu şekilde, buraya ne yazdıysanız hepsinde aynı site gözükcektir. )
  • STATIC_URL : Django settings.py’da bulunan STATIC_URL değişkenine yazdığınız değeri yazın.
  • Nginx File : Kuracağınız site için bir nginx dosya adı belirleyin.
  • Virtuale File path : Virtualenv Dosya konumu yazın.
  • Project File path : Django projenizin yolunu yazın.

İŞTE BUKADAR!

django server

Birden Fazla Site Kurma

Eğer birden fazla site kurmak istiyorsanız. Yani farklı domainlerde farklı projeleri çalıştırmak istiyorsanız. Bu paket yine aynı yöntemlerle işini görecektir. Fakat diğer sitede kullandığınız gunicorn ve nginx dosya adları ile farklı kullanmayı unutmayın!

Diğer Özellikleri

Herhangi bir konumdan, projeniz için;

  • –nginx
  • project_name –gunicorn

kurulum

Database

Djeasy bir database için destek vermemektedir. Çünkü database alternatifleri çok olduğu için, sqlite dışında database kullanmak istiyorsanız kendiniz kurup gerekli ayarlamaları yapmanız gerekiyor.

Örneğin PostgreSQL için ; https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-16-04#create-the-postgresql-database-and-user

** Umarım zamanla paketi geliştirebilirim ama şuanlık benim iş yükümü baya azalttı :)

blog comments powered by Disqus