ื”ืขืœืืช ืขืจื™ืžืช ื”-Django ื‘-MS Windows

ื”ืขืœืืช ืขืจื™ืžืช ื”-Django ื‘-MS Windows

ืžืืžืจ ื–ื” ื™ืกืคืง ื”ื ื—ื™ื•ืช ืžืคื•ืจื˜ื•ืช ืœื”ืชืงื ื” ื•ืงื‘ื™ืขืช ื”ืชืฆื•ืจื” ืฉืœ ืชื•ื›ื ื™ื•ืช Apache, Python ื•-PostgreSQL ื›ื“ื™ ืœื”ื‘ื˜ื™ื— ืืช ื”ืคืขื•ืœื” ืฉืœ ืคืจื•ื™ืงื˜ Django ื‘-MS Windows. Django ื›ื‘ืจ ื›ื•ืœืœ ืฉืจืช ืคื™ืชื•ื— ืงืœ ืžืฉืงืœ ืœื‘ื“ื™ืงืช ืงื•ื“ ืžืงื•ืžื™ืช, ืืš ืžืฉื™ืžื•ืช ื”ืงืฉื•ืจื•ืช ืœื™ื™ืฆื•ืจ ื“ื•ืจืฉื•ืช ืฉืจืช ืื™ื ื˜ืจื ื˜ ืžืื•ื‘ื˜ื— ื•ื—ื–ืง ื™ื•ืชืจ. ืื ื• ื ื’ื“ื™ืจ ืืช mod_wsgi ืœืื™ื ื˜ืจืืงืฆื™ื” ืขื ื”ืคืจื•ื™ืงื˜ ืฉืœื ื• ื•ื ื’ื“ื™ืจ ืืช ืืคืืฆ'ื™ ื›ืฉืขืจ ืœืขื•ืœื ื”ื—ื™ืฆื•ืŸ.

ืจืื•ื™ ืœืฆื™ื™ืŸ ื›ื™ ื”ื”ืชืงื ื” ื•ื”ื”ื’ื“ืจื” ื™ื‘ื•ืฆืขื• ื‘-MS Windows 10 OS ืขื 32 ืกื™ื‘ื™ื•ืช. ื›ืžื• ื›ืŸ, ืชื’ื•ื‘ืช 32 ืกื™ื‘ื™ื•ืช ืชื”ื™ื” ืื•ื ื™ื‘ืจืกืœื™ืช ื•ืชืขื‘ื•ื“ ืขืœ ืืจื›ื™ื˜ืงื˜ื•ืจืช 64 ืกื™ื‘ื™ื•ืช. ืื ืืชื” ืฆืจื™ืš ื”ืชืงื ื” ืฉืœ 64 ืกื™ื‘ื™ื•ืช, ื—ื–ื•ืจ ืขืœ ืื•ืชื ืฉืœื‘ื™ื ืขื‘ื•ืจ ื”ืคืฆื•ืช ืชื•ื›ื ื” ืฉืœ 64 ืกื™ื‘ื™ื•ืช, ืจืฆืฃ ื”ืคืขื•ืœื•ืช ื™ื”ื™ื” ื–ื”ื”.

ื ืฉืชืžืฉ ื‘ืชื•ื›ื ื™ืช Severcart ื›ืคืจื•ื™ืงื˜ Django. ื”ื•ื ื ื•ืขื“ ืœื ื”ืœ ืืช ืชื ื•ืขืช ื”ืžื—ืกื ื™ื•ืช, ื”ืชื—ืฉื‘ื ื•ืช ื‘ืฆื™ื•ื“ ื”ื“ืคืกื” ื•ื—ื•ื–ื™ ืืกืคืงื” โ€‹โ€‹ื•ืฉื™ืจื•ืช. ื›ืœ ื”ืชื•ื›ื ื™ื•ืช ื•ื”ืžื•ื“ื•ืœื™ื ื™ื•ืชืงื ื• ื‘ืกืคืจื™ื™ืช C:severcart. ื”ืžื™ืงื•ื ืœื ื—ืฉื•ื‘.

ืคื™ืชื•ืŸ

