我按照https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/uwsgi/中的说明操作,直到几天前,当我杀死uwsgi进程并尝试重新启动时,它工作正常。然后它说
uwsgi: unrecognized option '--module=MyProject.wsgi:application'
我一直在试图解决这个问题,...我已经检查了我的提交历史记录,我用来启动uwsgi的脚本没有改变:
#!/bin/bash
# https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/uwsgi/
uwsgi --chdir=/home/MyProject \
--module=MyProject.wsgi:application \
--env DJANGO_SETTINGS_MODULE=MyProject.settings \
--master --pidfile=/tmp/MyProject-masted.pid \
--socket=/home/MyProject.sock \
--processes=5 \
--harakiri=20 \
--limit-as=128 \
--max-requests=5000 \
--vacuum \
--home=/home/MyProject/env \
--daemonize=/var/log/uwsgi/MyProject.log
显然有些东西一定有所改变,但是我看不清楚......我没有运行任何更新,脚本没有改变...... PlEaSe HeLp !!!
答案 0 :(得分:34)
您可能需要在命令行中添加--plugins
选项以使用系统安装的uwsgi。至少在Fedora 17上,这对我来说是必要的:
$ uwsgi --http 127.0.0.1:8000 --module=wsgiref.simple_server:demo_app
uwsgi: unrecognized option '--module=wsgiref.simple_server:demo_app'
getopt_long() error
$
但这有效:
$ uwsgi --http 127.0.0.1:8000 --plugins python --module=wsgiref.simple_server:demo_app
*** Starting uWSGI 1.2.4 (64bit) on [Thu Aug 30 14:09:57 2012] ***
[.. snip]
答案 1 :(得分:14)
当我尝试在Unbuntu 12.04 repo(1.0.3)中使用uWSGI版本时,我遇到了这个问题。看起来这个版本有点老了。只需用pip抓住它(1.2.5)。
pip install uwsgi