2

我在我的 ubuntu 12.04 homerserver 上安装了带有 nginx 的 uwsgi,并尝试测试一个简单的 Flask-App:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def application():
    return 'Hello World!'

if __name__ == '__main__':
    app.run()

python app.py它一起工作。但不与uwsgi --socket 127.0.0.1:3031 --file /srv/www/test/app.py --callable application --catch-exceptions

我只是收到这个错误TypeError: application() takes no arguments (2 given),不知道为什么。这两个论点从何而来?

这是我的 uwsgi.conf:

  1 description "uWSGI Emperor"
  2 start on runlevel [2345]
  3 stop on runlevel [06]
  4 respawn
  5
  6 exec uwsgi --master --die-on-term --emperor /etc/uwsgi/apps-enabled

和我的 nginx.conf

server {
 94      listen 8000;
 95      server_name localhost;
 96      root /srv/www/test;
 97
 98      location /static/ {
 99      alias /srv/www/test/static/;
100      expires 30d;
101      access_log off;
102      }
103
104      location / {
105      include uwsgi_params;
106      uwsgi_pass 127.0.0.1:3031;
107  }
108 }

我之前在启用了应用程序的 .ini 文件中尝试过,但我也遇到了这种错误。

我希望有人能帮助我。:\

4

1 回答 1

4

“应用程序”是可调用的烧瓶(由您定义)而不是可调用的 WSGI(就像您在 uWSGI 中配置的那样)。您的 WSGI 可调用对象是“app”(主入口点)。只需将 --callable 应用程序更改为 --callable 应用程序

于 2013-02-13T06:16:47.220 回答