Hetzner'da Webhosting veya Yönetilen Sunucuda Django Uygulamasını Çalıştırma

0 Hisse senetleri
0
0
0
0

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/activate
Adım 1.2 – Django'yu Yükleme
pip install django
Adım 1.3 – Flup'u yükleyin (isteğe bağlı, FastCGI için gerekli)
pip install flup

Adı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_com
Adı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.py

Vurarak BEN “İçe Aktarma Modu”na gidin ve istenen tüm alan adlarını ekleyin:

ALLOWED_HOSTS = ['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_com
Seçenek 1 – FastCGI

.htaccess oluşturun

vim /usr/home/holu/public_html/example_com/.htaccess

Vurarak BEN “İçe Aktarma Modu”na gidin ve aşağıdaki içeriği girin:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ djangoapp.fcgi/$1 [QSA,L]
</IfModule>

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
import sys
import os
import django
from flup.server.fcgi import WSGIServer
from django.core.handlers.wsgi import WSGIHandler
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.fcgi
Seçenek 2 – CGI

.htaccess oluşturun

vim /usr/home/holu/public_html/example_com/.htaccess

Vurarak BEN “İçe Aktarma Modu”na gidin ve aşağıdaki içeriği girin:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ djangoapp.cgi/$1 [QSA,L]
</IfModule>

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
import sys
import os
import django
import wsgiref.handlers
from django.core.handlers.wsgi import WSGIHandler
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.cgi

4. 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.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Ayrıca Şunları da Beğenebilirsiniz