简体   繁体   中英

uWSGI doesn't recognize --http nor --wsgi-file options

I'm trying to setup a webserver with nginx , uwsgi and django . nginx works and it serves the files in /srv just like I intended to. However I can't get uwsgi to work properly. My biggest problem is that I used this tutorial and they don't seem to use the version of uwsgi that I use.

At one point they call uwsgi --http :8000 --wsgi-file test.py , but my uwsgi has neither the --http long option, nor --wsgi-file long option. uwsgi --version prints 2.0.7-debian .

What can I call instead of --wsgi-file ?

UPDATE:

This works fine, ie I can see my website on localhost on port 8000:

python3 manage.py runserver 0.0.0.0:8000

However this does not:

uwsgi --http :8000 --module django_test.wsgi

It will complain, that it doesn't know the long option --http as well as the long option --module . It all seems to boil down to uwsgi, which on my machine just doesn't behave as it does everywhere else.

uWSGI installed from debian packages doesn't have any built-in plugins, and for that parameters to work, you will need:

  • http plugin for --http parameter
  • python plugin for --module (or any wsgi related) parameter

You can fix this in 2 ways: installing all required plugins ( uwsgi-plugins-all package will install all available plugins on debian) and loading them explicitly ( --plugin http and --plugin python ) or by replacing uWSGI by fully featured one ( sudo pip install uwsgi will do that). Second solution will tie your uWSGI up to certain python version, for first one, you can just load another python plugin ( python3 for example).

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM