I'm currently trying to set up a server on Amazon EC2 (Ubuntu 11.10) using web.py, nginx and uWSGI as shown here: http://blog.nobien.net/2011/08/14/nginx-uwsgi-and-web-py-and-my-new-job/

I've installed everything, and saved all the scripts from that page in the same folder. I then edited the uwsgi.sh script to point to the location of uwsgi.yaml.

I then ran sh nginx.sh start which worked, then sh uwsgi.sh start, which resulted in the following error message:

Starting uwsgi: start-stop-daemon: user 'uwsgi' not found

I noticed that the uwsgi.sh script has a few lines like this, but their purpose was not explained in the blog post:



Do I replace these with 'root', or make a new user purely for uwsgi to run under?

1 Answer 1


Most people would create a uwsgi user, as you correctly guessed, and this is what your scripts assume. If for some reason you don't want to do this, you would run it as user "www-data", but you shouldn't use root. (If you want to use a user other than uwsgi, you should probably only change the "OWNER=uwsgi" line, not the other lines, which only give a name and a description to the service.)

Also note that Ubuntu 11.10 seems to have ready-made packages for uwsgi, so it might be preferable to install them with "apt-get install uwsgi". Most probably these packages will automatically create the uwsgi user when you install them.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.