Kayıt Ol

Giriş


Şifremi Kaybettim

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

soru ekleme

You must login to ask question.

Giriş


Kayıt Ol

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

Django Uygulamalarımızı uWSGI ve Nginx ile Google Cloud Platformdan nasıl yayınlarız? 3. Bölüm

Django Uygulamalarımızı uWSGI ve Nginx ile Google Cloud Platformdan nasıl yayınlarız? 3. Bölüm

Artık bir sanal sunucumuz, gerçek bir IP adresimiz var ve Django projelerini bu sanal sunucumuzda çalıştırabiliyoruz. Bölüm 2

Şimdi uWSGI kurulumuna geldi.

uWSGI, WSGI adı verilen standart bir arabirim üzerinden uygulamalarla iletişim kurabilen bir uygulama sunucudur.

İnternette birçok örnekte uWSGI python sanal ortamda kuruluyor. Biz uWSGI’yi global olarak kuracağız. Bu, birden fazla Django projesinin işletilmesinde daha az sürtüşme oluşturacaktır.

uWSGI’yi kurarken ve konfigüre ederken biraz heyecan duymalısınız. Eğer heyecanlanmıyorsanız işler yolunda gitmeyecek ve kısa bir süre sonra yaşadığınız olumsuzluklar sizi bu işten soğutacaktır.

Bir önceki bölümden 8000 nolu portta çalışan python server’imiz olabilir. Eğer hala çalışıyorsa kapatalım.

kontrol edelim.

 

Burada, uWSGI’ye, /home/zafercengiz/myapp/myvenv dizininde bulunan sanal ortamımızı, /home/zafercengiz/myapp/myapp dizininde bulunan wsgi.py dosyasını kullanarak 8000 numaralı bağlantı noktasından HTTP ye sunmasını söyledik.

Artık uWSGI yi konfigüre edebiliriz. Çünkü hala http://benimsitem.com adresinden yayınlamaya hazır değiliz.

crlt-C ye basarak uWSGI ekranından çıkalım.

Ücretsiz bir domain alın

www.freenom.com 1 bazı domain uzantılarına 1 yıllık ücretsiz domain hizmeti veriyor.

 

Kaydını yaptırdığınız domaini yönetin.

 

www adına bir A kaydı oluşturup IP adresimize yönlendiriyoruz.

Domain yönlendirmeleriniz doğru ise domain adresini tarayıcıya yazdığınızda default nginx sayfası ile karşılaşmalısınız.

Django sitemizi domain altında yayına alıyoruz.

Bu yazının amacı buydu.

İlk olarak uWSGI konfigürasyon dosyamızı oluşturacağız ama uWSGI ye geçmeden öne django projemizin settings.py dosyasına domainimizi eklememiz gerekiyor. Unutmadan yapalım.

uWSGI’yi komut satırından çalıştırmak, sınama için yararlıdır, ancak gerçek bir dağıtım için özellikle yararlı değildir. Bunun yerine, uWSGI’yi “Emperor mode”nda çalıştıracağız, bu ana işlemin bir dizi yapılandırma dosyası birlikte otomatik olarak ayrı uygulamaları yönetmemize izin verir. Bu sanal sunumuzda onlarca django uygulamamızı yayınlayabilir hale getirir.

Heyecanınız arttı değil mi?

Bu dizine yapılandırma dosyalarımızı yerleştireceğiz.

Sunmakta olduğumuz projelerin her biri için bir yapılandırma dosyasına ihtiyacımız var.

uWSGI yapılandırma dosyası

uWSGI işlemi, yapılandırma dosyalarını çeşitli biçimlerde alabilir. Ben kolay ve alışkanlıklar nedeniyle .ini soyadlı dosyaları kullanıyorum. Aynı zamanda dosya adlarına domain isimlerini veriyorum. Bu onlarca domaini kolayca yönetmemi sağlıyor.

chdir = Uygulamayı yayınladığımız dizin
home = Sanal ortamımız
uid = Kullanıcı adımız. (google bunu size otomatik olarak verdi. Değiştirebilirsiniz. Ama şimdilik dokunmayın)

socket  = uWSGI’nin bağlantıları nasıl dinleyeceğini belirtmeliyiz. UWSGI testimizde, HTTP ve bir ağ portu kullandık. Bununla birlikte, Nginx’i bir ters proxy olarak kullanacağımız için daha iyi bir seçeneğimiz var.

Bir ağ portu kullanmak yerine, tüm bileşenler tek bir sunucuda çalıştığı için Unix soketi kullanacağız. Bu daha güvenli ve daha iyi performans sunar. Bu bağlantı HTTP kullanmaz, bunun yerine diğer sunucularla iletişim kurmak için tasarlanmış hızlı bir ikili protokol olan uWSGI’nin uwsgi protokolünü uygular.

Nginx’de uwsgi protokolünü kullanarak siteyi proxi üzerinden yayına alır.

master ve processes’i şimdilik kafaya takmayın.

uWSGI için bir systemd dosyası oluşturun.

Artık Django projelerimize hizmet etmek için ihtiyaç duyduğumuz yapılandırma dosyalarına sahibiz, ancak işlemi hala otomatik hale getirmedik. uWSGI “Emperor mode” yönetmek ve önyükleme sırasında uWSGI’yi otomatik olarak başlatmak için bir systemd birim dosyası oluşturacağız.

Nginx’i bir Reverse Proxy olarak ayarlama

Kullanılabilir siteler dizinine sembolik bağlantımızı oluşturalım.

Bakalım işler nasıl gidiyor.

Herşey güzel.

Şimdi sitemiz çalışıyor mu bakalım.

www.zafercengiz.tk

Not: Bu yazı yazıldığı sırada bu domain gerçekten alınmış ve Google Cloud Platform tarafından verilen IP adresi üzerinden yayınlanmıştır. Bu nedenle www.zafercengiz.tk alan adının ve 35.205.193.164 adresinin çalışabilirliğinin süreklilik garantisi yoktur.

Nginx ve uWSGI sorunlarını giderme

Oluşabilecek hatalarda aşağıdakileri okuyarak gerekli aksiyonları almalıyız.

Yazımız burada sonlanıyor. Bir sanal sunucuda, ilk defa django uygulaması host etmeye çalışan arkadaşlar muhtemelen hatalarla karşılaşacaklardır. Her hata ve bu hatanın çözümü sizi biraz daha ileriye götürecektir. Lütfen pes etmeyin ve heyecanınızı yitirmeyin.

Hoşçakalın.

Hakkında zafercengizKalfa

Bir Cevap Yaz

Captcha Captcha güncellemek için resime tıkla