این مقاله دستورالعمل های دقیقی را برای نصب و پیکربندی برنامه های Apache، Python و PostgreSQL برای اطمینان از عملکرد پروژه جنگو در MS Windows ارائه می دهد. جنگو در حال حاضر دارای یک سرور توسعه سبک وزن برای آزمایش کد به صورت محلی است، اما وظایف مربوط به تولید نیازمند یک وب سرور امن تر و قدرتمندتر است. ما mod_wsgi را برای تعامل با پروژه خود پیکربندی می کنیم و آپاچی را به عنوان دروازه ای به دنیای خارج پیکربندی می کنیم.
شایان ذکر است که نصب و پیکربندی در سیستم عامل MS Windows 10 با 32 بیت انجام خواهد شد. همچنین پاسخ 32 بیتی جهانی خواهد بود و روی معماری 64 بیتی کار خواهد کرد. اگر به نصب 64 بیتی نیاز دارید، همان مراحل را برای توزیع نرم افزارهای 64 بیتی تکرار کنید، دنباله اقدامات یکسان خواهد بود.
ما از برنامه Severcart به عنوان پروژه جنگو استفاده خواهیم کرد. این برای مدیریت حرکت کارتریج ها، حسابداری تجهیزات چاپ و قراردادهای تامین و خدمات طراحی شده است. همه برنامه ها و ماژول ها در دایرکتوری C:severcart نصب می شوند. مکان مهم نیست.
پــایتــون
اولین قدم این است که پایتون را از وب سایت پایتون دانلود و نصب کنید. ویندوز را به عنوان سیستم عامل و نسخه 32 بیتی را انتخاب کنید. در زمان نوشتن، نسخه فعلی 3.9.0rc2 است.
پس از دانلود فایل نصبی، روی فایل نصبی کلیک راست کرده و Run as administrator را انتخاب کنید. باید صفحه زیر را ببینید
کادرهای کنار «Install launcher for add user (توصیه شده)» و «Add Python 3.9 to PATH» را علامت بزنید و روی «Customize install» کلیک کنید.
کادرهای کنار «pip»، «py launcher»، «for all users (به ارتفاع نیاز دارد)» را علامت بزنید و روی «Next» کلیک کنید.
تمام فیلدهای ورودی را مانند تصویر بالا انتخاب کنید و روی "نصب" کلیک کنید.
برای اطمینان از موفقیت آمیز بودن نصب، cmd را باز کرده و python را تایپ کنید. اگر نصب با موفقیت انجام شد، باید اعلانی شبیه به زیر مشاهده کنید
mod_wsgi را نصب کنید
بسته کامپایل شده با mod_wsgi را از سایت دانلود کنید
ماژول را با استفاده از مدیر بسته استاندارد pip در cmd یا powershell نصب کنید:
pip install -U mod_wsgi-4.7.1-cp39-cp39-win32.whl
آپاچی
توزیع را از سایت دانلود کنید
آخرین نسخه وب سرور Apache 2.4.46 win32 VS16 است. همچنین برای اینکه برنامه کار کند، به یک بسته از پیش نصب شده «Visual C++ Redistributable for Visual Studio 2019 x86» نیاز دارید.
توزیع آپاچی را در دایرکتوری C:severcartApache24 باز کنید، سپس خط شماره 37 را به خط خود تغییر دهید.
Define SRVROOT "C:/severcart/Apache24"
با اجرای خط فرمان عملکرد آپاچی را بررسی می کنیم
C:/severcart/Apache24/bin> httpd.exe
در نتیجه، آنها باید در مرورگر در مشاهده شوند
ما سرویس آپاچی را نصب می کنیم؛ برای انجام این کار، دستورالعمل های زیر را در خط فرمان به عنوان Administrator اجرا کنید:
C:severcartApache24bin>httpd.exe -k install -n "Apache24"
بعد، اجازه دهید ماژول mod_wsgi را به آپاچی متصل کنیم. برای انجام این کار، دستورالعمل را در خط فرمان اجرا کنید
C:Windowssystem32>mod_wsgi-express module-config
در نتیجه، خطوط زیر در خروجی استاندارد چاپ می شود:
LoadFile "c:/severcart/python/python39.dll"
LoadModule wsgi_module "c:/severcart/python/lib/site-packages/mod_wsgi/server/mod_wsgi.cp39-win32.pyd"
WSGIPythonHome "c:/severcart/python"
یک فایل C:severcartApache24confextrahttpd-wsgi.conf ایجاد کنید و خطوط چاپ شده را در بالا کپی کنید.
پیکربندی جدید را به فایل اصلی httpd.conf وصل می کنیم
شامل conf/extra/httpd-wsgi.conf
تغییرات را ذخیره کنید، خدمات آپاچی را مجددا راه اندازی کنید
Net stop Apache24
Net start Apache24
PostgreSQL و
PostgreSQL را که از سایت گرفته شده است نصب کنید
مراحل نصب در بالا ارائه شده است و نیازی به نظر ندارد. نصب بسیار ساده است.
ما یک پایگاه داده در postgres ایجاد می کنیم، جایی که ساختار داده های پروژه جنگو در آن ذخیره می شود
C:severcartpostgresqlbin>psql -h 127.0.0.1 -U postgres -W
CREATE DATABASE severcart WITH ENCODING='UTF8' OWNER=postgres CONNECTION LIMIT=-1 template=template0;
پایگاه داده ایجاد شده است. اکنون پروژه جنگو را مستقر می کنیم.
نصب اپلیکیشن تحت وب
برای انجام این کار، آرشیو فشرده را از سایت دانلود کنید
ما تغییراتی را در فایل پیکربندی اصلی C:severcartappconfsettings_prod.py ایجاد می کنیم تا جزئیات اتصال به پایگاه داده را مشخص کنیم.
پایگاه داده دیکشنری پایتون حاوی جزئیاتی برای اتصال به پایگاه داده است. درباره راه اندازی اینجا بیشتر بخوانید
نصب بسته های پایتون با اهمیت برای اجرای برنامه های کاربردی در داخل پروژه جنگو
C:severcartapptkinstaller>python install.py
در حالی که اسکریپت در حال اجرا است، پایگاه داده با جداول، ساختارها، ایندکس ها و غیره مقداردهی اولیه می شود و از شما خواسته می شود کاربری ایجاد کنید که کار از طرف او در برنامه انجام شود.
ما برنامه جنگو را به سرور آپاچی متصل می کنیم، برای این کار فایل پیکربندی را اضافه می کنیم
httpd-wsgi.conf با متن زیر
Alias /static "c:/severcart/app/static"
Alias /media "c:/severcart/app/media"
<Directory "c:/severcart/app/static">
# for Apache 2.4
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
<Directory "c:/severcart/app/media">
# for Apache 2.4
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
WSGIScriptAlias / "c:/severcart/app/conf/wsgi_prod.py"
WSGIPythonPath "c:/severcart/python/"
<Directory "c:/severcart/app/conf/">
<Files wsgi_prod.py>
Require all granted
</Files>
</Directory>
سرویس Apache را مجددا راه اندازی کنید و بررسی کنید که برنامه کار می کند
همین. ممنون که خواندید.
در مقاله بعدی ما یک بایگانی خود استخراج کننده نصب در InnoSetup برای استقرار سریع پروژه جنگو در رایانه مشتری ایجاد خواهیم کرد. برای کسانی که می خواهند تمام مراحل را تکرار کنند
منبع: www.habr.com