Сведения о системе
- Версия Apache: Apache 2.4 (64-разрядная версия)
- Версия Python: Python 3.13
- Версия mod_wsgi: 5.0.1 (64-разрядная версия)
- Путь к приложению Django: C :/webapp
- Путь к модулю WSGI: C:/Users/{me}/AppData/Local/Programs/Python/Python313/Lib/site-packages/mod_wsgi/server/mod_wsgi.cp313 -win_amd64.pyd
1. Непосредственный запуск httpd.exe:
- Apache запускается успешно и обслуживает мое приложение Django, как и ожидалось.
- Никаких проблем с приложением Django или модулем WSGI при запуске вручную нет.
- Возвращает синтаксис в порядке.
- При запуске Apache с помощью net start apache2.4 я вижу следующую ошибку в средстве просмотра событий:
Код: Выделить всё
The Apache service named reported the following error:
>>> httpd.exe: Syntax error on line 194 of C:/Apache24/conf/httpd.conf:
Cannot load C:/Users/{me}/AppData/Local/Programs/Python/Python313/Lib/site-packages/mod_wsgi/server/mod_wsgi.cp313-win_amd64.pyd
into server: The specified module could not be found. .
- Я подтвердил, что файл mod_wsgi существует точно в том месте, которое указано в файле httpd.conf:
Код: Выделить всё
c:\Apache24\bin>dir "C:\Users\{me}\AppData\Local\Programs\Python\Python313\Lib\site-packages\mod_wsgi\server"
Volume in drive C is Windows
Volume Serial Number is 8205-BA06
Directory of C:\Users\{me}\AppData\Local\Programs\Python\Python313\Lib\site-packages\mod_wsgi\server
10/23/2024 02:49 PM .
10/23/2024 02:49 PM ..
10/23/2024 02:49 PM 1,097 apxs_config.py
10/23/2024 02:49 PM 3,563 environ.py
10/23/2024 02:49 PM management
10/23/2024 02:49 PM 134,656 mod_wsgi.cp313-win_amd64.pyd
10/23/2024 02:49 PM 138,014 __init__.py
10/23/2024 02:49 PM __pycache__
4 File(s) 277,330 bytes
4 Dir(s) 56,747,614,208 bytes free
- Apache отлично работает с httpd.exe, но при использовании net start происходит сбой apache2.4.
- В журналах Apache (ни в журнале ошибок, ни в журнале доступа) ошибки не регистрируются.
- Модуль mod_wsgi, похоже, загружается без проблем при запуске вручную, но не как служба.
- httpd.conf (загрузка mod_wsgi):
Код: Выделить всё
LoadModule wsgi_module "C:/Users/{me}/AppData/Local/Programs/Python/Python313/Lib/site-packages/mod_wsgi/server/mod_wsgi.cp313-win_amd64.pyd"
WSGIPythonHome "C:/Users/{me}/AppData/Local/Programs/Python/Python313"
WSGIPythonPath "C:/{my_webapp}"
- Конфигурация VirtualHost:
Код: Выделить всё
ServerName .com
ServerAlias www.{my_webapp}.com
DocumentRoot "C:/{my_webapp}"
WSGIScriptAlias / C:/{my_webapp}/{my_webapp}/wsgi.py
WSGIApplicationGroup %{GLOBAL}
LogLevel info wsgi:debug
Require all granted
Alias /static/ C:/{my_webapp}/static/
Require all granted
ErrorLog "C:/Apache24/logs/{my_webapp}_error.log"
CustomLog "C:/Apache24/logs/{my_webapp}_access.log" common
- Проверено, что Apache и mod_wsgi являются 64-разрядными.
- Подтверждено, что пути к Python и mod_wsgi верны.
- Успешно запустил httpd.exe, подтвердив, что настройка работает вручную.
Проверил средство просмотра событий Windows на наличие ошибок, но не нашел никаких дополнительных сведений в журнале ошибок Apache.
Почему Apache может запустить через httpd.exe, но не удается при использовании net start apache2.4? Как мне устранить эту неполадку дальше, особенно учитывая отсутствие журналов в Apache?
Соответствующие сообщения
- mod_wsgi не найден для apache/windows
- https://serverfault.com/questions/10705 ... y-wsgi-app
- https://groups.google.com/g/modwsgi/c/RVD1hIxb2eI
Подробнее здесь: https://stackoverflow.com/questions/791 ... with-httpd