Внутренняя ошибка сервера 500 Django на Apahce
На Windows создано приложение Django для начала работы (Rocket screen...). Реализовал обслуживание приложения Django локально через Apache в соответствии с этим руководством. Следовал всем предыдущим темам в этом разделе. Результат:
localhost:8000
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator at admin@example.com to inform them of the time this error occurred, and the actions you performed just before this error.
More information about this error may be available in the server error log.
httpd -e debug
httpd.conf
httpd-vhosts.conf
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "${SRVROOT}/docs/dummy-host.example.com"
ServerName dummy-host.example.com
ServerAlias www.dummy-host.example.com
ErrorLog "logs/dummy-host.example.com-error.log"
CustomLog "logs/dummy-host.example.com-access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "${SRVROOT}/docs/dummy-host2.example.com"
ServerName dummy-host2.example.com
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerName localhost
ServerAlias localhost
WSGIScriptAlias / "C:/Users/u/Desktop/Ido/WorkSpace/Apps/apache/miniDjango/apache_works/apache_works/wsgi_windows.py"
ErrorLog "C:/Users/u/Desktop/Ido/WorkSpace/Apps/apache/miniDjango/apache_works/logs/dashboard.error.log"
CustomLog "C:/Users/u/Desktop/Ido/WorkSpace/Apps/apache/miniDjango/apache_works/logs/dashboard.access.log" combined
<Directory "C:/Users/u/Desktop/Ido/WorkSpace/Apps/apache/miniDjango/apache_works/apache_works">
<Files wsgi_windows.py>
Require all granted
</Files>
</Directory>
Alias /static "C:/Users/u/Desktop/Ido/WorkSpace/Apps/apache/miniDjango/apache_works/static"
<Directory "C:/Users/u/Desktop/Ido/WorkSpace/Apps/apache/miniDjango/apache_works/static">
Require all granted
</Directory>
</VirtualHost>
Две фиктивные папки hosts в папке docs, содержащие каждый index.html (могу предоставить, если важно...)
Settings.py
from pathlib import Path
import os
DEBUG = False # same error when DEBUG = True
ALLOWED_HOSTS = ['localhost', '*', '127.0.0.1']
ROOT_URLCONF = 'apache_works.urls'
WSGI_APPLICATION = 'apache_works.wsgi.application
# Password validation
# https://docs.djangoproject.com/en/4.2/ref/settings/#auth-password-validators
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
Успешно выполнили python manage.py collectstatic
wsgi.py
import os
import sys
import site
from django.core.wsgi import get_wsgi_application
# Add the app’s directory to the PYTHONPATH
sys.path.append("C:/Users/u/Desktop/Ido/WorkSpace/Apps/apache/miniDjango")
sys.path.append("C:/Users/u/Desktop/Ido/WorkSpace/Apps/apache/miniDjango/apache_works")
sys.path.append("C:/Users/u/Desktop/Ido/WorkSpace/Apps/apache/miniDjango/apache_works/apache_works")
os.environ['DJANGO_SETTINGS_MODULE'] = 'apache_works.settings'
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'apache_works.settings')
application = get_wsgi_application()
Переменные окружения:
MOD_WSGI_APACHE_ROOT_DIR : C:/Users/u/Desktop/Ido/WorkSpace/Apps/apache/Apache24
PYTHONHOME : C:/Users/u/AppData/Local/Programs/Python/Python39
PYTHONPATH : C:/Users/u/Desktop/Ido/WorkSpace/Apps/apache/miniDjango/apache_works;C:/Users/u/Desktop/Ido/WorkSpace/Apps/apache/miniDjango/apache_works/apache_works
На стороне ИТ:
Created an in-bound and out-bound rules for Port 80 in the Firewall.
Using administrative user to run 'httpd -e debug' or for starting the Apache2.4 service in Services (Using the Log On As)
Журнал ошибок чист.
Может предоставить больше деталей.
Что я упускаю? Может быть, что-то в поддержке динамических общих объектов (DSO)?
Проблема заключалась в моем пути WSGIPythonHome.
Вместо "C:\Users\u\Desktop\Ido\WorkSpace\Apps\apache\miniDjango\venv\Scripts\python"
Должно быть
"C:\Users\u\Desktop\Ido\WorkSpace\Apps\apache\miniDjango\venv"
Проблема заключалась в моем пути WSGIPythonHome.
Вместо "C:\Users\u\Desktop\Ido\WorkSpace\Apps\apache\miniDjango\venv\Scripts\python"
Должно быть
"C:\Users\u\Desktop\Ido\WorkSpace\Apps\apache\miniDjango\venv"