ارائه دهنده خدمات ابری PaaS و DBaaS

flask

برنامه‌های Flask

(Flask Apps)

استقرار اولین برنامه

فهرست عناوین:

نصب Liara CLI

اگر Liara CLI را نصب ندارید می‌توانید با اجرای دستور زیر آن‌ را به‌راحتی نصب کنید: توضیحات بیشتر

$ npm install -g @liara/cli

ورود به حساب کاربری

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

$ liara login

اولین استقرار

گام اول) کافیست به بخش ایجاد برنامه‌ها در لیارا بروید و با انتخاب پلتفرم FLASK و نوشتن شناسه برنامه‌ی موردنظرتان و در نهایت انتخاب پلن، برنامه خود را ایجاد کنید. برای نمونه، ما در این آموزش برای برنامه آزمایشی‌مان، شناسه flask-starter را انتخاب کردیم.

گام دوم) کافیست وارد ریشه برنامه‌ی‌تان شده و به وسیله دستور زیر اولین استقرار خود را اجرا کنید. بعد از وارد کردن، دستور از شما شناسه برنامه‌ موردنظرتان را می‌پرسد و بعد از انتخاب شناسه، لیارا عملیات استقرار را شروع می‌کند.

$ liara deploy

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

https://github.com/liara-cloud/flask-getting-started

بعد از وارد کردن دستور دیپلوی، Liara CLI به صورت خودکار، تشخیص خواهد داد که برنامه‌ی شما را باید به عنوان یک برنامه‌ی Flask اجرا کند و عملیات استقرار را آغاز خواهد کرد. اما اگر مشکلی در تشخیص وجود داشت، می‌توانید از دستور زیر استفاده کنید:

$ liara deploy --platform=flask
لیارا به صورت خودکار پکیج‌هایی که در فایل‌هایrequirements.txtلیست شده‌اند را برای شما نصب می‌کند. پس نیازی ندارید که به دنبال اجرای دستوراتpip installباشید. از آن‌جایی که اجرای این دستورات زمان‌بر است، برای سرعت بیشتر، این دستورات را روی سرورهای قدرتمندمان اجرا می‌کنیم تا زمان زیادی را منتظر نمانید.

گام سوم و پایانی) بعد از اجرای دستورات گام‌های قبلی، لیارا به برنامه شما یک زیردامنه رایگان اختصاص می‌دهد که به وسیله آن می‌توانید مطمئن شوید که برنامه‌ی‌تان به صورت صحیح به بستر لیارا منتقل شده است یا خیر. این آدرس بر اساس شناسه برنامه‌ی شما است، برای نمونه:

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
متوجه شدم، برو گام بعدی!