Когда я добавляю проект в python manager для моего django сайта, он выдает мне : Project startup failed, please check the project Logs

Когда я добавляю проект в python manager для моего django сайта, он выдает мне : Project startup failed, please check the project Logs and the status is suspended as you can see in the image below.enter image description here I followed these steps :

Упомянутые «журналы», похоже, не работают, но я вижу эти ошибки во время выполнения:

The dependencies needed to install the project, please wait...
ERROR: Could not find a version that satisfies the requirement uvicom (from versions: none)
ERROR: No matching distribution found for uvicom 2024-11-06 15:16:38
Start installing dependencies Looking in indexes: pypi.org
ERROR: Could not find a version that satisfies the requirement asgiref=3.8.1 (from versions: none)
ERROR: No matching distribution found for asgiret-381

и

(myenv) root@vps-X:/www/wwwroot/myproject# gunicorn myproject.wsgi:application
[2024-11-06 14:07:13 +0100] [203739] [INFO] Starting gunicorn 23.0.0
[2024-11-06 14:07:13 +0100] [203739] [ERROR] Connection in use: ('0.0.0.0', 8000)
[2024-11-06 14:07:13 +0100] [203739] [ERROR] connection to ('0.0.0.0', 8000) failed: [Errno 98]

Вот шаги, которые я выполнил:

Шаг 1: Подключение к серверу Используйте SSH для безопасного подключения к серверу. Замените <your-server-ip> на IP вашего сервера. ssh root@<your-server-ip>

Шаг 2: Настройка каталога проекта и среды Python Создайте каталог проекта: Организуйте файлы проекта, создав специальную папку. mkdir -p /www/wwwroot/myproject cd /www/wwwroot/myproject Создайте и активируйте виртуальную среду: Виртуальные среды помогают управлять зависимостями для вашего проекта. python3 -m venv myenv source myenv/bin/activate Установите необходимые пакеты: После активации среды установите Django, Gunicorn и другие необходимые пакеты. pip install django gunicorn whitenoise python-dotenv

Шаг 3: Настройка вашего проекта Django Клонируйте ваш проект или начните новый: Если ваш проект Django есть на GitHub или GitLab, клонируйте его. Если нет, создайте новый проект. git clone <your-repository-url> . Или начните новый проект: django-admin startproject myproject . Установите зависимости проекта: Если у вас есть файл requirements.txt, установите все перечисленные пакеты. pip install -r requirements.txt

Шаг 4: Настройка переменных окружения с помощью файла .env Создание и редактирование файла .env: Переменные окружения используются для безопасного хранения конфиденциальных данных. nano .env Добавьте свои переменные окружения: Добавьте секретные ключи и настройки вашего проекта. DJANGO_SECRET_KEY='your-secret-key' DJANGO_DEBUG=False EMAIL_HOST_PASSWORD='your-email-password'

Шаг 5: Обновление Django settings.py Отредактируйте settings.py: Загрузите переменные окружения и настройте параметры для производства. from pathlib import Path import os from dotenv import load_dotenv load_dotenv() BASE_DIR = Path(_file_).resolve().parent.parent SECRET_KEY = os.environ.get('DJANGO_SECRET_KEY') DEBUG = False ALLOWED_HOSTS = ['<your-server-ip>', 'example. dz'] # Добавьте свой IP и домен # Настройки статических файлов STATIC_ROOT = BASE_DIR / 'staticfiles' STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage' # Middleware MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'whitenoise.middleware.WhiteNoiseMiddleware', # другие middleware ]

Шаг 6: Подготовка статических файлов и перенос базы данных Сбор статических файлов: Django использует эту команду для сбора всех статических файлов в одну директорию. python manage.py collectstatic Миграция базы данных: Примените все ожидающие миграции к вашей базе данных. python manage.py migrate

Шаг 7: Настройка Gunicorn в качестве сервера приложений Создание файла службы Gunicorn: Это настраивает Gunicorn на автоматический запуск при загрузке. sudo nano /etc/systemd/system/gunicorn.service Добавьте конфигурацию службы: Вставьте следующее содержимое, при необходимости скорректировав пути. [Unit] Description=gunicorn daemon After=network.target [Service] User=www-data Group=www-data WorkingDirectory=/www/wwwroot/myproject ExecStart=/www/wwwroot/myproject/myenv/bin/gunicorn --access-logfile - --workers 3 --bind unix:/www/wwwroot/myproject/myproject. sock myproject.wsgi:application [Install] WantedBy=multi-user.target Запуск и включение Gunicorn: sudo systemctl start gunicorn sudo systemctl enable gunicorn

Шаг 8: Настройте веб-сайт в aaPanel Войдите в aaPanel: Откройте https://<your-server-ip>:8888 в браузере и войдите в aaPanel. Добавьте новый веб-сайт: Перейдите в раздел Веб-сайты. Нажмите кнопку Добавить сайт и заполните данные: Домен: example.dz Тип: Python Project Project Path: /www/wwwroot/myproject Версия Python: Выберите свою версию (например, 3.x) Framework: Django WSGI: Gunicorn

Шаг 9: Настройте SSL для вашего сайта Подайте заявку на SSL в aaPanel: Перейдите в Список сайтов в aaPanel. Щелкните на своем домене. Перейдите в раздел SSL и подайте заявку на сертификат Let's Encrypt. Включите функцию Force HTTPS для безопасного просмотра веб-страниц.

Шаг 10: Проверка журналов и тестирование установки Проверка журналов Gunicorn: Просмотрите журналы, чтобы выявить любые потенциальные проблемы с Gunicorn. sudo journalctl -u gunicorn Проверьте журналы aaPanel: Просмотрите журналы aaPanel, чтобы убедиться в отсутствии ошибок сервера. tail -f /www/wwwlogs/example.dz.log

Шаг 11: Заключительные проверки безопасности и разрешений Установите правильные разрешения: Правильные разрешения помогают защитить файлы и обеспечить бесперебойную работу приложения. sudo chown -R www-data:www-data /www/wwwroot/myproject sudo chmod -R 755 /www/wwwroot/myproject Создайте каталог резервных копий: В этой папке будут храниться резервные копии вашего проекта. mkdir /www/backup/django chmod 755 /www/backup/django Шаг 12: Настройка автоматического резервного копирования в aaPanel Перейдите в раздел Backup:`ваш текст` Выберите Add Backup Task. Выберите веб-сайт и базу данных для резервного копирования. Установите расписание, например, ежедневное, чтобы обеспечить регулярное резервное копирование. Шаг 13: Мониторинг сайта Следите за ресурсами в aaPanel: Регулярно проверяйте Мониторинг, чтобы следить за состоянием сервера. Настройте уведомления об ошибках: Если поддерживается, настройте уведомления, чтобы быть в курсе потенциальных проблем. введите описание изображения здесь

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