
پلتفرم Flask
(Flask Platform)فهرست عناوین:
استقرار با Liara CLI
در صورتی که تمایلی به خواندن آموزش متنی ندارید میتوانید ویدیوی آموزشی زیر را مشاهده کنید.
نصب Liara CLI
اگر Liara CLI را نصب ندارید میتوانید با اجرای دستور زیر آن را بهراحتی نصب کنید: توضیحات بیشتر
$ npm install -g @liara/cli
ورود به حساب کاربری
برای ورود به حساب کاربری خود به وسیله Liara CLI کافیست دستور زیر را وارد کنید و ایمیل و رمزعبوری که با آن حساب کاربری خود را ایجاد کردهاید را وارد نمایید:
$ liara login
اولین استقرار
گام اول) کافیست به بخش ایجاد برنامهها در لیارا بروید و با انتخاب پلتفرم FLASK و نوشتن شناسه برنامهی موردنظرتان و در نهایت انتخاب پلن، برنامه خود را ایجاد کنید. برای نمونه، ما در این آموزش برای برنامه آزمایشیمان، شناسه flask-starter را انتخاب کردیم.همچنین شما میتوانید از طریق Liara CLI با دستور زیر برنامهی خود را ایجاد کنید.
liara create
گام دوم) کافیست وارد ریشه برنامهیتان شده و به وسیله دستور زیر اولین استقرار خود را اجرا کنید. بعد از وارد کردن، دستور از شما شناسه برنامه موردنظرتان را میپرسد و بعد از انتخاب شناسه، لیارا عملیات استقرار را شروع میکند.
$ liara deploy
برنامهی شما حتما باید فایلrequirements.txtرا داشته باشد و در این فایل باید لیست تمام پکیجهایی که استفاده کردهاید را وارد کنید. برای برنامههای Flask، دست کم باید پکیج Flask را در این فایل عنوان کرده باشید. یک نمونهی پروژهی Flask که آمادهی مستقر شدن در لیارا است را در لینک زیر میتوانید مشاهده کنید:
https://github.com/liara-cloud/flask-getting-started
بعد از وارد کردن دستور دیپلوی، Liara CLI به صورت خودکار، تشخیص خواهد داد که برنامهی شما را باید به عنوان یک برنامهی Flask اجرا کند و عملیات استقرار را آغاز خواهد کرد. اما اگر مشکلی در تشخیص وجود داشت، میتوانید از دستور زیر استفاده کنید:
$ liara deploy --platform=flask
گام سوم و پایانی) بعد از اجرای دستورات گامهای قبلی، لیارا به برنامه شما یک زیردامنه رایگان اختصاص میدهد که به وسیله آن میتوانید مطمئن شوید که برنامهیتان به صورت صحیح به بستر لیارا منتقل شده است یا خیر. این آدرس بر اساس شناسه برنامهی شما است، برای نمونه:
https://flask-starter.liara.run
خطاهای رایج در فرایند استقرار
لیارا برنامههای فلسک را با دستوری مشابه دستور زیر اجرا میکند:
$ gunicorn app:app
همانطور که در دستور بالا مشاهده میکنید، لیارا نام ماژول شما را بهصورت پیشفرضappدر نظر میگیرد. اما چنانچه شما از نام دیگری استفاده میکنید و در زمان دیپلوی خطای زیر را دریافت میکنید:
File "/usr/local/lib/python3.7/site-packages/gunicorn/util.py", line 350, in import_app
__import__(module)
ModuleNotFoundError: No module named 'app'
دو راه حل دارید. راه اول این است که نام ماژولتان را به appتغییر دهید و بعد دوباره liara deployرا وارد کنید. در غیر اینصورت، چنانچه قصد دارید که از همان نام ماژول خودتان استفاده کنید، لازم است که نام این ماژول را در فایلی بهنام liara.jsonتعریف کنید. این فایل باید در کنار requirements.txtساخته شود و محتویات آن بهشکل زیر باشد:
{
"flask": {
"appModule": "myname:app"
}
}
با اضافهکردن این فایل، دستورliara deployرا وارد کنید. حالا لیارا برنامهی شما را با دستور زیر اجرا خواهد کرد:
$ gunicorn myname:app
متوجه شدم، برو گام بعدی!