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