استراتژی توسعه

جنگو

سلام

در زیر تصویری از استراتژی کلی ما در این آموزش را می بینی:

در این آموزش برای تهیۀ VPS از شرکت معتبر Digital Ocean استفاده شده است. در صورتی که مشکل خرید از دیجیتال اوشن رو دارید می توانید از شرکت tamadon.org تهیه کنید.

ضمناً از Nginx به عنوان وب سرور استفاده کرده ایم. Nginx در سمت سرور تمام درخواست ها را دریافت می کند اما هیچ کار هوشمندانه ای روی داده انجام نمی دهد. تمام کاری که انجام می دهد این است که درخواست ها را دریافت کرده سپس آن درخواست را به Gunicorn عبور دهد.

همچنین پیکربندی گواهینامۀ https در Nginx صورت می پذیرد. به این معنا که تنها درخواست های https معتبر بوده و در صورتی که کاربر تلاش نماید تا درخواست خود را از طریق http ارسال کند، Nginx در وهلۀ اول درخواست او را به https ریدایرکت کرده و سپس در مورد آن تصمیم می گیرد.

همچنین certbot را با هدف نوسازی خودکار گواهینامۀ Let’s Encrypt نصب خواهیم کرد.

Gunicorn یک برنامۀ تحت سرور است که بسته به تعداد پردازشگرهای سرور، درخواست ها را به صورت موازی و به صورت همزمان به پردازشگر ارسال می کند. بنابراین باعث افزایش بهره‌وری در سرور خواهد شد. این برنامه تراکم کاری را مدیریت و کدهای جنگو و پایتون را اجرا می کند.

جنگو کسی است که کار سخت بر دوش اوست! او به دیتابیس PostgreSQL و فایل های سیستمی دسترسی دارد اما در بیشتر مواقع کار او مربوط به ویوها، رندر قالب ها و پردازش تمام کدهایی است که در برنامه زده شده است. بعد از پردازش درخواست توسط جنگو، پاسخ به Gunicorn ارسال شده و Gunicorn نتیجه را به Nginx ارسال می نماید و کاربر نیز پاسخ خود را از Nginx دریافت می کند.

در ادامه، PostgreSQL را به عنوان دیتابیسی با کیفیت نصب خواهیم کرد. به لطف سیستم ORM در جنگو،  امکان تعویض دیتابیس در برنامه به راحتی امکان پذیر است.

آخرین اقدام نیز مربوط به نصب Supervisor خواهد بود. این یک سیستم کنترل پردازش است و بر روی عملکرد جنگو و Gunicorn نظارت دارد تا همه چیز به درستی کار کند. اگر سرور ریست شود یا Gunicorn دچار فروپاشی و کرش شود توسط سورپروایزر و به صورت خودکار از نو راه اندازی و ریست خواهد شد.

ترجمۀ اختصاصی توسط تمدن

 

مطلب بعدی:

مطلب قبلی:

بدون دیدگاه

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

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

جنگو
پیکربندی گواهینامۀ https

سلام حالا می خواهیم برنامۀ خودمان را با گواهینامۀ https امن کنیم. ساده ترین کار برای انجام آن Let’s Encrypt است. قبل از Let’s Encrypt هرگز تنظیمات https به این راحتی نبوده و مهمتر اینکه اینکار کاملاً رایگان است. آن ها راه حلی به نام certbot را ارائه داده اند …

جنگو
پیکربندی سرویس ایمیل

سلام یکی از بهتر سرویس دهنده های ایمیل Mailgun با قابلیت ۱۲ هزار ایمیل رایگان در ماه است. به صورت رایگان ثبت نام کنید. برای اینکار باید آن را با سرویس دهندۀ دامین خود تنظیم کنید که در این آموزش از tamadon.org استفاده شده است. حالا اولین رکورد DNS را …

جنگو
پیکربندی NGINX

سلام کار بعدی که قرار است انجام شود؛ تنظیمان Nginx به شکلی است که پاسخگویی و سرویس دهی مربوط به فایل های استاتیک را خود انجام دهد و سایر درخواست ها را به Gunicorn بفرستد. یک فایل پیکربندی با نام boards را درون /etc/nginx/sites-available/ و با محتوای زیر اضافه می …

هرگونه استفادۀ از این آموزش به صورت رایگان و با ارجاع به تمدن جایز است.