giriiş
Bu eğitimde, Hetzner Webhosting veya Managed Server sunucularında bir Python Django uygulamasını nasıl çalıştıracağımızı öğreneceğiz. Django bir Python web framework'üdür. Varsayılan olarak, framework WSGI (web sunucusu-uygulama arayüzü) üzerinde çalışır, ancak mod_wsgi yönetilen bir Apache sunucusunda kullanılamaz. Bununla birlikte, WSGI'yi diğer uyumlu arayüzlere dönüştürmenin birkaç yolu vardır.
Ön koşullar
- SSH desteği olan webhosting (versiyon 9 veya üzeri) veya SSH erişimi etkinleştirilmiş Yönetilen Sunucu.
Adım 1 – Bağımlılıkları yükleyin
Adım 1.1 – Virtualenv'i yükleyin ve etkinleştirin
pip3 install --break-system-packages virtualenv mkdir /usr/home/holu/virtualenvs python3 -m virtualenv /usr/home/holu/virtualenvs/example_com . /usr/home/holu/virtualenvs/example_com/bin/activateAdım 1.2 – Django'yu Yükleme
pip kurulumu djangoAdım 1.3 – Flup'u yükleyin (isteğe bağlı, FastCGI için gerekli)
pip kurulumu flupAdım 2 – Django projesini oluşturun ve yapılandırın
Adım 2.1 – Projenin başlatılması
mkdir /usr/home/holu/djangoprojects env -C "/usr/home/holu/djangoprojects" Django-admin startproject example_comAdım 2.2 – Proje Yapılandırması
Değişkene istenen tüm etki alanları İZİN VERİLEN_ANA_SAHİPLER Erişilebilir kılmak için ekleyin.
vim /home/holu/djangoprojects/example_com/example_com/settings.pyVurarak BEN “İçe Aktarma Modu”na gidin ve istenen tüm alan adlarını ekleyin:
İZİN VERİLEN_ANA_SAYFALAR = ['example.com']Vurarak Esc "Komut moduna" geri dönün ve :wq Kaydedip çıkmak için enter tuşuna basın.
Adım 3 – Web Sunucusu Belge Kökünü Hazırlayın
Boş bir web sitesi dizini oluşturun ve konsoleH'deki belge kökünü değiştirin.
mkdir -p /usr/home/holu/public_html/example_comSeçenek 1 – FastCGI
.htaccess oluşturun
vim /usr/home/holu/public_html/example_com/.htaccessVurarak BEN “İçe Aktarma Modu”na gidin ve aşağıdaki içeriği girin:
RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ djangoapp.fcgi/$1 [QSA,L]Vurarak Esc "Komut moduna" geri dönün ve :wq Kaydedip çıkmak için enter tuşuna basın.
.fcgi betiği oluştur
vim /usr/home/holu/public_html/example_com/djangoapp.fcgi#!/usr/home/holu/virtualenvs/example_com/bin/python sys'yi içe aktar os'u içe aktar django'yu içe aktar flup.server.fcgi'den WSGIServer'ı içe aktar django.core.handlers.wsgi'den WSGIHandler'ı içe aktar sys.path.append("/usr/home/holu/djangoprojects/example_com") os.environ['DJANGO_SETTINGS_MODULE']="example_com.settings" django.setup(set_prefix=False) WSGIServer(WSGIHandler()).run()Sahibi için yürütme iznini ayarlayın:
chmod 744 /usr/home/holu/public_html/example_com/djangoapp.fcgiSeçenek 2 – CGI
.htaccess oluşturun
vim /usr/home/holu/public_html/example_com/.htaccessVurarak BEN “İçe Aktarma Modu”na gidin ve aşağıdaki içeriği girin:
RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ djangoapp.cgi/$1 [QSA,L]Vurarak Esc "Komut moduna" geri dönün ve :wq Kaydedip çıkmak için enter tuşuna basın.
.cgi betiği oluşturma
vim /usr/home/holu/public_html/example_com/djangoapp.cgi#!/usr/home/holu/virtualenvs/example_com/bin/python sys'yi içe aktar os'u içe aktar django'yu içe aktar wsgiref.handlers'ı içe aktar django.core.handlers.wsgi'den WSGIHandler'ı içe aktar sys.path.append("/usr/home/holu/djangoprojects/example_com") os.environ['DJANGO_SETTINGS_MODULE']="example_com.settings" django.setup(set_prefix=False) wsgiref.handlers.CGIHandler().run(WSGIHandler())Sahibi için yürütme iznini ayarlayın:
chmod 744 /usr/home/holu/public_html/example_com/djangoapp.cgi4. Adım – Test Etme
Test etmek için alan adınızı ziyaret edin. Aşağıdaki görsele benzer bir şey görmelisiniz:
Sonuç
Artık Django uygulamalarınızı yönetilen bir işletim sistemine dağıtabilirsiniz.










