News
BAE'de yeni veri merkezi - Equinix DX1
May 29, 2023
Updated June 7, 2023

Sistemi bir Python Django projesi için yapılandırma

Linux Python Ubuntu

Giriş

Django, Python'da web uygulamaları geliştirmek için ücretsiz ve açık kaynaklı bir çerçevedir. Eksiksiz web siteleri ve web uygulamaları geliştirmek için güçlü araçlar sağlar. Geliştiricilerin kaliteyi kaybetmeden hızlı ve verimli bir şekilde uygulamalar oluşturmasına olanak tanır.

Django, web geliştirmedeki çok yönlülüğü ve gücü ile ünlüdür. Python'da uygulamalar oluşturmak için güçlü bir çerçevedir ve araç ve modül kütüphanesi ile geliştirme süresini azaltmaya yardımcı olur. Güçlü şablonlama ve otomatik URL oluşturma özellikleriyle de bilinir. Bu çerçeve, gelen verileri otomatik olarak kontrol ettiği ve saldırıları önlediği için iyi bir uygulama güvenliği de sağlar.

Diğer çerçevelerle karşılaştırma

  • Flask (Python) Dezavantajları: Kodun çoğunu kendiniz yazmak zorundasınız ve büyük projeler için yeterli araç yok;
  • Ruby on Rails Dezavantajları: Yavaş başlatma, yüksek bellek yükü ve yüksek giriş eşiği;
  • Piramit Dezavantajları: Kurulumu zor ve büyük projeler için yeterli araç yok;
  • Laravel (PHP) Disadvantages: difficult to configure and no easy-to-use tool to build a "database".

Postgres yüksek güvenilirliği ve performansı ile bilinir. Ayrıca, analitik işlevler ve coğrafi mekansallaştırma ile başa çıkmak için araçlar da dahil olmak üzere veri analizi için gelişmiş özelliklere sahiptir. İşlevselliğini tamamlayabilecek çok çeşitli eklentiler de vardır.

Gunicorn, kullanım kolaylığı ve yüksek performansı ile ünlüdür. Tek bir sunucuda birden fazla isteği işleyebilen basit bir Python işlem yöneticisidir. Gunicorn, HTTP/1.1 protokolü desteği, otomatik yeniden başlatma ve vorker'ları ölçeklendirme gibi birçok yerleşik özelliğe sahiptir. Django ve Flask gibi diğer web çerçeveleri ile birlikte de kullanılabilir.

Nginx en popüler ve güvenilir web sunucularından biridir. Kurulumu ve yapılandırması kolaydır, yüksek performansa ve düşük kaynak kullanımına sahiptir, web uygulamalarını ve dinamik web sitelerini destekler ve statik içerik itme, proxy oluşturma, URL yeniden yönlendirme ve yönlendirme gibi birçok farklı özelliğe sahiptir. Temel olarak web trafiğini idare etmenin yanı sıra hata toleransı ve yüksek performans için de kullanılabilir.

Başlarken

Yazılım paketlerini güncelleyin.

sudo apt update

Aşağıdaki yazılımı yükleyin.

sudo apt install python3-pip python3-dev libpq-dev postgresql postgresql-contrib nginx curl

Veritabanını yapılandırın

Postgres'e giriş yapın.

sudo -u postgres psql

Proje için bir veritabanı oluşturma komutu.

CREATE DATABASE "yournameproject";

Bir veritabanı, bir kullanıcı oluşturun ve daha hızlı çalışması için veritabanımızı optimize edin.

CREATE DATABASE "yournameproject"

Veritabanı oluşturuldu ve belirli parametreler üzerinde değişiklik yapmamız gerekiyor.

belirli parametreler üzerinde değişiklik yapmak

CREATE USER "YourUsername" WITH PASSWORD 'password';

Kullanıcı başarıyla oluşturuldu ve "DB "mizi hızlandırmak için parametreleri değiştirerek "DB "yi optimize etmeye karar verdim.

optimize et

ALTER ROLE "Yourproject" SET timezone TO 'UTC';
ALTER ROLE "Yourproject" SET default_transaction_isolation TO 'read committed';
ALTER ROLE "Yourproject" SET client_encoding TO 'utf8';

Bu parametreler, kullanıcıya bir parola ile veritabanına bağlanması için bir hesap vermek üzere oluşturulur.

Ardından, kullanıcının rolü varsayılan UTC saat dilimi, varsayılan "Tamamen Oku" işlem yalıtımı ve varsayılan UTF-8 istemci kodlaması ile yapılandırılacaktır.

Kullanıcıya "DB "yi yönetmesi için erişim izni verildi.

Kullanıcıya yönetmek için erişim izni verildi

GRANT ALL PRIVILEGES ON DATABASE "yourproject" TO "myprojectuser";

