Django/Apache/MOD_WSGI Проблема развертывания: Ошибка внутреннего сервера и цикл перенаправления на CPanel (Almalinux 9)Apache

Ответить Пред. темаСлед. тема
Anonymous
 Django/Apache/MOD_WSGI Проблема развертывания: Ошибка внутреннего сервера и цикл перенаправления на CPanel (Almalinux 9)

Сообщение Anonymous »

Код: Выделить всё

I'm an intern
Попытка развернуть приложение Django на сервере CPanel, и я столкнулся с постоянным «Ошибка внутреннего сервера» в сочетании с циклом apache перенаправления. Я устранение неполадок в течение более двух дней с различными помощниками искусственного интеллекта, но я не могу определить точную причину. Есть свежие перспективы?

Код: Выделить всё

Server OS/sHosting Environment
: cPanel (моя учетная запись CPanel не имеет опции «Setup Python App», поэтому я использую ручную конфигурацию Apache/MOD_WSGI.)
[*]

Код: Выделить всё

Django Deployment
: apache + mod_wsgi
[*]

Код: Выделить всё

No .htaccess content at all
.
[*]

Код: Выделить всё

Project Structure
: у меня есть два экземпляра Django (производство и постановка) для Ci/CD,

каждый со своими собственными настройками, переменными среды, базой данных и доменом.

Код: Выделить всё

validator/settings/base.py


[*]

Код: Выделить всё

validator/settings/production.py
(наследует от базы)

[*]

Код: Выделить всё

validator/settings/staging.py
(наследует от базы)

[*] Environment files are stored in /etc/validator/envs

[*] WSGI files are stored in /etc/validator/wsgi/

[*]

Код: Выделить всё

Django project roots
:/home//
/ (prod) и/home/// (постановка).

[*]

[*]

Код: Выделить всё

Python Version
: мои виртуальные среды используют Python 3.12.9 , и мои файлы WSGI утверждают это. (постановка),
Я получаю «ошибку внутреннего сервера». Мой журнал ошибок Apache (конкретно/var/log/httpd/error_log) показывает следующее критическое сообщение об ошибке:

Код: Выделить всё

[Fri May 30 00:26:38.624027 2025] [core:error] [pid 253617:tid 253705] [client 45.115.89.80:26970] AH00124: Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
Это началось после истечения срока действия/обновления сервера, а затем, когда я настроил новые базы данных для постановки и производства, обновляя соответствующие файлы .env. Ранее это работало (обмен базой данных). < /P>

my Apache Configuration /etc/apache2/conf.d/userdata /......../ code> Мои пользовательские конфигурации django помещаются в эти включенные каталоги.

Код: Выделить всё

/etc/apache2/conf.d/userdata/std/2_4///.conf
):

Код: Выделить всё

ServerName .in
ServerAlias www..in
ServerAlias 

WSGIDaemonProcess django_app python-home=/home//app/venv python-path=/home//app user= group=
WSGIProcessGroup app

WSGIScriptAlias / /etc/validator/wsgi/production.wsgi

Alias /static/ /home//app/staticfiles/


Require all granted




Require all granted



ErrorLog /home//app/error.log
CustomLog /home//app/access.log combined
< /code>
[list]
[*] Постановка домена Custom Apache Config (аналогичный путь для test.domain.in): < /li>
< /ol>
ServerName test..in
ServerAlias www.test..in

WSGIDaemonProcess test_app python-home=/home//app_test/venv python-path=/home//app_test user= group=
WSGIProcessGroup app_test

WSGIScriptAlias / /etc/validator/wsgi/staging.wsgi

Alias /static/ /home//app_test/staticfiles/


Require all granted




Require all granted



ErrorLog /home//app_test/error.log
CustomLog /home//app_test/access.log combined
< /code>
3.3./etc/validator/envs/production.env
):

Код: Выделить всё

DBUSER=
DBPASSWORD=
DBNAME=
DBHOST=localhost
DBPORT=3306
< /code>

 Файл производства WSGI (/etc/validator/wsgi/production.wsgi
):
[/list]

Код: Выделить всё

import os
import sys
from pathlib import Path
from dotenv import load_dotenv

ENV_FILE = Path('/etc/validator/envs/production.env')
load_dotenv(dotenv_path=ENV_FILE)

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

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
  • django settings/prod.py (аналогичная структура для настройки/staging.py ):

Код: Выделить всё

import os
from .base import *

DEBUG = False

ALLOWED_HOSTS = [
"domain",
"www.domain",
"server_ip",
]

DATABASES = {
"default": {
"ENGINE": "django.db.backends.",
"USER": os.environ["DBUSER"],
"PASSWORD": os.environ["DBPASSWORD"],
"NAME": os.environ["DBNAME"],
"HOST": os.environ["DBHOST"],
"PORT": os.environ["DBPORT"],
}
}
Шаги по устранению неполадок, которые я уже предпринял: [/b]
  • Проверено журналы ошибок Apache: основной журнал Apache (/var/log/httpd/error_log) постоянно показывает «Запрос превзошел предел 10 internal -remors». Пользовательские журналы моего приложения Django (/HOME//App/error.log и _test/error.log) пустые или не показывают соответствующих ошибок, часто указывая на проблему до того, как регистратор Django может даже начать.
  • (755 для каталогов, 644 для файлов, 664 для журналов) on/home // app/,/home // app_test/,/etc/validator/envs/и /etc/validator/wsgi/.
  • wsgidaproces user = medivali Group = medivali. Ни один из них не решает проблему.
  • Утверждение версии Python: подтверждено venv/bin/python -версия -3,12+ для обеих сред. ". (phtml | php [0-9]*) $"> sethandler none в мои файлы valyator_conf.conf, чтобы попытаться предотвратить вмешательство Cpanel php-fpm. Создание index.html in/home/medivali/public_html (DocumentRoot по умолчанию в основном Vhost) для тестирования основной подачи Apache, но он все еще приводит к обращению с перенаправлением или внутренней ошибкой. DBPORT в обоих файлах .ENV. Я могу подключиться к базам данных непосредственно с сервера с использованием MySQL Client. Клод и DeepSeek, пробуя различные предложения, но без успеха.


Подробнее здесь: https://stackoverflow.com/questions/796 ... ect-loop-o
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Apache»