0

I am having a hard time trying to run a module from UWSGI. This is part of my deployment code:

# ENVIRONMENT
/usr/bin/pip install virtualenv
mkdir -p /srv/www/test
/usr/local/bin/virtualenv /srv/www/test/venv
source /srv/www/test/venv/bin/activate
/srv/www/test/venv/bin/pip install --force-reinstall -e git+git@github.com:xyz/project.git#egg=project

This is the code in it to run.py in the root of the module

from project import app

def main():
    """docstring for main"""
    app.run(debug=True)

if __name__ == '__main__':
    main()

This is the command I am trying to use to run it:

/usr/local/bin/uwsgi --virtualenv $ENV --module project --chdir $APP --master

This is the message I get after running this command:

uWSGI running as root, you can use --uid/--gid/--chroot options

* WARNING: you are running uWSGI as root !!! (use the --uid flag)
WARNING: you are running uWSGI without its master process manager * your processes number limit is 7890 your memory page size is 4096 bytes
detected max file descriptor number: 1024
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
The -s/--socket option is missing and stdin is not a socket.

The error is that it doesn't seem to run or find my module correctly. Can anyone please tell me how I should be starting UWSGI in order to find my app please?

Jimmy
  • 239
  • 3
  • 7
  • 21

2 Answers2

1

You could just add a sock file to the command line:

/usr/local/bin/uwsgi --virtualenv $ENV --module project --chdir $APP --master -s myapp.sock
user35581
  • 111
  • 3
0

You can try --module instead of -w (could do the same thing). Else just make sure you have the names correct; ie. pass wsgi_module_name or wsgi_module_name:application_callable_name

Although, your error message doesn't actually say there is a problem relating to this. Is there another message you haven't quoted?

Peter
  • 1,450
  • 2
  • 15
  • 26
  • Thank you for the reply. My module name is project, so what should the --module or -w flag state? – Jimmy Feb 05 '14 at 13:39
  • Depends on how you set it up, I guess. My setup personally works by passing the exact phrase: "--module wsgi:application" – Peter Feb 06 '14 at 01:56