جنگو (Django) یکی از محبوب‌ترین فریم‌ورک‌های پایتون برای توسعه وب‌اپلیکیشن‌هاست. پس از توسعه پروژه، نیاز دارید اون رو روی یک هاست واقعی deploy کنید. cPanel یکی از رایج‌ترین کنترل پنل‌های هاستینگ هست که امکان مدیریت سرور و وب‌سایت رو به شما میده. در این پست، مراحل deploy پروژه جنگو روی هاست cPanel رو یاد می‌گیرید.

پیش‌نیازها:

  1. یک پروژه جنگو
  2. یک هاست cPanel که از پایتون پشتیبانی کند (پیشنهاد ما پایتون هاست میباشد)
  3. اگر پروژه شما از دیتابیس استفاده می‌کنه، مطمئن شوید دیتابیس (مثل MySQL) روی هاست فعال هست.

گام‌به‌گام پیاده‌سازی پروژه جنگو روی cPanel

۱. فشرده‌سازی پروژه جنگو

پروژه جنگو رو فشرده کنید (ترجیحاً با فرمت .zip) و فایل‌های غیرضروری مثل __pycache__ و venv رو حذف کنید.

۲. آپلود پروژه به هاست

وارد cPanel شوید، از بخش File Manager، به پوشه public_html بروید، پروژه فشرده‌شده رو آپلود کنید و سپس آن را extract کنید.

3. نصب کتابخانه‌های مورد نیاز

از طریق Terminal در cPanel یا با استفاده از SSH، به سرور متصل شوید و فایل requirements.txt پروژه رو نصب کنید:

pip install -r requirements.txt
# اگر فایل requirements.txt ندارید، کتابخانه‌های مورد نیاز رو به صورت دستی نصب کنید
pip install django gunicorn

4. تنظیمات پروژه جنگو

فایل settings.py پروژه رو باز کنید و تغییرات زیر رو اعمال کنید:

ALLOWED_HOSTS = ['yourdomain.com', 'www.yourdomain.com'] STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

سپس از طریق کد زیر فایل‌های استاتیک رو جمع‌آوری کنید:

python manage.py collectstatic

5. تنظیم دیتابیس

اگر از دیتابیس SQLite استفاده می‌کنید، نیازی به تغییر نیست.

اگر از دیتابیس MySQL استفاده می‌کنید، تنظیمات settings.py رو به این شکل تغییر بدید:

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'your_database_name',
'USER': 'your_database_user',
'PASSWORD': 'your_database_password',
'HOST': 'localhost',
'PORT': '3306',
}
}

سپس migrations رو اجرا کنید:

python manage.py migrate

6. راه‌اندازی پروژه با Gunicorn
Gunicorn یک WSGI سرور هست که برای اجرای پروژه‌های جنگو استفاده می‌شه.

با کامند زیر پروژه رو با Gunicorn اجرا کنید:

gunicorn your_project_name.wsgi:application

7. تنظیمات cPanel برای اجرای پروژه

از بخش Setup Python App در cPanel، یک اپلیکیشن پایتون ایجاد کنید.

مسیر پروژه رو به public_html/your_project_folder تنظیم کنید و در بخش Application URL، دامنه یا ساب‌دامین خودتون رو انتخاب کنید.

8. تنظیمات فایل .htaccess

در پوشه public_html، یک فایل .htaccess ایجاد کنید و کد زیر رو به آن اضافه کنید:

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/static/
RewriteCond %{REQUEST_URI} !^/media/
RewriteRule ^(.*)$ /your_project_folder/$1 [L]

9. راه‌اندازی نهایی

پروژه رو از طریق دامنه خودتون تست کنید.

اگر همه چیز درست تنظیم شده باشه، پروژه شما باید به درستی اجرا بشه :)))