سلام به همه کاربران محترم جنگولرن. در ویدئوی زیر، فیلم آموزش استقرار جنگو روی IIS-قسمت اول را مشاهده می کنید. کیفیت ویدئو قابل تغییر است. توضیحات متنی پایین صفحه در دسترس است.
توضیحات فیلم آموزش استقرار جنگو روی IIS-قسمت اول
در این فیلم آموزشی از یک ماشین مجازی استفاده شده است. ویندوزی که استفاده شده ویندوز 10 است که بهتر است از ویندوز سرور استفاده شود. اولین قدم نصب IIS و افزودن فیچر CGI است. پس از نصب شدن IIS ، پایتون را روی سرور نصب می کنیم. در این آموزش از پایتون نسخه 3.8 استفاده شده است. در قدم بعدی با استفاده از pip جنگو را نصب کرده و یک پروژه جنگو در فولدر wwwroot می سازیم. سپس با استفاده از pip پکیج wfastcgi را نصب می کنیم.
در قدم بعدی نیاز است wfastcgi را فعالسازی کنیم. سپس فایل wfastcgi.py را کنار فایل manage.py کپی می کنیم. در مرحله بعدی در IIS یک سایت برای پروژه می سازیم و پورت 8080 را برای سایت تنظیم می کنیم (پورت 8080 اجباری نیست). سپس روی سایت کلیک کرده و روی handler mapping کلیک می کنیم. در این بخش Add module mapping را انتخاب کرده و مقدار Request path را برابر * می کنیم و از کمبوباکس Module ماژول FastCgiModule را انتخاب کرده و در قسمت Executable(optional) مسیر نصب پایتون را وارد می کنیم.
در انتهای مسیر علامت | قرار می دهیم و در ادامه ی آن مسیر پروژه رو وارد کرده و آدرس فایل wfastcgi.py را می دهیم. در انتها یک نام انتخاب کرده و روی دکمه Request Restrictions کلیک می کنیم.در دیالوگ مربوط به Request Restrictions گزینه Invoke handler only if request is mapped to را غیرفعال کرده و دکمه OK را کلیک می کنیم. و سپس با OK کردن ماژول اضافه می شود.
در مرحله بعدی روی نام سرور IIS کلیک می کنیم و وارد FastCGI Settings شده و روی مسیری که ساختیم دابل کلیک می کنیم و وارد تنظیمات این بخش می شویم. در بخش EnvironmentVariables Collection Editor یک متغیر جدید Add کرده و نام را DJANGO_SETTINGS_MODULE می گذاریم. و مقدار Value را برابر اسم پروژه جنگویی می کنیم. سپس یک متغیر دیگر اضافه کرده و نام آن را PYTHONPATH و مقدار آن را برابر مکان فایل wfastcgi قرار می دهیم. و در انتها متغیر دیگری با نام WSGI_HANDLER ساخته و مقدار را برابر django.core.wsgi.get_wsgi_application() و تغییرات را ذخیره می کنیم.
بعد از انجام موارد فوق، سایت را Browse می کنیم که با موفقیت صفحه اول جنگو نمایش داده می شود که در حالت Debug است. در حالت Production پروژه نباید روی مود دیباگ باشد، پس حالت دیباگ را از فایل settings.py غیرفعال می کنیم. و اگر سایت را refresh کنیم خطای 404 خواهد داد به این دلیل که پروژه خالی است و هیچ path برای این آدرس نداریم.
در محیط پروداکشن جنگو فایل های static باید جداگانه serve شوند. به همین دلیل اگر وارد مسیر /admin شویم، مشخص است که فایل های استاتیک بارگذاری نشده اند و ظاهر فرم ورود متفاوت است. برای رفع این مشکل باید فایل های استاتیک را با استفاده از collectstatic و تنظیمات دیگری آماده کنیم. در قسمت بعدی فایل های استاتیک را آماده می کنیم.
امیدوارم این ویدئو به دانسته های شما اضافه کرده باشد. سوالات خود را در قسمت نظرات ثبت کنید.
برای حمایت از جنگولرن از اینجا (پلتفرم idpay) ما را حمایت کنید.