I have never had a problem that I would have traced back to gunicorn not working ...
On the other hand not having to run gunicorn as another separate service might be an advantage.
I'm connecting nginx to gunicorn through a unix socket too and found that to be a bit of a pain.
Years ago every website needed Apache or Nginx, then lately I've hardly used it at all... usually have a container with gunicorn behind a load balancer that is part of the cloud platform
It's easy to see how to get Nginx Unit working, but not sure exactly how it fits into the utility picture vs other options
Nginx has a lot of usecases in one package, most larger companies and more technical workplaces, use Nginx or similar alternatives.
Nginx Unit typically is meant for unifying the entire application space of multiple programming languages served by 1 Server (which also acts as a static server)
So serving golang, python, php code and application all under 1 single wsgi/asgi application server called nginx unit and be able to dynamically change its routes with api calls too.
This allows you to have 1 root process in a docker container to control your python fastapi or golang api processes, without needing 1 container for nginx and 1 container for Python/Golang process or a supervisord like init system controlling 2 or more processes inside 1 container
Everything is under nginx unit and nginx unit is being triggered as the main process inside the container.
Moreover it is also much much much more faster in terms of response time than most language dependent application servers like gunicorn/unicorn for python3, etc [1]
[1](https://medium.com/@le_moment_it/nginx-unit-discover-and-ben...)
The most time spent was building from source in Docker for ARM support and going down a rabbit hole of targeting the minor Python version that apt was installing on some Debians, w/o a virtual env, instead of the one it defaulted to.
I'm a fan. High performance, easily configurable ASGI server for so many flavors.