استراتژی توسعه
سلام
در زیر تصویری از استراتژی کلی ما در این آموزش را می بینی:
در این آموزش برای تهیۀ 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 دچار فروپاشی و کرش شود توسط سورپروایزر و به صورت خودکار از نو راه اندازی و ریست خواهد شد.
ترجمۀ اختصاصی توسط تمدن
مطلب بعدی:
مطلب قبلی:
دیدگاه خود را ثبت کنید
تمایل دارید در گفتگو شرکت کنید؟نظری بدهید!