كيفية استخدام PostgreSQL مع تطبيق Django على خادم يعمل بنظام Debian 8
مقدمة
يعد استخدام PostgreSQL مع تطبيق Django على خادم يعمل بنظام Debian 8 خيارًا مثاليًا لتطوير تطبيقات الويب ذات الأداء العالي. تعد PostgreSQL واحدة من أقوى قواعد البيانات مفتوحة المصدر وأكثرها مرونة، بينما يعد Django أحد أشهر الأطر البرمجية لتطوير تطبيقات الويب بلغة Python. في هذا المقال، سنتناول كيفية إعداد بيئة عمل متكاملة باستخدام هذه التقنيات على خادم Debian 8.
المتطلبات المبدئية
قبل البدء في إعداد PostgreSQL مع Django على Debian 8، يجب التأكد من وجود بعض المتطلبات الأساسية:
-
خادم Debian 8: يجب أن يكون لديك خادم يعمل بنظام Debian 8 أو إصدار مماثل.
-
Python وpip: Django مكتوب بلغة Python، وبالتالي يجب أن يكون لديك Python مثبتًا على الخادم.
-
PostgreSQL: يجب أن يكون لديك قاعدة بيانات PostgreSQL تعمل على الخادم.
-
Django: يجب أن يكون لديك Django مثبتًا من خلال pip.
الخطوة 1: تثبيت PostgreSQL على خادم Debian 8
تثبيت PostgreSQL على Debian 8 يعد أمرًا بسيطًا باستخدام مدير الحزم apt. للبدء، قم بتحديث النظام أولًا:
bashsudo apt-get update sudo apt-get upgrade
ثم قم بتثبيت PostgreSQL باستخدام الأمر التالي:
bashsudo apt-get install postgresql postgresql-contrib
هذا الأمر سيقوم بتثبيت PostgreSQL وكذلك بعض الإضافات المفيدة مثل الأدوات المساعدة لـ PostgreSQL.
الخطوة 2: إعداد PostgreSQL
بمجرد اكتمال التثبيت، يجب إنشاء قاعدة بيانات ومستخدم خاص بتطبيق Django. يمكنك تنفيذ هذه العمليات من خلال سطر الأوامر باستخدام أدوات PostgreSQL.
-
قم بتسجيل الدخول إلى PostgreSQL كـ superuser:
bashsudo -u postgres psql
-
لإنشاء قاعدة بيانات جديدة، استخدم الأمر التالي داخل واجهة
psql:
sqlCREATE DATABASE mydatabase;
-
ثم أنشئ مستخدمًا جديدًا في PostgreSQL ومنحه صلاحيات على القاعدة التي أنشأتها:
sqlCREATE USER myuser WITH PASSWORD 'mypassword';
GRANT ALL PRIVILEGES ON DATABASE mydatabase TO myuser;
-
بعد الانتهاء، يمكنك الخروج من واجهة
psqlبكتابة:
sql\q
الخطوة 3: تثبيت Django و psycopg2
الخطوة التالية هي تثبيت Django وملحق psycopg2 الذي يسمح لـ Django بالتفاعل مع قاعدة بيانات PostgreSQL. ابدأ بتثبيت Django من خلال pip:
bashpip install django
ثم قم بتثبيت psycopg2:
bashpip install psycopg2
يعد psycopg2 مكتبة Python تتيح الاتصال بين تطبيق Django وقاعدة بيانات PostgreSQL.
الخطوة 4: إعداد Django لاستخدام PostgreSQL
بمجرد تثبيت Django و psycopg2، يمكنك بدء إعداد مشروع Django للاتصال بقاعدة بيانات PostgreSQL التي قمت بإنشائها. بدايةً، قم بإنشاء مشروع Django جديد إذا لم تكن قد قمت بذلك مسبقًا:
bashdjango-admin startproject myproject
cd myproject
بعد ذلك، قم بتعديل إعدادات الاتصال بقاعدة البيانات في ملف settings.py داخل مجلد المشروع.
-
افتح الملف
settings.pyفي محرر النصوص المفضل لديك. -
ابحث عن قسم
DATABASESفي الملف، والذي يحتوي على إعدادات قاعدة البيانات الافتراضية. -
استبدل الإعدادات الافتراضية (التي تستخدم SQLite) بالإعدادات الخاصة بـ PostgreSQL كما يلي:
pythonDATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'mydatabase', # اسم القاعدة التي أنشأتها
'USER': 'myuser', # اسم المستخدم الذي أنشأته
'PASSWORD': 'mypassword', # كلمة المرور الخاصة بالمستخدم
'HOST': 'localhost',
'PORT': '5432', # المنفذ الافتراضي ل PostgreSQL
}
}
الخطوة 5: إجراء الترحيلات (Migrations)
الآن بعد أن قمت بتعديل إعدادات قاعدة البيانات في Django، تحتاج إلى تنفيذ الترحيلات لتطبيق التغييرات على قاعدة البيانات. هذه الترحيلات هي التي تخلق الجداول اللازمة لتخزين بيانات التطبيق.
-
قم بتطبيق الترحيلات الأولية باستخدام الأمر التالي:
bashpython manage.py migrate
-
يمكنك التحقق من حالة الترحيلات عن طريق:
bashpython manage.py showmigrations
الخطوة 6: بدء خادم Django
بعد إعداد قاعدة البيانات وتنفيذ الترحيلات، يمكنك الآن تشغيل خادم Django على الخادم المحلي. للقيام بذلك، استخدم الأمر التالي:
bashpython manage.py runserver 0.0.0.0:8000
سيقوم هذا الأمر بتشغيل الخادم على جميع الواجهات (0.0.0.0) والمنفذ 8000.
الخطوة 7: ضبط إعدادات الإنتاج
عند نشر التطبيق في بيئة الإنتاج، يجب اتخاذ بعض الإجراءات الإضافية لضمان أن التطبيق يعمل بشكل آمن وفعال:
-
إعدادات قواعد البيانات: تأكد من أن
DATABASESفيsettings.pyتم تكوينه بشكل صحيح لاستخدام قاعدة البيانات على الخادم الإنتاجي. -
حماية التطبيق: استخدم
ALLOWED_HOSTSفيsettings.pyلتحديد أسماء النطاقات (domains) التي يمكن الوصول إلى التطبيق من خلالها. -
إعدادات الأمان: تأكد من تكوين
SECRET_KEYبشكل آمن، ويمكنك استخدام متغيرات البيئة للحفاظ على السرية. -
استخدام PostgreSQL في بيئة الإنتاج: في بيئة الإنتاج، يفضل استخدام PostgreSQL في وضع الاتصال الآمن باستخدام SSL. هذا يتطلب تكوين إضافي في PostgreSQL وDjango.
الخطوة 8: تثبيت Nginx و Gunicorn
لتحسين أداء التطبيق في بيئة الإنتاج، يمكنك استخدام خادم WSGI مثل Gunicorn مع خادم HTTP مثل Nginx. للبدء، قم بتثبيت Gunicorn:
bashpip install gunicorn
ثم قم بتشغيل التطبيق باستخدام Gunicorn:
bashgunicorn myproject.wsgi:application
أما بالنسبة لـ Nginx، يمكنك تثبيته وتكوين خادم ويب عكسي للتوجيه إلى Gunicorn.
الخطوة 9: مراقبة الأداء
بعد نشر التطبيق، من الضروري مراقبة أداء قاعدة البيانات والتطبيق. يمكنك استخدام أدوات مثل pgAdmin لإدارة PostgreSQL أو django-debug-toolbar لمراقبة أداء التطبيق أثناء تطويره.
الختام
تعد عملية إعداد PostgreSQL مع Django على خادم Debian 8 عملية مباشرة لكنها تتطلب بعض الخطوات الأساسية لضمان تكامل وتكافؤ الأداء بين المكونات المختلفة. باتباع هذه الخطوات، يمكنك إنشاء تطبيقات ويب قوية ومؤمنة باستخدام Django و PostgreSQL على الخادم الخاص بك.