ื”ืฆืขื“ ื”ืจืืฉื•ืŸ ื”ื•ื ืœื”ื•ืจื™ื“ ื•ืœื”ืชืงื™ืŸ ืืช Python ืžืืชืจ Python. ื‘ื—ืจ ื‘-Windows ื›ืžืขืจื›ืช ื”ื”ืคืขืœื” ื•ื‘ื’ืจืกืช 32 ืกื™ื‘ื™ื•ืช. ื‘ื–ืžืŸ ื›ืชื™ื‘ืช ืฉื•ืจื•ืช ืืœื”, ื”ื’ืจืกื” ื”ื ื•ื›ื—ื™ืช ื”ื™ื 3.9.0rc2.

ืœืื—ืจ ื”ื•ืจื“ืช ืงื•ื‘ืฅ ื”ื”ืชืงื ื”, ืœื—ืฅ ืœื—ื™ืฆื” ื™ืžื ื™ืช ืขืœ ืงื•ื‘ืฅ ื”ื”ืชืงื ื” ื•ื‘ื—ืจ ื”ืคืขืœ ื›ืžื ื”ืœ. ืืชื” ืืžื•ืจ ืœืจืื•ืช ืืช ื”ืžืกืš ืœืžื˜ื”

ื”ืขืœืืช ืขืจื™ืžืช ื”-Django ื‘-MS Windows

ืกืžืŸ ืืช ื”ืชื™ื‘ื•ืช ืฉืœื™ื“ "ื”ืชืงืŸ ืžืฉื’ืจ ืœื”ื•ืกืคืช ืžืฉืชืžืฉ (ืžื•ืžืœืฅ)" ื•"ื”ื•ืกืฃ Python 3.9 ืœ-PATH" ื•ืœื—ืฅ ืขืœ "ื”ืชืืžื” ืื™ืฉื™ืช ืฉืœ ื”ืชืงื ื”".

ื”ืขืœืืช ืขืจื™ืžืช ื”-Django ื‘-MS Windows

ืกืžืŸ ืืช ื”ืชื™ื‘ื•ืช ืœืฆื“ "pip", "py launcher", "ืœื›ืœ ื”ืžืฉืชืžืฉื™ื (ื“ื•ืจืฉ ื’ื•ื‘ื”)" ื•ืœื—ืฅ ืขืœ "ื”ื‘ื".

ื”ืขืœืืช ืขืจื™ืžืช ื”-Django ื‘-MS Windows

ื‘ื—ืจ ืืช ื›ืœ ืฉื“ื•ืช ื”ืงืœื˜ ื›ืžื• ื‘ืชืžื•ื ื” ืœืžืขืœื” ื•ืœื—ืฅ ืขืœ "ื”ืชืงืŸ".

ื”ืขืœืืช ืขืจื™ืžืช ื”-Django ื‘-MS Windows

ื›ื“ื™ ืœื•ื•ื“ื ืฉื”ื”ืชืงื ื” ื”ืฆืœื™ื—ื”, ืคืชื— ืืช cmd ื•ื”ืงืœื“ python. ืื ื”ื”ืชืงื ื” ื”ืฆืœื™ื—ื”, ืืชื” ืืžื•ืจ ืœืจืื•ืช ื”ื ื—ื™ื” ื“ื•ืžื” ืœื–ื• ืฉืœื”ืœืŸ

ื”ืขืœืืช ืขืจื™ืžืช ื”-Django ื‘-MS Windows

ื”ืชืงืŸ mod_wsgi

