I use supervisord for managing tornado with no issuse wnhile using nginx as a load balancer.
I am having severe issues with supervisor and uWSGI with nginx as a load blancer. I am using bottle as the framework.
when I run the below from the command line and I load a page in FF hitting nginx, all works great.
sudo command = /usr/local/bin/uwsgi --loop gevent --socket 127.0.0.1:8070 --wsgi-file /home/ubuntu/workspace/uwsgiServer.py -b 32768 --master --async 5 --enable-threads --listen 100 --uid root
If I place the command line in supervior then I get page not found.
uWSGI Error
Python application not found
[program:uwsgi]
#autostart=true
#autorestart=true
#process_name = uwsgi-%(process_num)s
command = /usr/local/bin/uwsgi --loop gevent --socket 127.0.0.1:8070 --wsgi-file /home/ubuntu/workspace//uwsgiServer.py -b 32768 --master --async 5 --enable-threads --listen 100 --uid root
#--port=%(process_num)s
#--log_file_prefix=%(here)s/logs/%(program_name)s-%(process_num)s.log
#numprocs = 1
#numprocs_start = 8070
Here are the relevant portions of the nginx.conf file:
upstream uwsgi_b {
server 127.0.0.1:8070;
}
location /u/ {
include uwsgi_params;
uwsgi_param X-Real-IP $remote_addr;
uwsgi_param Host $http_host;
uwsgi_pass uwsgi_b;
}
You might probably add some more params to supervisord config, like –pp (python path) to the uwsgi command, and maybe some environment variables:
EDIT: Removed Django-specific settings