Ошибка при команде gunicorn --bind 0.0.0.0:8000 prokat.wsgi

Есть проект на джанго, задеплоил его на сервер, но при запуске gunicorn командой:

gunicorn --bind 0.0.0.0:8000 prokat.wsgi

Выдает ошибку:

django.core.exceptions.ImproperlyConfigured: Requested setting LOGGING_CONFIG, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

Мне кажется, что ошибка в какой-то мелочи, я не знаю что делать.. По совету в ошибке прошелся, но толку нет.

Python 3.10.6
Ubuntu 22.04
Django 3.2.14

Полностью ошибка:

[2022-11-03 08:48:50 +0000] [13216] [INFO] Starting gunicorn 20.1.0
[2022-11-03 08:48:50 +0000] [13216] [INFO] Listening at: http://0.0.0.0:8000 (13216)
[2022-11-03 08:48:50 +0000] [13216] [INFO] Using worker: sync
[2022-11-03 08:48:50 +0000] [13217] [INFO] Booting worker with pid: 13217
[2022-11-03 08:48:51 +0000] [13217] [ERROR] Exception in worker process
Traceback (most recent call last):
  File "/home/eltimccc/dev/prokat-pskov/venv/lib/python3.10/site-packages/gunicorn/arbiter.py", line 589, in spawn_worker
    worker.init_process()
  File "/home/eltimccc/dev/prokat-pskov/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", line 134, in init_process
    self.load_wsgi()
  File "/home/eltimccc/dev/prokat-pskov/venv/lib/python3.10/site-packages/gunicorn/workers/base.py", line 146, in load_wsgi
    self.wsgi = self.app.wsgi()
  File "/home/eltimccc/dev/prokat-pskov/venv/lib/python3.10/site-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
  File "/home/eltimccc/dev/prokat-pskov/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", line 58, in load
    return self.load_wsgiapp()
  File "/home/eltimccc/dev/prokat-pskov/venv/lib/python3.10/site-packages/gunicorn/app/wsgiapp.py", line 48, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/home/eltimccc/dev/prokat-pskov/venv/lib/python3.10/site-packages/gunicorn/util.py", line 359, in import_app
    mod = importlib.import_module(module)
  File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/home/eltimccc/dev/prokat-pskov/prokat/prokat/wsgi.py", line 16, in <module>
    application = get_wsgi_application()
  File "/home/eltimccc/dev/prokat-pskov/venv/lib/python3.10/site-packages/django/core/wsgi.py", line 12, in get_wsgi_application
    django.setup(set_prefix=False)
  File "/home/eltimccc/dev/prokat-pskov/venv/lib/python3.10/site-packages/django/__init__.py", line 19, in setup
    configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
  File "/home/eltimccc/dev/prokat-pskov/venv/lib/python3.10/site-packages/django/conf/__init__.py", line 82, in __getattr__
    self._setup(name)
  File "/home/eltimccc/dev/prokat-pskov/venv/lib/python3.10/site-packages/django/conf/__init__.py", line 63, in _setup
    raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: Requested setting LOGGING_CONFIG, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
[2022-11-03 08:48:51 +0000] [13217] [INFO] Worker exiting (pid: 13217)
[2022-11-03 08:48:51 +0000] [13216] [INFO] Shutting down: Master
[2022-11-03 08:48:51 +0000] [13216] [INFO] Reason: Worker failed to boot.

wsgi.py:

import os

from django.core.wsgi import get_wsgi_application

("DJANGO_SETTINGS_MODULE", "prokat.settings")

application = get_wsgi_application()

settings.py:

    import os
    from pathlib import Path
    
    # Build paths inside the project like this: BASE_DIR / 'subdir'.
    BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    
    
    
    # SECURITY WARNING: keep the secret key used in production secret!
    SECRET_KEY = "django-insecure-zxmyk^gb(#c7c7f-y^ml&&sjjdlhutcynj5tki^9tsmihm$odd"
    
    # SECURITY WARNING: don't run with debug turned on in production!
    DEBUG = True
    
    MEDIA_URL = "/media/"
    MEDIA_ROOT = os.path.join(BASE_DIR, "media")
    
    
    # Application definition
    
    INSTALLED_APPS = [
        "django.contrib.admin",
        "django.contrib.auth",
        "django.contrib.contenttypes",
        "django.contrib.sessions",
        "django.contrib.messages",
        "django.contrib.staticfiles",
        "car.apps.CarConfig",
        "mail.apps.MailConfig",
        "widget_tweaks",
        "sorl.thumbnail",
        "news.apps.NewsConfig",
        "service.apps.ServiceConfig",
        "django_summernote",
    ]
    
    MIDDLEWARE = [
        "django.middleware.security.SecurityMiddleware",
        "django.contrib.sessions.middleware.SessionMiddleware",
        "django.middleware.common.CommonMiddleware",
        "django.middleware.csrf.CsrfViewMiddleware",
        "django.contrib.auth.middleware.AuthenticationMiddleware",
        "django.contrib.messages.middleware.MessageMiddleware",
        "django.middleware.clickjacking.XFrameOptionsMiddleware",
    ]
    
    ROOT_URLCONF = "prokat.urls"
    
    TEMPLATES_DIR = os.path.join(BASE_DIR, "templates")
    
    TEMPLATES = [
        {
            "BACKEND": "django.template.backends.django.DjangoTemplates",
            "DIRS": [TEMPLATES_DIR],
            "APP_DIRS": True,
            "OPTIONS": {
                "context_processors": [
                    "mail.context_processors.call_orders",
                    "django.template.context_processors.debug",
                    "django.template.context_processors.request",
                    "django.contrib.auth.context_processors.auth",
                    "django.contrib.messages.context_processors.messages",
                ],
            },
        },
    ]
    
    WSGI_APPLICATION = "prokat.wsgi.application"
    
    
    
    DATABASES = {
        "default": {
            "ENGINE": "django.db.backends.sqlite3",
            "NAME": os.path.join(BASE_DIR, "db.sqlite3"),
        }
    }
    
    
    
    AUTH_PASSWORD_VALIDATORS = [
        {
            "NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator",
        },
        {
            "NAME": "django.contrib.auth.password_validation.MinimumLengthValidator",
        },
        {
            "NAME": "django.contrib.auth.password_validation.CommonPasswordValidator",
        },
        {
            "NAME": "django.contrib.auth.password_validation.NumericPasswordValidator",
        },
    ]
    
    
    
    LANGUAGE_CODE = "en-us"
    
    TIME_ZONE = "UTC"
    
    USE_I18N = True

USE_L10N = True

USE_TZ = True


STATIC_ROOT = "staticfiles"
STATIC_URL = "/static/"
STATICFILES_DIRS = [os.path.join(BASE_DIR, "static")]


DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField"
Вернуться на верх