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
amazon-s3-bulut-depolama

Amazon S3 nedir? Amazon'un bulut depolama hizmetine dair uzman incelemesi

Günümüz teknoloji dünyasında, her an büyük miktarda veri üretilip taşınıyor. Şirketler, geliştiriciler ve kullanıcılar güvenilir, ölçeklenebilir ve her zaman erişilebilir bir platforma ihtiyaç duyuyor. Bu bağlamda, Amazon S3 (Basit Depolama Hizmeti), veri depolamayı ve yönetimini daha basit ve daha güvenli hale getirmek için tasarlanmış popüler bir AWS hizmetidir.