ื”ื•ืจื“ ืืช ื”ื—ื‘ื™ืœื” ื”ืžื•ืจื›ื‘ืช ืขื mod_wsgi ืžื”ืืชืจ
www.lfd.uci.edu/~gohlke/pythonlibs. ื”ืžื•ื“ื•ืœ ืคื•ืขืœ ื›ืžืชื•ื•ืš ื‘ื™ืŸ ืฉืจืช ื”ืืคืืฆ'ื™ ืœืคืจื•ื™ืงื˜ Django. ื”ื—ื‘ื™ืœื” ื”ืขื“ื›ื ื™ืช ื‘ื™ื•ืชืจ ืชื™ืงืจื mod_wsgi-4.7.1-cp39-cp39-win32.whl. ืฉื™ืžื• ืœื‘ ืฉื”ื—ื‘ื™ืœื” ืžื•ืจื›ื‘ืช ืขื‘ื•ืจ 32 ืกื™ื‘ื™ื•ืช ืฉืœ Windows CPython ื’ืจืกื” 3.9. ืจืื•ื™ ื’ื ืœืฆื™ื™ืŸ ืฉื”ื”ืชืงื ื” ื”ื‘ืจื•ืจื” ืฉืœ ืžื•ื“ื•ืœ pip install mod_wsgi ื›ื›ืœ ื”ื ืจืื” ืชื™ื›ืฉืœ, ืžื›ื™ื•ื•ืŸ ืชื”ืœื™ืš ื”ื”ืชืงื ื” ื™ื“ืจื•ืฉ ืžื”ื“ืจ Visual Studio C++. ืื ื• ืจื•ืื™ื ืฉื–ื” ืœื ื”ื•ืœื ืœื”ืชืงื™ืŸ ืืช ื›ืœ ื”ืžื”ื“ืจ ืœืžืขืŸ ื—ื‘ื™ืœืช Python ืื—ืช ื‘-Windows.

ื”ืชืงืŸ ืืช ื”ืžื•ื“ื•ืœ ื‘ืืžืฆืขื•ืช ืžื ื”ืœ ื”ื—ื‘ื™ืœื•ืช pip ื”ืกื˜ื ื“ืจื˜ื™ ื‘-cmd ืื• powershell:

pip install -U mod_wsgi-4.7.1-cp39-cp39-win32.whl

ื”ืขืœืืช ืขืจื™ืžืช ื”-Django ื‘-MS Windows

ืึทืคึธึผืฉื

ื”ื•ืจื“ ืืช ื”ื”ืคืฆื” ืžื”ืืชืจ https://www.apachelounge.com/download/.
ื”ื’ืจืกื” ื”ืื—ืจื•ื ื” ืฉืœ ืฉืจืช ื”ืื™ื ื˜ืจื ื˜ ื”ื™ื Apache 2.4.46 win32 VS16. ื›ืžื• ื›ืŸ, ื›ื“ื™ ืฉื”ืชื•ื›ื ื™ืช ืชืขื‘ื•ื“, ืชื–ื“ืงืง ืœื—ื‘ื™ืœื” ืžื•ืชืงื ืช ืžืจืืฉ "Visual C++ ืฉื ื™ืชืŸ ืœื”ืคื™ืฅ ืžื—ื“ืฉ ืขื‘ื•ืจ Visual Studio 2019 x86".

ืคืจืง ืืช ื”ืคืฆืช ื”-Apache ืœืกืคืจื™ื™ื” C:severcartApache24, ื•ืœืื—ืจ ืžื›ืŸ ืฉื ื” ืืช ืฉื•ืจื” ืžืกืคืจ 37 ืœืฉืœืš

Define SRVROOT "C:/severcart/Apache24"

ืื ื• ื‘ื•ื“ืงื™ื ืืช ืคืขื•ืœืช Apache ืขืœ ื™ื“ื™ ืจื™ืฆื” ืขืœ ืฉื•ืจืช ื”ืคืงื•ื“ื”

C:/severcart/Apache24/bin> httpd.exe

ื›ืชื•ืฆืื” ืžื›ืš, ื™ืฉ ืœืจืื•ืช ืื•ืชื ื‘ื“ืคื“ืคืŸ ื‘ื›ืชื•ื‘ืช 127.0.0.1 ื”ืฉื•ืจื” "ื–ื” ืขื•ื‘ื“!"

ื”ืขืœืืช ืขืจื™ืžืช ื”-Django ื‘-MS Windows

ืื ื• ืžืชืงื™ื ื™ื ืืช ืฉื™ืจื•ืช Apache; ืœืฉื ื›ืš, ื”ืคืขืœ ืืช ื”ื”ื•ืจืื•ืช ื”ื‘ืื•ืช ื‘ืฉื•ืจืช ื”ืคืงื•ื“ื” ื›ืžื ื”ืœ:

