Проблема с systemctl и uwsgi для удаленного приложения django

Когда я запускаю uwsgi вручную с помощью команды uwsgi --ini uwsgi.ini, он работает правильно, но когда я запускаю sudo systemctl start uwsgi, он работает правильно (т.е. journalctl -b -u uwsgi или sudo systemctl status uwsgi не показывает никаких ошибок), но я получаю 500 ошибку для всех вызовов API. Ошибки не возникают, когда я запускаю сервер вручную. И файл uwsgi.service работал нормально до сегодняшнего утра, так что я не знаю, что случилось внезапно. Помогите мне, пожалуйста? Удаленный сервер - это машина ubuntu.

Я пробовал изменять права доступа к соответствующим файлам/каталогам и т.д., ничего не помогает. Когда я проверяю журнал uwsgi, он говорит, что приложение django не найдено, но я уверен, что файлы/переменные env настроены правильно. Когда я запускаю uwsgi вручную, все тоже работает нормально.

Set PythonHome to /home/ubuntu/venv3.9
*** Python threads support is disabled. You can enable it with --enable-threads ***
Python main interpreter initialized at 0x557b93f7ebf0
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 145840 bytes (142 KB) for 1 cores
*** Operational MODE: single process ***
Traceback (most recent call last):
  File "/home/ubuntu/[app]/wsgi.py", line 14, in <module>
    application = get_wsgi_application()
  File "/home/ubuntu/venv3.9/lib/python3.9/site-packages/django/core/wsgi.py", line 12, in get_wsgi_application
    django.setup(set_prefix=False)
  File "/home/ubuntu/venv3.9/lib/python3.9/site-packages/django/__init__.py", line 19, in setup
    configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
  File "/home/ubuntu/venv3.9/lib/python3.9/site-packages/django/conf/__init__.py", line 102, in __getattr__
    self._setup(name)
  File "/home/ubuntu/venv3.9/lib/python3.9/site-packages/django/conf/__init__.py", line 82, 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.
unable to load app 0 (mountpoint='') (callable not found or import error)
*** no app loaded. going in full dynamic mode ***
*** uWSGI is running in multiple interpreter mode ***
spawned uWSGI master process (pid: 569090)
spawned uWSGI worker 1 (pid: 569097, cores: 1)
spawned uWSGI http 1 (pid: 569098)
--- no python application found, check your startup logs for errors ---
[pid: 569097|app: -1|req: -1/1] 127.0.0.1 () {60 vars in 1306 bytes} [Sat Jun  8 20:41:13 2024] POST /api/user/login/ => generated 21 bytes in 0 msecs (HTTP/1.0 500) 2 headers in 83 bytes (0 switches on core 0)

вот мой файл uwsgi.ini:

[uwsgi]
chdir = /home/ubuntu/"project_home"
module = "project_name".wsgi:application
home = /home/ubuntu/venv3.9
http = 0.0.0.0:8000
master = true
vacuum = true
# pidfile = /home/ubuntu/"project_home"/.config/uwsgi/uwsgi.pid
pidfile = /home/ubuntu/.uwsgi/uwsgi.pid
logto = /var/log/uwsgi:"my_project".log
for-readline = /home/ubuntu/"project_home"/.config/uwsgi/env
  env = %(_)
endfor =
uid = ubuntu
gid = www-data

вот мой env файл:

export DJANGO_SETTINGS_MODULE="my_project".settings.production
export DB_PASSWORD='password'
export EMAIL_HOST_PASSWORD='password_'
export SECRET_KEY="secret_key"

вот мой файл uwsgi.service:

[Unit]

Description=uWSGI Emperor service
After=syslog.target

[Service]
ExecStart=/home/ubuntu/venv3.9/bin/uwsgi --ini /home/ubuntu/"my_project"/.config/uwsgi/uwsgi.ini

RuntimeDirectory=uwsgi
Restart=on-failure
KillSignal=SIGQUIT
Type=simple
StandardError=syslog
NotifyAccess=all

[Install]
WantedBy=multi-user.target

Просто повторюсь, когда я запускаю `

/home/ubuntu/venv3.9/bin/uwsgi --ini /home/ubuntu/"my_project"/.config/uwsgi/uwsgi.ini

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

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