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)理由がわかりません。この2つの議論はどこから来たのですか?

ここに私の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 callable は "app" (メイン エントリ ポイント) です。--callable application を --callable app に変更するだけです

于 2013-02-13T06:16:47.220 に答える