2

gunicorn と nginx を介して提供される、Ubuntu で実行されている Flask アプリで名詞句分析を実行しようとしています。エラー 500 が発生し、nginx、スーパーバイザー、またはユニコーンのエラー ログに発生したエラーの (明らかな) ログがありません。「supervisorctl tail app」も光を当てません。

私のサイトで利用可能なnginx.conf:

server {
    listen 80;
    server_name [domain redacted];
    charset utf-8;
    client_max_body_size 75M;

    access_log /var/log/nginx/nginx_access.log;
    error_log /var/log/nginx/nginx_error.log;

    location / { try_files $uri @app; }

    location @app {
        proxy_pass http://127.0.0.1:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

スーパーバイザー app.conf

[program:app]
command = gunicorn app:app -b localhost:8000
directory = /home/www/app
user = admin

次のようにapp.pyでアプリを実行しています(config.pyでDEBUG = FalseおよびTrueで発生した問題)

app = Flask(__name__, static_folder='static', static_url_path='/static')
app.config.from_pyfile('config.py')

if __name__ == '__main__':
        app.run()
        if not app.debug:
            stream_handler = logging.StreamHandler()
            stream_handler.setLevel(logging.INFO)
            app.logger.addHandler(stream_handler)

Config.py は単に

DEBUG = False
ALLOWED_HOSTS=['*']

呼び出している名詞句関数

from textblob import TextBlob

def generateNounPhrases(input):
    blob = TextBlob(input)
    np = blob.noun_phrases

    return np

generateNounPhrases() の出力を渡す、ページの app.py フラスコ ルート

@app.route('/thread', methods=['GET'])
def thread():
    ...
    nounphrases = generateNounPhrases(text_to_analyze)   
    ...

    return render_template("Thread.html", nounphrases=nounphrases)

私は完全に迷っており、これについてはまったくの初心者です。どんなガイダンスも途方もないでしょう!

4

1 に答える 1