Debian 8de Django kurulumu

Bu eğitimde Debian 8'de (jessie) Django'nun nasıl kurulacağı açıklanmaktadır. Python 2 ve 3'ün yanı sıra Nginx ve PostgreSQL'in nasıl kullanılacağını göstereceğim.

Bu öğreticide yapılan her şey kök olarak yapılır.

Paketleri Yükle

Başlamak için bazı paketler yüklememiz gerekiyor.

Python 2 için:

apt-get install python-pip python-dev virtualenv nginx postgresql postgresql-contrib libpq-dev sudo gcc

Python 3 için:

apt-get install python3-pip python3-dev virtualenv nginx postgresql postgresql-contrib libpq-dev sudo gcc

Kurulum Veritabanları

Önce kullanıcıya giriş yapıyoruz postgres.

sudo -u postgres -s

Ardından, yeni bir veritabanı oluşturuyoruz. Veritabanı adı, olmasını istediğiniz her şey olabilir ( dbnameburada kullanılır), ancak kurulumun geri kalanıyla tutarlı olmanız gerekir.

createdb dbname

Yeni veritabanı için bir kullanıcı oluşturun. Yine, olmasını istediğiniz her şey olabilir, ama kullandım dbuser. Bu aynı zamanda bir şifre belirlemenizi de isteyecektir.

createuser -P dbuser

Artık kullanıcıya veritabanına erişim izni verilmelidir. Doğru veritabanı adını ve kullanıcı adını kullandığınızdan emin olun.

psql
postgres=# GRANT ALL PRIVILEGES ON DATABASE dbname TO dbuser;
postgres=# \q

Kökten çıkın.

exit

PostgreSQL'i etkinleştirin ve başlatın:

systemctl enable postgresql
systemctl start postgresql

Sanal Ortamı Kurun

Sadece global python dosyalarını kullanmak yerine sanal bir ortam kullanacağız. Her şeyi tutacak bir dizin oluşturarak başlıyoruz.

mkdir -p /opt/project

Şimdi ortamı yaratıyoruz. Bu, python 2 ve 3 kullanıcıları için farklıdır.

Python 2 için:

virtualenv . -p python

Python 3 için:

virtualenv . -p python3

Sanal ortama girin.

source bin/activate

Django, gunicorn ve psycopg2'yi yükleyin.

pip install django
pip install gunicorn
pip install psycopg2

Django'nun belirli bir sürümüne ihtiyacınız varsa, install komutunu aşağıdaki biçime uyacak şekilde değiştirin. Bu örnek 1.7.8'i yükler.

pip install django==1.7.8

Şimdilik bunu yaptık, böylece sanal ortamımızı devre dışı bırakabiliriz.

deactivate

Proje Yükleme ve Yapılandırma

Bu, projemizi sunucuya yüklediğimiz zamandır ve tüm ayarlarının doğru olduğundan emin oluruz. Bunu yapmak için herhangi bir yöntemi kullanabilirsiniz. FTP, SFTP, git, vb. Projenin kodunu izlemek için git kullanıyorsanız, sadece sunucuya kopyalayabilirsiniz. Bu git komutu projeyi sunucuya kopyalar ve yerleştirir /opt/project/project/.

git clone http://example.com:project.git

settings.pyherhangi bir metin taray��cıda dosyayı.

İlk önce hata ayıklama modunun kapalı olması gerekir. Arayın DEBUG = Truehat ve değişim Trueiçin False. Bundan sonra, bir ALLOWED_HOSTSdeğere ayarladığınızdan emin olun .

ALLOWED_HOSTS = ['*']

DATABASESSözlüğü arayın ve şöyle görünmelidir:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'dbname',
        'USER': 'dbuser',
        'PASSWORD': 'password you set',
        'HOST': 'localhost',
        'PORT': ''
    }
}

Buradaki son adım statik bir kök ayarlamaktır. Aşağıdakileri doğrudan aşağıya yerleştirin STATIC_URL.

STATIC_ROOT = '/opt/project/static/'

Dosyadan çıkın ve statik kök dizini oluşturun.

mkdir -p /opt/project/static

Şimdi veritabanını taşıyın, bir süper kullanıcı oluşturun ve tüm statik dosyaları toplayın.

cd /opt/project/project
../bin/python manage.py makemigrations
../bin/python manage.py migrate
../bin/python manage.py createsuperuser
../bin/python manage.py collectstatic

Gunicorn'u yapılandır

Gunicorn, kullanacağımız WSGI sunucusudur. Debian 8 systemd ile geldiğinden, sunucuyu başlatmak ve durdurmak için systemd'den yararlanacağız.

Dosyayı oluşturun /etc/systemd/system/django.serviceve aşağıdaki içeriği ekleyin.

[Unit]
Description=Django with Gunicorn
After=network.target

[Service]
User=root
Group=root
WorkingDirectory=/opt/project
ExecStart=/opt/project/bin/gunicorn --workers 3 --bind 127.0.0.1:8000 project.wsgi

[Install]
WantedBy=multi-user.target

Oluşturduğumuz hizmeti etkinleştirin ve başlatın.

systemctl enable django.service
systemctl start django.service

nginx

Gunicorn sunucusunu bağladığımızı fark etmiş olabilirsiniz 127.0.0.1. Şimdi sunucu dışından erişmenin bir yoluna ihtiyacımız var. İşte bu noktada Nginx devreye giriyor.

Yeni dosyayı oluşturun /etc/nginx/sites-available/djangove aşağıdakileri ekleyin. domain.example.comParçası olmak gerek ne olursa olsun ayarlanabilir.

server {
        listen 80;
        server_name domain.example.com;
        access_log off;

        location /static/ {
                alias /opt/project/static/;
        }

        location / {
                proxy_pass http://127.0.0.1:8000;
        }
}

Bu siteyi etkinleştirmek için sembolik bir bağlantı oluşturun.

ln -s /etc/nginx/sites-available/django /etc/nginx/sites-enabled/django

Nginx'i etkinleştirin ve başlatın.

systemctl enable nginx
systemctl start nginx

Sonuç

Tebrikler, Debian VPS'nizde çalışan bir Django siteniz var.

Yorum bırak

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7de LibreNMS Kullanarak Cihazlarınızı İzleyin

CentOS 7 üzerinde LibreNMS kullanarak ağ cihazlarınızı etkili bir şekilde izleyin. Ağ izleme için gerekli adımları ve yapılandırmaları öğrenin.

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive Server Nasıl Kurulur?

Counter-Strike: Global Offensive sunucusu kurmak için gerekli adımlar. Gerekli araçlar ve yükleme süreci hakkında bilgi.

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

Ubuntu 16.04 LTS Üzerinde OpenNMS Kurulumu

OpenNMS, çok sayıda cihazı izlemek ve yönetmek için kullanılabilen bir açık kaynak ağ yönetim platformudur. Ubuntu 16.04 LTS üzerinde OpenNMS kurulumu için tüm adımları keşfedin.

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Ubuntu 16.04te LibreNMS Kullanarak Cihazlarınızı İzleyin

Farklı Bir Sistem mi Kullanıyorsunuz? LibreNMS tam özellikli bir açık kaynak ağ izleme sistemidir.

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.