uwsgi:无法识别的选项'--module = MyProject.wsgi:application'

时间:2012-08-30 16:38:18

标签: django uwsgi

我按照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 !!!

2 个答案:

答案 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