مقدمه
تاکنون، اپلیکیشن Learning Log ما تنها روی کامپیوتر خودمان قابل دسترسی بوده است. «استقرار»
یا Deployment فرآیندی است که در آن، ما اپلیکیشن خود را روی یک سرور وب قرار میدهیم تا هر
کسی در هر کجای دنیا بتواند از طریق اینترنت به آن دسترسی داشته باشد.
ما برای استقرار پروژه خود از پلتفرم Heroku استفاده خواهیم کرد. Heroku یک «پلتفرم
به عنوان سرویس» (PaaS) است که فرآیند استقرار را بسیار ساده میکند و به ما اجازه میدهد تا بدون
درگیر شدن با مدیریت سرور، اپلیکیشن خود را به سرعت آنلاین کنیم.
آمادهسازی پروژه برای استقرار
قبل از استقرار، باید چند فایل پیکربندی به پروژه خود اضافه کنیم تا به Heroku بگوییم چگونه
برنامه ما را اجرا کند.
۱. مدیریت وابستگیها با requirements.txt
ما باید لیستی از تمام پکیجهای پایتون که پروژه ما به آنها نیاز دارد را در یک فایل به نام
requirements.txt قرار دهیم. Heroku از این فایل برای نصب وابستگیها روی سرور
استفاده خواهد کرد.
(ll_env) $ pip freeze > requirements.txt
۲. ایجاد Procfile
یک Procfile یک فایل متنی بدون پسوند است که به Heroku میگوید چه دستوری را برای شروع وب
سرور ما اجرا کند. ما از وب سرور Gunicorn برای این کار استفاده خواهیم کرد.
(ll_env) $ pip install gunicorn
سپس فایل Procfile را با محتوای زیر ایجاد میکنیم:
web: gunicorn learning_log.wsgi --log-file -
۳. پیکربندی تنظیمات برای Heroku
ما باید فایل settings.py را طوری تغییر دهیم که با محیط Heroku سازگار باشد. این
شامل افزودن نام اپلیکیشن ما به ALLOWED_HOSTS و نصب یک پکیج برای مدیریت پایگاه داده
PostgreSQL (که توسط Heroku استفاده میشود) است.
استقرار با Git و Heroku CLI
پس از آمادهسازی پروژه، فرآیند استقرار شامل چند مرحله ساده با استفاده از Git و ابزار خط
فرمان Heroku (Heroku CLI) است.
- نصب Heroku CLI: ابتدا باید ابزار خط فرمان Heroku را از وبسایت رسمی آن دانلود و نصب
کنید.
- لاگین کردن: با دستور heroku login در ترمینال، به حساب کاربری Heroku خود وارد شوید.
- ایجاد اپلیکیشن در Heroku: با دستور heroku create، یک اپلیکیشن جدید در Heroku ایجاد
کنید. این دستور یک نام تصادفی برای اپ شما ایجاد کرده و یک ریموت Git به نام heroku
به پروژه شما اضافه میکند.
- ارسال کد به Heroku: در نهایت، کد خود را با یک دستور ساده git push به Heroku
ارسال کنید.
$ git push heroku main
پس از اجرای این دستور، Heroku به صورت خودکار کد شما را دریافت کرده، وابستگیها را از
requirements.txt نصب میکند، پایگاهداده را migrate میکند، و وب سرور را بر اساس
Procfile اجرا میکند. پس از چند لحظه، اپلیکیشن شما روی یک آدرس عمومی در دسترس خواهد بود.
پایان دوره
در این درس، ما با موفقیت اپلیکیشن وبلاگ خود را روی یک سرور زنده مستقر کردیم. با این کار، نه تنها
پروژه ما به یک محصول واقعی تبدیل شد، بلکه شما با یک گردش کار استاندارد برای استقرار اپلیکیشنهای
وب آشنا شدید.
تبریک میگویم! شما دوره جامع آموزش پایتون را با موفقیت به پایان رساندید. شما از
مفاهیم پایهای زبان شروع کرده، با اصول شیءگرایی و کار با فایلها آشنا شدید، پروژههای عملی در
زمینه بازیسازی و تحلیل داده انجام دادید و در نهایت، یک وب اپلیکیشن کامل را با فریمورک قدرتمند
Django ساختید و آن را در دسترس تمام دنیا قرار دادید. شما اکنون یک پایه بسیار محکم برای ادامه
مسیر خود در دنیای گسترده و هیجانانگیز برنامهنویسی پایتون در اختیار دارید. موفق باشید!