My most recent deployment consists of the following major packages:
Python 3.12.4
Package Version
------------------- ------------
Django 5.0.6
django-crispy-forms 2.2
django-extensions 3.2.3
psycopg2-binary 2.9.9
uWSGI 2.0.26
(Many packages removed for brevity)
This works perfectly for me in a configuration virtually identical to yours. (I’ve got a couple not-critical parameters that you don’t, like a logto
line.)
I also don’t use the emperor across different projects. I don’t remember why right off-hand, but I think it has to do with needing to use different Python and uwsgi versions between projects. (We create separate systemd or supervisord control files for each project. We find it easier to manage that way. Your mileage may vary.)
I see you’ve got a second app defined. Is there any possibility of conflict between the two? As a quick test, it might be worth disabling bellazzini
in both your uwsgi and nginx configurations and seeing if donuts
starts correctly.
(Also from that log file):
2024-07-30T10:51:26.068538+00:00 mmbella uwsgi[11132]: -- unavailable modifier requested: 0 --
From the docs at Things To Know:
A good symptom to recognize an unloaded plugin is messages like “Unavailable modifier requested” in your logs. If you are using distribution supplied packages, double check that you have installed the plugin for your language of choice.
If you did add the plugin line and restarted uwsgi, it might be worth reading through the logs again for updated information. It’s possible that one issue has been fixed to only uncover another.
Are you using the version of uwsgi for your python virtualenv, or are you using a system global uwsgi? (Are they different?)
Yes, I can see where gunicorn may be an easier deployment.