Apache Server возвращает HTML-файл в var / www / html, но не возвращает мой веб-сайт - PullRequest
0 голосов
/ 01 июля 2019

У меня есть сервер Linux (Ubuntu), и я пытаюсь настроить apache, но на сервере не работает мой фактический сервер Django, а вместо этого выполняется html-файл в var / www / html.Запуск

sudo systemctl reload apache2

работает нормально, поэтому я думаю, что проблема связана с файлом .conf в / etc / apache2 / sites-available / с именем infosum.conf.

Это для новогоСервер Linux (Ubuntu).Проект работает под управлением Python3 Django 2.2 и Apache 2.4 с mod-wsgi.При запуске

python manage.py runserver 0.0.0.0:8000

сервер работает нормально, но на сервере apache он просто возвращает этот HTML-файл.

/ etc / apache2 / sites-available / infosum.conf (infosumэто имя проекта)

Alias /static/ /home/username/infosum/staticfiles
<Directory /home/username/infosum/staticfiles>
    Require all granted
</Directory>
Alias /media/ /home/username/infosum/media/
<Directory /home/username/infosum/media>
    Require all granted
</Directory>
<Directory /home/username/infosum/infosum>
     <Files wsgi.py>
           Require all granted
      </Files>
</Directory>
WSGIScriptAlias / /home/username/infosum/infosum/wsgi.py
WSGIDaemonProcess django_app python-path=/home/username/infosum python-home=/home/username/infosum/venv
        WSGIProcessGroup django_app

/ home / username / infosum / infosum / wsgi.py

import os
import sys
sys.path.append('/home/username/infosum/infosum')

# add the virtualenv site-packages path to the sys.path
sys.path.append('/home/username/infosum/venv/Lib/site-packages')
from django.core.wsgi import get_wsgi_application

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

application = get_wsgi_application()

ОБНОВЛЕНИЕ: Я только что запустил

sudo a2ensite infosum

и этоЯ работал над созданием сайта.Одна проблема, это ошибка 500 сервера и при запуске

sudo tail -f /var/log/apache2/error.log

я получаю

ImportError: No module named django.core.wsgi

Ответы [ 2 ]

0 голосов
/ 03 июля 2019

ОК, я понял.Сначала я запустил

a2ensite /etc/apache2/sitesavailable/infosum

и обновил файл wsgi.py с

sys.path.append('/home/username/infosum/venv/Lib/site-packages')

до

sys.path.append('/home/username/infosum/venv/lib/python3.7/site-packages')
0 голосов
/ 01 июля 2019

Вы должны изменить конфигурацию по умолчанию

nano /etc/apache2/sites-enabled/000-default.conf

, затем добавить

<VirtualHost *:80>
    ProxyPreserveHost On

    ProxyPass / http://0.0.0.0:8000/
    ProxyPassReverse / http://0.0.0.0:8000/

    ServerName localhost
</VirtualHost>

, затем перезапустить apache и запустить сервер django, он будет работать.

...