Register Now

Login


Lost Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Add question

You must login to ask question.

Login


Register Now

Merhaba, kayıt formu üzerinden kayıt olabilirsiniz. Fakat sosyal medya ile kayıt olmanızı önermekteyiz.

Django Hızlı ve Basit Site Yayınlama – Djeasy

Django Hızlı ve Basit Site Yayınlama – Djeasy

Django framework ile geliştirilmiş bir web siteyi yayınlamaya kalktığımızda, bir çok teknoloji ile karşılaşiyoruz örneğin;

  • Nginx
  • Gunicorn
  • Uwsgi
  • Supervisor
  • Apache

Bu şekilde devam ediyor ve uygun teknoloji seçip gerekli kurulumları yaparken, baya bir cebelleşiyoruz 🙂  , el pratiği olan biri için bile django site yayınlama süresi en az 30dk diyebilirim. Bu soruna çözüm bulmak adına Djeasy adlı paketi geliştirmeye başladım ve gerçekten iyi konuma geldi.

Kısaca;

Nginx ve Gunicorn kullanarak, django sitenizi 2-3dk içerisinde ayağa kaldırmaktadır. Nginx için gerekli css,js vb. sıkıştırma ayarlarından gerekli optimize ayarlarınızda standart olarak eklemektedir. Gunicorn içinde gerekli işçi ayarlamalarını standart olarak ayarlamaktadır.

Paket Uyumlulukları

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

Kurulum

Ayarlar

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

  • Proje klasörü içerisinde requirements.txt adlı belge kesinlikle olmadır. Hangi modülleri hangi paketleri kullandıysanız, kesinlikle yazın djeasy otomatik olarak kurmaktadır. Örnek : requirements.txt
  • Django settings.py içerisindeki “ALLOWED_HOSTS = []” içerisinde ip veya domain adresini yazmayı unutmayın.

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.

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

  • –create : site kurma komutu
  • –nginx :  nginx resetleme komutu
  • project_name –gunicorn : gunicorn resetler.

Site Yayınlama Adımları

1-) Virtualenv Kurulumu

2-) Uygulamanızı Yükleyin

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

3-) Djeasy ile Kurma

Komutuyla, siteyi 4 adımda kurabiliriz.

  • server ip or domain : bölümüden server bilgilerini yazabilirsiniz. Eğer çoklu site bilgisi gireceksiniz boşluk bırakın. Örneğin : python.tc www.python.tc blog.python.tc
  • 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.

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!

Aşşağıdaki resim gibi, bir sonuç aldıysanız kurulum sorunsuz tamamlanmıştır.

İşte Bukadar!

Diğer Özellikleri

Herhangi bir konumdan, projeniz için;

  • –nginx
  • project_name –gunicorn

Komutlarını djeasy ile uygulayabilirsiniz.

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

 


Djeasy kaynak kodları : Djeasy

Umarım, faydalı olmuştur 🙂

About Ali YamanProfesyonel

Herzaman bilginin gücüne inanlardan oldum , araştirmalarım ve deneyimlerimlerimi sizlere sunmayı amaçlıyorum. İstanbul Üniversitesi Kontrol ve Otomasyon Öğrencisiyim Elektronik ve Programlama ile ilgim var.

Follow Me

Comments ( 2 )

  1. İSMAİL TAŞDELEN
    22 February 2017 at 06:31

    Bu güzel yazı için teşekkürler Ali Bey 🙂 Elinize emenğinize sağlık çok faydalı bir paylaşım olmuş 🙂

Leave a reply

Captcha Click on image to update the captcha .