Как настроить django для запуска на apache - PullRequest
0 голосов
/ 20 апреля 2020

Я боролся с этой проблемой последние 3 дня. Я смог установить и запустить Apache на компьютере с CentOS. Я также могу запустить простые html или wsgi файлы. Проблема в том, когда я пытаюсь запустить Django. Проект Django отлично работает с manage.py runserver, но при настройке файла wsgi.py и файла .config у меня возникают проблемы (ошибка 500).

Я уже пробовал этот подход и я также исследовал похожие вопросы о переполнении стека, но я не смог найти решение своей проблемы.

Я включил более подробную информацию ниже. Я надеюсь, что вы можете помочь мне, спасибо!

error_log;

[Mon Apr 20 09:59:59.532476 2020] [:error] [pid 31466] [client 10.5.230.111:59479]   File "/srv/www/example/mysite/mysite/wsgi.py", line 14, in <module>
[Mon Apr 20 09:59:59.532591 2020] [:error] [pid 31466] [client 10.5.230.111:59479]     from django.core.wsgi import get_wsgi_application
[Mon Apr 20 09:59:59.532627 2020] [:error] [pid 31466] [client 10.5.230.111:59479] ImportError: No module named django.core.wsgi

example.config;

<VirtualHost *:80>
    WSGIDaemonProcess python-home=/var/www/django/env/ python-path=/srv/www/example/mysite:/var/www/django/env/lib/python3.6/site-packages

    WSGIProcessGroup %{GLOBAL}
    WSGIScriptAlias /exam /srv/www/example/mysite/mysite/wsgi.py

    <Directory /srv/www/example/mysite/mysite>
        <Files wsgi.py>
            Require all granted
        </Files>
    </Directory>

    # Django static files, here you must specify your own path's
    Alias /static/ /srv/www/example/mysite/static/
    <Directory "/srv/www/example/mysite/static">
      Require all granted
    </Directory>
</VirtualHost>

wsgi;

import os
import sys
import site

for root, _, files in os.walk('/usr/local/lib/python3.4/site-packages/django'):
    for f in files:
        os.system('dos2unix %s' % abspath(join(root, f)))

from django.core.wsgi import get_wsgi_application

site.addsitedir("/var/www/django/env/lib/python3.6/site-packages")

sys.path.append("/srv/www/example/mysite")
sys.path.append("/srv/www/example/mysite/mysite")

activate_this = "/var/www/django/env/bin/activate_this.py"

with open(activate_this) as f:
    code = compile(f.read(), activate_this, "exec")
    exec(code, dict(__file__=activate_this))

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

application = get_wsgi_application()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...