C:severcartApache24bin>httpd.exe -k install -n "Apache24"

ืœืื—ืจ ืžื›ืŸ, ื‘ื•ืื• ื ื—ื‘ืจ ืืช ืžื•ื“ื•ืœ mod_wsgi ืœ- Apache. ืœืฉื ื›ืš, ื‘ืฆืข ืืช ื”ื”ื•ืจืื” ื‘ืฉื•ืจืช ื”ืคืงื•ื“ื”

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

ืฉืžื•ืจ ืฉื™ื ื•ื™ื™ื, ื”ืคืขืœ ืžื—ื“ืฉ ืืช ืฉื™ืจื•ืชื™ Apache

Net stop Apache24
Net start Apache24

PostgreSQL

ื”ืชืงืŸ ืืช PostgreSQL ืฉื ืœืงื— ืžื”ืืชืจ https://postgrespro.ru/windows. ื”ื’ืจืกื” ื”ื ื•ื›ื—ื™ืช ืฉืœ ืžื•ืฆืจ ื”ืชื•ื›ื ื” ื”ื™ื 12. ื”ื™ืชืจื•ื ื•ืช ืฉืœ ื”ื”ืคืฆื” ื”ืจื•ืกื™ืช ืขืœ ืคื ื™ ื”ืงื ื•ื ื™ืช ืžื•ืฆื’ื™ื ื‘ืื•ืชื• ืืชืจ.

ื”ืขืœืืช ืขืจื™ืžืช ื”-Django ื‘-MS Windows

ื”ืขืœืืช ืขืจื™ืžืช ื”-Django ื‘-MS Windows

ื”ืขืœืืช ืขืจื™ืžืช ื”-Django ื‘-MS Windows

ื”ืขืœืืช ืขืจื™ืžืช ื”-Django ื‘-MS Windows

ื”ืขืœืืช ืขืจื™ืžืช ื”-Django ื‘-MS Windows

ื”ืขืœืืช ืขืจื™ืžืช ื”-Django ื‘-MS Windows

ื”ืขืœืืช ืขืจื™ืžืช ื”-Django ื‘-MS Windows

ื”ืขืœืืช ืขืจื™ืžืช ื”-Django ื‘-MS Windows

ื”ืขืœืืช ืขืจื™ืžืช ื”-Django ื‘-MS Windows

ื”ืขืœืืช ืขืจื™ืžืช ื”-Django ื‘-MS Windows

ืฉืœื‘ื™ ื”ื”ืชืงื ื” ืžื•ืฆื’ื™ื ืœืขื™ืœ ื•ืื™ื ื ื“ื•ืจืฉื™ื ื”ืขืจื•ืช. ื”ื”ืชืงื ื” ืคืฉื•ื˜ื” ื‘ื™ื•ืชืจ.

ืื ื• ื™ื•ืฆืจื™ื ืžืกื“ ื ืชื•ื ื™ื ื‘-postgres, ืฉื‘ื• ืžื‘ื ื™ ื”ื ืชื•ื ื™ื ืฉืœ ืคืจื•ื™ืงื˜ Django ื™ืื•ื—ืกื ื• ืœืื—ืจ ืžื›ืŸ

C:severcartpostgresqlbin>psql -h 127.0.0.1 -U postgres -W

CREATE DATABASE severcart WITH ENCODING='UTF8' OWNER=postgres CONNECTION LIMIT=-1 template=template0;

ื”ืขืœืืช ืขืจื™ืžืช ื”-Django ื‘-MS Windows

ืžืกื“ ื”ื ืชื•ื ื™ื ื ื•ืฆืจ. ื›ืขืช ืื ื• ืคื•ืจืกื™ื ืืช ืคืจื•ื™ืงื˜ ื’'ื ื’ื•.

ื”ืชืงื ืช ืืคืœื™ืงืฆื™ื™ืช ื”ืื™ื ื˜ืจื ื˜

