Django WAMP (Apache) mod_wsgi на Windows - PullRequest
       48

Django WAMP (Apache) mod_wsgi на Windows

0 голосов
/ 07 апреля 2020

Я новичок в Django и веб-разработке. Я выполнил проект в среде разработки, и теперь нам нужно развернуть его в производстве. Я пытался go через процесс развертывания с использованием wamp на виртуальной машине windows. Подробности указаны ниже (все 64-битные):

  • ОС: Windows 10
  • Python: 3.7.6
  • Веб-сервер: Wamp 3.2 с Apache 2.4.41

mod_wsgi ver 4.7.1 (он был скачан предварительно скомпилирован из здесь Я использую pycharm для разработки, и путь интерпретатора по умолчанию python имеет система, то есть C:\Users\User\AppData\Local\Programs\Python\Python37, которая включает в себя установленные / извлеченные пакеты mod_wsgi в пакетах сайта. Пакет '1048 *' установлен, однако в пределах venv на C:\Users\User\TryProject\venv\Lib\site-packages Я настроил мои файлы как следующие:

httpd-vhosts .conf:

    <VirtualHost *:8080>
    ServerName localhost 
    WSGIPassAuthorization On
    ErrorLog "C:/Users/User/TryProject/TryProject.error.log"
    CustomLog "C:/Users/User/TryProject/TryProject.access.log" combined
    #WSGIDaemonProcess TryProject python-home=C:/Users/User/TryProject/venv/Lib/site-packages
        #python-path=C:/Users/User/TryProject/venv/Lib/site-packages
        #venv/Lib/site-packages"
    #WSGIProcessGroup TryProject
    WSGIScriptAlias /mysite  "C:/Users/User/TryProject/TryProject/wsgi.py"
        #process-group=TryProject 
        #application-group=%{GLOBAL}
    WSGIApplicationGroup %{GLOBAL}


    <Directory "C:/Users/User/TryProject/TryProject">
        <Files wsgi.py>
            Require all granted
        </Files>
    </Directory>
</VirtualHost>

httpd.conf:

    ...
LoadFile "c:/users/user/appdata/local/programs/python/python37/python37.dll"
    LoadModule wsgi_module "c:/users/user/appdata/local/programs/python/python37/lib/site-packages/mod_wsgi/server/mod_wsgi.cp37-win_amd64.pyd"
    WSGIPythonHome "c:/users/user/appdata/local/programs/python/python37"
...

и wsgi.py

import sys

from django.core.wsgi import get_wsgi_application

#site.addsitedir("C:/Users/User/AppData/Local/Programs/Python/Python37/Lib/site-packages")
site.addsitedir("C:/Users/User/TryProject/venv/Lib/site-packages")
# Add the app's directory to the PYTHONPATH
#sys.path.append('C:/Users/User/TryProject')
sys.path.append('C:/Users/User/TryProject/TryProject')

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'TryProject.settings')

application = get_wsgi_application()

, а в файле журнала ошибок apache отображается эта группа ошибка при каждом запросе:

[Tue Apr 07 20:18:44.672498 2020] [wsgi:error] [pid 12456:tid 1348] [client 127.0.0.1:51960] mod_wsgi (pid=12456): Failed to exec Python script file 'C:/Users/User/TryProject/TryProject/wsgi.py'.
[Tue Apr 07 20:18:44.672498 2020] [wsgi:error] [pid 12456:tid 1348] [client 127.0.0.1:51960] mod_wsgi (pid=12456): Exception occurred processing WSGI script 'C:/Users/User/TryProject/TryProject/wsgi.py'.
[Tue Apr 07 20:18:44.705608 2020] [wsgi:error] [pid 12456:tid 1348] [client 127.0.0.1:51960] Traceback (most recent call last):\r
[Tue Apr 07 20:18:44.705608 2020] [wsgi:error] [pid 12456:tid 1348] [client 127.0.0.1:51960]   File "C:/Users/User/TryProject/TryProject/wsgi.py", line 14, in <module>\r
[Tue Apr 07 20:18:44.705608 2020] [wsgi:error] [pid 12456:tid 1348] [client 127.0.0.1:51960]     from django.core.wsgi import get_wsgi_application\r
[Tue Apr 07 20:18:44.705608 2020] [wsgi:error] [pid 12456:tid 1348] [client 127.0.0.1:51960] ModuleNotFoundError: No module named 'django'\r

При переходе на мой сайт выдается

500 Внутренняя ошибка сервера

Я пробовал много вариантов безрезультатно. Настройки WSGIDaemonProcess и WSGIProcessGroup комментируются, потому что, когда я их включаю, служба apache не запускается.

* 10 39 * Я новичок ie в этой области.
...