Django + EC2 + Apache дает SERVER ERROR 500

Я работал над проектом Django локально, и все работало нормально.

Я развернул его на EC2 Ubuntu вместе с Apache2, и он выдает серверную ошибку 500. Я пробовал и с gunicorn+nginx, все равно безрезультатно.

В качестве контекста, я использую Django4, Python3, Apache2 вместе с;

  1. AWS RDS for postgres DB
  2. AWS S3 for static files (Both are working fine in dev and prod mode locally).

Я также добавил IP адрес моего EC2 в ALLOWED_HOSTS и все то же самое (также получаю ту же ошибку, если разрешаю все через *).

Примечание: все мои учетные данные находятся в файле .env.

Почему-то приложение Django не предоставляет доступ.

На самом деле я хочу получить SSL от CertBot и присвоить купленный домен .dev.

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

Любые предложения будут очень полезны.

Спасибо.

мой файл apache .conf

<VirtualHost *:80>
    ServerAdmin admin@admin.com
    ServerName <aws_public_ip_address>
    ServerAlias <aws_public_ip_address>

    DocumentRoot /home/ubuntu/liveProject/Django-Project
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    Alias /static /home/ubuntu/liveProject/Django-Project/static
    <Directory /home/ubuntu/liveProject/Django-Project/static>
        Require all granted
    </Directory>

    Alias /template /home/ubuntu/liveProject/Django-Project/tempate
    <Directory /home/ubuntu/liveProject/Django-Project/tempate>
        Require all granted
    </Directory>


    <Directory /home/ubuntu/liveProject/Django-Project/ProjectName>
        <Files wsgi.py>
            Require all granted
        </Files>
    </Directory>

    WSGIDaemonProcess Django-Project python-path=/home/ubuntu/liveProject/Django-Project python-home=/home/ubuntu/liveProject/liveEnv
    WSGIProcessGroup Django-Project
    WSGIScriptAlias / /home/ubuntu/liveProject/Django-Project/ProjectName/wsgi.py
</VirtualHost>

Спасибо.

Попробуйте добавить виртуальный хост

WSGIApplicationGroup %{GLOBAL}

Я определил проблему и она устранена, наконец-то после более чем 2 дней.

Ничего не было, apache или django не заполняли значения из моего .env файла. Было похоже, что файл .env не выходит.

Я заменил все значения непосредственно в settings.py и все заработало.

Теперь мне придется посмотреть, как я могу определить свои конфиденциальные учетные данные вдали от settings.py

Спасибо.

Вернуться на верх