Proje için bir çalışma alanı oluşturma

Bir "DB" oluşturdum ve şimdi projenin geri kalan gereksinimlerine geçebiliriz. İşleri biraz daha kolaylaştırmak için, ihtiyacımız olan tüm gereksinimleri sanal bir ortamda kurdum.

Bu komutları yazalım:

sudo -H pip3 install --upgrade pip
sudo -H pip3 install virtualenv

"virtualenv" aracını kurduktan sonra projemizi şekillendirmeye başlıyorum.
Proje için dosyalarımızı saklayacağımız bir dizin oluşturdum ve bu dizine gidiyorum

mkdir ~/yourprojectdir
cd ~/myprojectdir

proje için dosyalarımızı saklayacağımız bir dizin oluşturun

Dizinde sanal bir ortam oluşturuldu.

virtualenv yourprojectenv

Dizinde sanal bir ortam oluşturuldu

virtualenv, farklı projeler için izole ortamlar oluşturmanıza ve kütüphanelerin ve uygulamaların farklı sürümlerini kullanmanıza olanak tanıyan bir komuttur

Bu, kuruluştaki tüm projeler için aynı teknoloji yığınının korunmasına olanak tanıyarak uyumsuzluk ve hata riskini azaltır.

Bu dizin hemen Python'un yerel sürümünü ve paket yönetim sistemini içerecektir.
Projemize gereksinimleri atamadan önce sanal ortamı çalıştırmamız gerekiyor. Bu komutu yazın:

source yourprojectenv/bin/activate

Komut satırı değişecek ve artık Python sanal ortamında çalıştığınızı gösterecektir. Şu şekilde olacaktır.

Sanal ortamda bulunma örneği

Sanal ortamı çalıştırırken gerekli bileşenleri yükleyin.

pip install django gunicorn psycopg2-binary

gerekli bileşenleri kurun

Proje oluşturma

Çerçeve için zaten bir proje dizini oluşturulmuştur, bu nedenle başlatma yolunu belirtmemiz gerekir, çünkü ikinci dizin içinde kontrol komut dosyası kodunun bulunduğu alt dizini içerir.

django-admin startproject yourproject ~/yourprojectdir

Bundan sonra, oluşturulan proje dosyasında birkaç parametreyi değiştirmeniz gerekecektir. Ayarlar dosyasını herhangi bir metin editörü ile açın.

nano ~/yourprojectdir/yourproject/settings.py

Şimdi ayarları değiştirmemiz gerekiyor.
ayarları değiştirin

Ardından aşağı kaydırın ve şifreyi sağlayan bölümü bulun, adı "DB" dir.

Ayrıca DATABASES dizesini arayın, bu dizeyi verileriniz için yapılandırın.

verileriniz için bu dizeyi yapılandırın

Aşağı kaydırın ve statik dosyaları depolamak istediğiniz yeri belirtmek için parametreyi ekleyin.

10dnp

Son yapılandırma

Yönetim komut dosyalarını kullanarak "DB" şemasını taşıyacağım.

~/yourprojectdir/manage.py
~/yourprojectdir/manage.py migrate

Proje için bir yönetici kullanıcı oluşturun.

~/yourprojectdir/manage.py createsuperuser

Verilen dizindeki tüm statik içeriği toplar.

~/myprojectdir/manage.py collectstatic

Komutun doğrulanması gerekir. Bundan sonra, tüm dosyalar projenin "statik" dizinine taşınacaktır.

Ayrıca proje için kullanılacak portu da açın.

sudo ufw allow 2222

Kontrol Et

Framework sunucusunu başlatarak projemizi kontrol edin.

~/myprojectdir/manage.py runserver your_ip:2222

Çerçevenin çalışıp çalışmadığını kontrol etmek için web tarayıcısına gidin.

web tarayıcısı karşılama ekranı

Web kaynağına yetki verdikten sonra kontrol paneline yönlendirilirsiniz.

kontrol paneli

Çıktı

Bu yazıda size Ubuntu 20.04 sisteminizi Postgres veritabanı; Gunicorn web sunucusu ve yapılandırılmış Ngnix proxy ile bir Django projesi başlatmak için nasıl hazırlayacağınızı gösterdim.

Vote:
5 out of 5
Аverage rating : 5
Rated by: 1
34384 İstanbul İzzetpaşa Mah. Yeni Yol Cad. No:3 / 336 Şişli
+90 212 900-35-36
700 300
IT-GRAD NL B.V.
700 300
Hizmetlerimizi sunmak, analizler yapmak ve pazarlama için çerezleri kullanıyoruz. Çerez kullanımımız hakkında daha fazla bilgi edinmek için lütfen Gizlilik Politikamıza bakın. Web sitemize göz atmaya devam ederek çerez kullanımımızı kabul etmiş olursunuz.