چگونه یک وبسایت وب جنگو را در AWS Cloud9 توسعه دهیم
مقدمه
با سلام خدمت تمامی شما مخاطبین خوب وبسایت پایتونی ها با یک مقاله آموزشی دیگر در خدمت شما دوستان خوب هستیم تا در مورد یکی از مباحث جنگو با هم آموزش بپردازیم، در این مقاله آموزشی می خواهیم با استفاده از جنگو و وبسایت جنگویی خودمان را در سیستم AWS Cloud9 توسعه دهیم.
خدمات وب آمازون یک سرور توسعه یکپارچه آنلاین (IDE) ارائه می دهد تا بتوانید کد خود را فقط با یک مرورگر توسعه دهید، اشکال زدایی و اجرا کنید.
این سرویس AWS Cloud9 نام دارد و مانند تقریباً هر چیز دیگری در AWS، شما فقط برای آنچه نیاز دارید پرداخت می کنید.
هزینههای محاسباتی و ذخیرهسازی تنها هزینهها هستند و اگر از Cloud9 حدوداً 4 ساعت در روز به مدت 20 روز استفاده کنید، حدود 2.00 دلار برای شما هزینه خواهد داشت.
این مقاله توضیح کاملی درباره نحوه تنظیم تنظیمات پیشفرض AWS Cloud9 برای توسعه یک پروژه جنگو، یک چارچوب وب مبتنی بر پایتون است .
- نحوه ایجاد یک حساب کاربری AWS
- مکان یابی سرویس Cloud9
- ایجاد یک محیط جدید Cloud9
- شروع کار با AWS Cloud9
- نحوه ایجاد یک محیط مجازی در Cloud9
- نصب چارچوب وب جنگو
- ایجاد یک پروژه جنگو و برنامه وب
- نحوه اجرای سرور Cloud9
- خطای جنگو هنگام تلاش برای اجرای سرور Cloud9
- استقرار از Cloud9 به AWS EB
نحوه ایجاد یک حساب کاربری AWS
برای شروع، باید یک حساب AWS ایجاد کنید . این فرآیند ساده است و فقط برای خدماتی که در AWS استفاده می کنید، هزینه دریافت خواهید کرد.
مکان یابی سرویس Cloud9
پس از ثبت نام، روی نوار جستجو کلیک کنید و سرویس “Cloud9” را جستجو کنید.
یا به قسمت Developer Tools در زیر All Services بروید و روی “Cloud9” کلیک کنید.
برای رفتن به صفحه اصلی Cloud9 روی “Cloud9” کلیک کنید.
ایجاد یک محیط جدید Cloud9
صفحه اصلی AWS Cloud9
پس از ورود به صفحه اصلی Cloud9، روی دکمه نارنجی «ایجاد محیط» کلیک کنید.
مرحله 1: نام محیط
از شما خواسته می شود که نام محیط خود را وارد کنید.
توصیه میکنیم نام محیط را یک چیز جامع بگذارید تا بتوانید آنچه در آن است را به خاطر بسپارید.
همچنین در صورت تمایل می توانید توضیحی اضافه کنید.
مرحله 2: تنظیمات پیکربندی
بعد تنظیمات پیکربندی محیط است.
برای نوع محیط ، «ایجاد یک نمونه EC2 جدید برای محیط (دسترسی مستقیم)» را انتخاب کنید.
برای نمونه ، آن را روی “t2.micro (1 گیگابایت RAM + 1 vCPU) بگذارید. اگر تازه شروع کرده اید، این مقرون به صرفه ترین حالت است.
برای پلتفرم ، تنظیمات را به “Ubuntu Server 18.04 LTS” تغییر دهید. با این حال، اگر با آن سیستم عامل آشنایی بیشتری دارید، از لینوکس استفاده کنید.
در نهایت، برای تنظیمات صرفه جویی در هزینه ، مقدار را در حالت پیش فرض «پس از 30 دقیقه» بگذارید. این بدان معناست که hibernate خودکار پس از 30 دقیقه عدم فعالیت اعمال میشود تا از شارژ غیرضروری شما برای کارکردن سرور جلوگیری کند.
مرحله 3: مرور
نام محیط و تنظیمات را مرور کنید، سپس روی دکمه “ایجاد محیط” کلیک کنید.
شروع کار با AWS Cloud9
AWS Cloud9 ایجاد یک محیط جدید
چند دقیقه طول می کشد تا محیط تنظیمات را تمام کند.
از آنجا دو تب را خواهید دید، یک تب “Welcome” و “AWS Toolkit – Quick Start”.
هر دو اطلاعات مفیدی در مورد سفارشی سازی AWS Cloud9 ارائه می دهند.
با خیال راحت این اسناد را بخوانید زیرا ما فقط در حال بررسی اصول اولیه مورد نیاز برای راه اندازی و اجرای پروژه جنگو هستیم.
AWS Cloud9 IDE
چه چیزی در AWS Cloud 9 گنجانده شده است؟
- ویرایشگر کد
- پایانه
- اشکال زدایی
- درخت فایل
نحوه ایجاد یک محیط مجازی در Cloud9
ترمینال AWS Cloud9
user:~/environment $ python3 -m venv env user:~/environment $ cd env user:~/environment/env $ source bin/activate (env) user:~/environment/env $
برای ایجاد یک محیط مجازی در Cloud9 به نام env:
یک محیط مجازی ایجاد کنید.
python3 -m venv env
وارد پوشه محیط مجازی شوید.
cd env
و محیط مجازی را فعال کنید.
source bin/activate
چارچوب وب جنگو را نصب کنید
ترمینال AWS Cloud9
(env) user:~/environment/env $ pip install django==2.1.15
اگر قصد دارید با AWS Elastic Beanstalk به کار بگیرید، باید نسخه 2 جنگو را نصب کنید.
ما از AWS EB برای این آموزش استفاده خواهیم کرد.
یک پروژه جنگو و برنامه وب ایجاد کنید
ترمینال AWS Cloud9
(env) user:~/environment/env $ django-admin startproject mysite (env) user:~/environment/env $ cd mysite (env) user:~/environment/env/mysite $ python3 manage.py startapp main
با نصب جنگو، میتوانیم به سمت ایجاد پروژه واقعی جنگو و برنامه درون آن برویم.
برای ایجاد پروژه ای به نام mysite:
django-admin startproject mysite
برای ایجاد برنامه:
cd mysite
python3 manage.py startapp main
نحوه اجرای سرور Cloud9
ویرایشگر کد AWS Cloud9
""" Django settings for mysite project. Generated by 'django-admin startproject' using Django 2.1.15. For more information on this file, see https://docs.djangoproject.com/en/2.1/topics/settings/ For the full list of settings and their values, see https://docs.djangoproject.com/en/2.1/ref/settings/ """ import os ... # SECURITY WARNING: don't run with debug turned on in production! DEBUG = True ALLOWED_HOSTS = [] # Application definition INSTALLED_APPS = [ 'django.contrib.admin', ...
قبل از اجرای سرور، باید فایل settings.py جنگو را با میزبان مجاز به روز کنیم.
به درخت فایل در سمت چپ IDE بروید و روی env > mysite > mysite > settings.py دوبار کلیک کنید.
فایل settings.py جنگو در ویرایشگر کد Cloud9 باز می شود. شبیه فایل بالا خواهد بود.
ویرایشگر کد AWS Cloud9
ALLOWED_HOSTS = ['*']
به پایین بروید و یک ستاره در داخل پرانتز به هاست خود اضافه کنید، که به همه میزبان ها اجازه می دهد. و سپس فایل را ذخیره کنید.
ALLOWED_HOSTS
یا میتوانید آن را ALLOWED_HOSTS
خالی بگذارید، سرور را اجرا کنید، سپس URL دامنه را بگیرید.
ترمینال AWS Cloud9
(env) user:~/environment/env/mysite $ python3 manage.py runserver 8080
برای اجرای سرور Cloud9، باید دستور را اجرا کنید python3 manage.py runserver 8080
. این یک URL Cloud9 برای سرور توسعه شما ایجاد می کند.
پس از اجرای دستور، یک کادر سبز رنگ با لینک محل اجرای کد شما ظاهر می شود.
روی لینک کلیک کنید.
موشک جنگو در پنجره مرورگر
در این مرحل شما باید موشک جنگو را ببینید.
خطای جنگو هنگام تلاش برای اجرای سرور Cloud9
اگر خطای صفحه زرد جنگو را دریافت می کنید
Invalid HTTP_HOST header: 'abcd.vfs.cloud9.us-west-2.amazonaws.com'. You need to add 'abcd.vfs.cloud9.us-west-2.amazonaws.com' to ALLOWED_HOSTS.
ویرایشگر کد AWS Cloud9
ALLOWED_HOSTS = ['abcd.vfs.cloud9.us-west-2.amazonaws.com']
به فایل settings.py جنگو برگردید و URL داده شده در خطای جنگو را در زیر اضافه کنید ALLOWED_HOSTS
. فایل را ذخیره کنید، مرورگر را دوباره بارگیری کنید.
استقرار جنگو از Cloud9 به AWS EB
استقرار AWS Elastic Beanstalk Django
پس از اتمام توسعه، می توانید پروژه جنگو خود را در محیط cCloud9 خود در محیط AWS Elastic Beanstalk ذخیره و مستقر کنید.