دیپلوی پروژه Django روی Heroku: راهنمای جامع

دیپلوی پروژه Django روی Heroku: راهنمای جامع

این مقاله به آموزش گام به گام دیپلوی یک پروژه Django روی پلتفرم Heroku می‌پردازد. Heroku یک پلتفرم ابری محبوب برای میزبانی و اجرای برنامه‌های وب است که فرآیند دیپلوی را برای توسعه‌دهندگان ساده می‌کند. این آموزش برای توسعه‌دهندگان پایتون با تمرکز بر دیپلوی و DevOps با پایتون طراحی شده است.

پیش‌نیازها

قبل از شروع، اطمینان حاصل کنید که موارد زیر را دارید:

  • یک حساب کاربری Heroku
  • Heroku CLI نصب شده و پیکربندی شده
  • Git نصب شده
  • یک پروژه Django فعال
  • Python 3.6 یا بالاتر

مرحله ۱: آماده‌سازی پروژه Django

برای دیپلوی موفقیت‌آمیز، پروژه Django شما باید برای Heroku آماده شود. این شامل ایجاد فایل‌های مورد نیاز و پیکربندی پروژه است.

۱.۱. فایل requirements.txt

فایل requirements.txt شامل لیستی از تمام پکیج‌های پایتون مورد نیاز پروژه شما است. برای ایجاد این فایل، از دستور زیر در ترمینال استفاده کنید:

pip freeze > requirements.txt

این دستور تمام پکیج‌های نصب شده در محیط مجازی شما را در فایل requirements.txt ذخیره می‌کند.

۱.۲. فایل Procfile

فایل Procfile به Heroku می‌گوید که چگونه برنامه شما را اجرا کند. این فایل باید در ریشه پروژه شما ایجاد شود و محتوای آن به شکل زیر باشد:

web: gunicorn your_project_name.wsgi --log-file -

به جای your_project_name، نام پروژه Django خود را قرار دهید. gunicorn یک سرور WSGI است که برای اجرای برنامه‌های Django در محیط تولید استفاده می‌شود.

۱.۳. تنظیمات Django

تنظیمات Django شما باید برای محیط Heroku پیکربندی شود. این شامل تنظیم ALLOWED_HOSTS و DEBUG است.

  • ALLOWED_HOSTS: این تنظیمات مشخص می‌کند که کدام دامنه‌ها مجاز به دسترسی به برنامه شما هستند. در محیط تولید، باید دامنه Heroku خود را به این لیست اضافه کنید.
  • DEBUG: این تنظیمات باید در محیط تولید روی False تنظیم شود.

می‌توانید این تنظیمات را در فایل settings.py پروژه Django خود انجام دهید. برای مثال:

ALLOWED_HOSTS = ['your-heroku-app-name.herokuapp.com', '.herokuapp.com']
DEBUG = False

به جای your-heroku-app-name، نام برنامه Heroku خود را قرار دهید.

۱.۴. فایل staticfiles

Heroku به طور پیش‌فرض فایل‌های استاتیک (مانند CSS، JavaScript و تصاویر) را سرو نمی‌کند. برای سرو فایل‌های استاتیک، باید از یک سرویس CDN مانند Amazon S3 یا از افزونه‌های Heroku استفاده کنید. در این آموزش، از افزونه Collectstatic استفاده می‌کنیم.

ابتدا، باید فایل‌های استاتیک خود را جمع‌آوری کنید. برای این کار، از دستور زیر استفاده کنید:

python manage.py collectstatic

این دستور تمام فایل‌های استاتیک را در یک پوشه جمع‌آوری می‌کند.

مرحله ۲: ایجاد برنامه Heroku

پس از آماده‌سازی پروژه Django، می‌توانید یک برنامه Heroku ایجاد کنید.

۲.۱. ورود به Heroku

ابتدا، با استفاده از Heroku CLI وارد حساب کاربری خود شوید:

heroku login

۲.۲. ایجاد برنامه

سپس، یک برنامه Heroku ایجاد کنید:

heroku create your-app-name

به جای your-app-name، نام دلخواه برای برنامه خود را قرار دهید. اگر نامی را مشخص نکنید، Heroku به طور تصادفی یک نام برای شما انتخاب می‌کند.

مرحله ۳: دیپلوی پروژه

اکنون می‌توانید پروژه Django خود را روی Heroku دیپلوی کنید.

۳.۱. اضافه کردن ریموت Git

ابتدا، ریموت Git Heroku را به پروژه خود اضافه کنید:

heroku git:remote -a your-app-name

به جای your-app-name، نام برنامه Heroku خود را قرار دهید.

۳.۲. دیپلوی کد

سپس، کد خود را روی Heroku دیپلوی کنید:

git add .
git commit -m "Deploy to Heroku"
git push heroku master

این دستورات کد شما را به ریموت Heroku ارسال می‌کنند. Heroku به طور خودکار پروژه شما را نصب و اجرا می‌کند.

۳.۳. تنظیمات پیکربندی

برخی از تنظیمات پیکربندی را باید به صورت دستی در Heroku تنظیم کنید. این تنظیمات شامل تنظیمات پایگاه داده و کلیدهای مخفی است.

  • DATABASE_URL: این تنظیمات URL اتصال به پایگاه داده شما را مشخص می‌کند. Heroku به طور پیش‌فرض یک پایگاه داده PostgreSQL را برای شما فراهم می‌کند.
  • SECRET_KEY: این تنظیمات یک کلید مخفی است که برای رمزنگاری داده‌ها استفاده می‌شود.

می‌توانید این تنظیمات را با استفاده از دستور زیر تنظیم کنید:

heroku config:set DATABASE_URL=your_database_url SECRET_KEY=your_secret_key

به جای your_database_url و your_secret_key، مقادیر مناسب را قرار دهید.

۳.۴. اجرای Migrationها

پس از تنظیمات پیکربندی، باید Migrationهای پایگاه داده را اجرا کنید:

heroku run python manage.py migrate

مرحله ۴: بررسی دیپلوی

پس از دیپلوی، می‌توانید برنامه خود را در Heroku بررسی کنید.

۴.۱. باز کردن برنامه

برای باز کردن برنامه خود، از دستور زیر استفاده کنید:

heroku open

۴.۲. بررسی لاگ‌ها

برای بررسی لاگ‌های برنامه خود، از دستور زیر استفاده کنید:

heroku logs --tail

نکات تکمیلی

  • استفاده از محیط مجازی: همیشه از یک محیط مجازی برای مدیریت پکیج‌های پایتون خود استفاده کنید.
  • مدیریت کلیدهای مخفی: از یک سرویس مدیریت کلیدهای مخفی مانند HashiCorp Vault برای ذخیره و مدیریت کلیدهای مخفی خود استفاده کنید.
  • مانیتورینگ: از یک سرویس مانیتورینگ مانند New Relic یا Datadog برای نظارت بر عملکرد برنامه خود استفاده کنید.
  • مقیاس‌پذیری: Heroku امکان مقیاس‌پذیری برنامه‌های شما را فراهم می‌کند. می‌توانید تعداد Dynoهای خود را افزایش دهید تا عملکرد برنامه خود را بهبود بخشید.

این مقاله یک راهنمای جامع برای دیپلوی پروژه Django روی Heroku ارائه می‌دهد. با دنبال کردن این مراحل، می‌توانید به راحتی برنامه Django خود را روی Heroku دیپلوی و اجرا کنید.

بدون دیدگاه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *