uwsgi version 1.2.3, Debian, and Pyramid
First, we need to install uwsgi:
apt-get update apt-get install uwsgi uwsgi-plugin-python
Then we need to create a .ini file that goes into /etc/uwsgi/apps-available:
[uwsgi] uid = username gid = username workers = 4 buffer-size = 25000 chmod-socket = 666 single-interpreter = true master = true socket = /tmp/project.sock plugin = python pythonpath = /var/www/virtualenv/bin paste = config:/var/www/virtualenv/project/production.ini home = /var/www/virtualenv
Then create the symlink:
ln -s /etc/uwsgi/apps-available/project.ini /etc/uwsgi/apps-enabled/project.ini
Then restart uwsgi:
/etc/init.d/uwsgi restart
If it doesn’t work, a few things might need to be checked. First, you need to make sure your virtualenv is using Python 2.7.
If you still need to debug, you can do
uwsgi --ini /etc/uwsgi/apps-enabled/project.ini
which will give you some output at which point you should be able to determine the issue.
For Nginx, the config on your site should contain something like the following:
location / { uwsgi_pass unix:/tmp/project.sock; include uwsgi_params; }
and /etc/nginx/uwsgi_params should contain
uwsgi_param QUERY_STRING $query_string; uwsgi_param REQUEST_METHOD $request_method; uwsgi_param CONTENT_TYPE $content_type; uwsgi_param CONTENT_LENGTH $content_length; uwsgi_param REQUEST_URI $request_uri; uwsgi_param PATH_INFO $document_uri; uwsgi_param DOCUMENT_ROOT $document_root; uwsgi_param SERVER_PROTOCOL $server_protocol; uwsgi_param REMOTE_ADDR $remote_addr; uwsgi_param REMOTE_PORT $remote_port; uwsgi_param SERVER_PORT $server_port; uwsgi_param SERVER_NAME $server_name; uwsgi_param SCRIPT_NAME '';