Я новичок в 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 в этой области.