ืœืฉื ื›ืš, ื”ื•ืจื“ ืืช ืืจื›ื™ื•ืŸ ื”-zip ืžื”ืืชืจ https://www.severcart.ru/downloads/ ื•ืคื•ืจืง ืื•ืชื• ื‘ืกืคืจื™ื™ื” C:severcartapp

ื”ืขืœืืช ืขืจื™ืžืช ื”-Django ื‘-MS Windows

ืื ื• ืขื•ืจื›ื™ื ืฉื™ื ื•ื™ื™ื ื‘ืงื•ื‘ืฅ ื”ืชืฆื•ืจื” ื”ืจืืฉื™ C:severcartappconfsettings_prod.py ื›ื“ื™ ืœืฆื™ื™ืŸ ืืช ื”ืคืจื˜ื™ื ืœื—ื™ื‘ื•ืจ ืœืžืกื“ ื”ื ืชื•ื ื™ื

ื”ืขืœืืช ืขืจื™ืžืช ื”-Django ื‘-MS Windows

ืžื™ืœื•ืŸ Python DATABASES ืžื›ื™ืœ ืคืจื˜ื™ื ืœื—ื™ื‘ื•ืจ ืœืžืกื“ ื”ื ืชื•ื ื™ื. ืงืจื ืขื•ื“ ืขืœ ื”ื’ื“ืจื” ื›ืืŸ https://docs.djangoproject.com/en/3.1/ref/databases/#connecting-to-the-database

ื”ืชืงื ืช ื—ื‘ื™ืœื•ืช Python ื‘ืขืœื•ืช ืžืฉืžืขื•ืช ืœื”ืคืขืœืช ื™ื™ืฉื•ืžื™ื ื‘ืชื•ืš ืคืจื•ื™ืงื˜ Django

C:severcartapptkinstaller>python install.py

ื”ืขืœืืช ืขืจื™ืžืช ื”-Django ื‘-MS Windows

ื‘ื–ืžืŸ ืฉื”ืกืงืจื™ืคื˜ ืคื•ืขืœ, ื‘ืกื™ืก ื”ื ืชื•ื ื™ื ื™ืืชื—ืœ ื‘ื˜ื‘ืœืื•ืช, ืงื•ื ืกื˜ืจื•ืงืฆื™ื•ืช, ืื™ื ื“ืงืกื™ื ื•ื›ื“ื•ืžื”, ื•ืชืชื‘ืงืฉื• ืœื™ืฆื•ืจ ืžืฉืชืžืฉ ืฉืžื˜ืขืžื• ืชืชื‘ืฆืข ื”ืขื‘ื•ื“ื” ื‘ืชื•ื›ื ื™ืช.

ืื ื• ืžื—ื‘ืจื™ื ืืช ืืคืœื™ืงืฆื™ื™ืช Django ืœืฉืจืช Apache, ืœืฉื ื›ืš ื ื•ืกื™ืฃ ืืช ืงื•ื‘ืฅ ื”ืชืฆื•ืจื”
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 ื•ื‘ื“ื•ืง ืฉื”ืืคืœื™ืงืฆื™ื” ืคื•ืขืœืช

ื”ืขืœืืช ืขืจื™ืžืช ื”-Django ื‘-MS Windows

ื–ื” ื”ื›ืœ. ืชื•ื“ื” ืฉืงืจืืช.

ื‘ืžืืžืจ ื”ื‘ื ื ื™ืฆื•ืจ ืืจื›ื™ื•ืŸ ืœื—ื™ืœื•ืฅ ืขืฆืžื™ ืฉืœ ื”ืชืงื ื” ื‘-InnoSetup ืœืคืจื™ืกื” ืžื”ื™ืจื” ืฉืœ ืคืจื•ื™ืงื˜ Django ื‘ืžื—ืฉื‘ ื”ืœืงื•ื—. ืœืžื™ ืฉืจื•ืฆื” ืœื—ื–ื•ืจ ืขืœ ื›ืœ ื”ืฉืœื‘ื™ื Yandex.Disk ื›ืœ ื”ื”ืคืฆื•ืช ื‘ืฉื™ืžื•ืฉ ื ื˜ืขื ื•ืช.

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”