تشغيل تطبيق Django على استضافة الويب أو الخادم المُدار في Hetzner

0 الأسهم
0
0
0
0

مقدمة

في هذا البرنامج التعليمي، سنتعلم كيفية تشغيل تطبيق بايثون Django على خوادم Hetzner Webhosting أو Managed Server. Django هو إطار عمل ويب بايثون. يعمل الإطار افتراضيًا على WSGI (واجهة تطبيق خادم الويب)، ولكن mod_wsgi غير متوفر على خادم Apache المُدار. مع ذلك، هناك عدة طرق لتحويل WSGI إلى واجهات أخرى متوافقة.

المتطلبات الأساسية
  • استضافة الويب مع دعم SSH (الإصدار 9 أو أعلى) أو الخادم المُدار مع تمكين الوصول إلى SSH.

الخطوة 1 – تثبيت التبعيات

الخطوة 1.1 – تثبيت وتفعيل VirtualEnv
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
الخطوة 1.2 – تثبيت Django
pip install django
الخطوة 1.3 – تثبيت Flup (اختياري، مطلوب لـ FastCGI)
pip install flup

الخطوة 2 - إنشاء مشروع Django وتكوينه

الخطوة 2.1 – بدء المشروع
mkdir /usr/home/holu/djangoprojects env -C "/usr/home/holu/djangoprojects" django-admin startproject example_com
الخطوة 2.2 – تكوين المشروع

جميع المجالات المطلوبة للمتغير المضيفين المسموح لهم أضفه لجعله في متناول الجميع.

vim /home/holu/djangoprojects/example_com/example_com/settings.py

عن طريق الضرب أنا انتقل إلى "وضع الاستيراد" وأضف جميع المجالات المطلوبة:

ALLOWED_HOSTS = ['example.com']

عن طريق الضرب خروج العودة إلى "وضع الأوامر" و :wq أدخل للحفظ والخروج.

الخطوة 3 - تحضير جذر مستند خادم الويب

قم بإنشاء دليل موقع ويب فارغًا وتغيير جذر المستند في konsoleH.

mkdir -p /usr/home/holu/public_html/example_com
الخيار 1 – FastCGI

إنشاء .htaccess

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

عن طريق الضرب أنا انتقل إلى "وضع الاستيراد" وأدخل المحتوى التالي:

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

عن طريق الضرب خروج العودة إلى "وضع الأوامر" و :wq أدخل للحفظ والخروج.

إنشاء البرنامج النصي .fcgi

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()

تعيين إذن التنفيذ للمالك:

chmod 744 /usr/home/holu/public_html/example_com/djangoapp.fcgi
الخيار 2 – CGI

إنشاء .htaccess

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

عن طريق الضرب أنا انتقل إلى "وضع الاستيراد" وأدخل المحتوى التالي:

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

عن طريق الضرب خروج العودة إلى "وضع الأوامر" و :wq أدخل للحفظ والخروج.

إنشاء البرنامج النصي .cgi

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())

تعيين إذن التنفيذ للمالك:

chmod 744 /usr/home/holu/public_html/example_com/djangoapp.cgi

الخطوة 4 – الاختبار

للاختبار، تفضل بزيارة نطاقك. سترى شيئًا مشابهًا للصورة أدناه:

نتيجة

الآن يمكنك نشر تطبيقات Django الخاصة بك على نظام تشغيل مُدار.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

قد يعجبك أيضاً