ホームページ  >  に質問  >  本文

ubuntu14.04 - Flask+Nginx+WSGI デプロイメントエラーの問題

「Ubuntu 14.04 で uWSGI と Nginx を使用して Flask アプリケーションを提供する方法」のガイダンスに従って Flask アプリケーションをデプロイしました。チュートリアルの簡単な例を使用して正常にデプロイできますが、アプリケーションのエントリ ファイルを私のファイルに置き換えると機能しません。奇妙なのは、virtualenv 環境で直接使用されることです

リーリー

も可能ですが、

を使用してください リーリー

は機能しません。エラーは次のとおりです:

リーリー

上記のエラー メッセージは、アドレスが使用されていることを示していますが、そのアドレスとポートを占有する複数のアドレスとポートが開かれていません。最初は理解できませんでした。教えてください。

阿神阿神2713日前815

全員に返信(3)返信します

  • 某草草

    某草草2017-05-16 17:19:52

    慎重に調査した結果、最終的に問題を解決しました。まず、エントリファイルのコードを投稿します。 リーリー

    を使用して直接実行すると、報告されるエラーは質問に投稿されたエラーメッセージと同じであり、アドレスが占有されています。しかし、占有されている対応するアプリケーションがプロセスまたはポートで見つからないのは、なぜ単純な例でよいのでしょうか。注意深く比較してみました:

    リーリー uwsgi --socket 0.0.0.0:5000 --protocol=http -w wsgi明らかに、私は IDE での開発に慣れているため、エントリ ファイルの最も基本的な部分を無視しました:

    リーリー

    エラーは次のようになります:

    リーリー

    このエラーの発生はかなり言葉にならない問題で、uwsgiはエントリーファイルでしか認識できません

    application,而无法识别我定义的run。之所以会出现端口占用的情况,是因为app.run()实际上也执行了,但并不是uwsgi要加载的应用application最後に次のように変更します:

    リーリー

    返事
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-16 17:19:52

    uwsgi にはアクセスアドレスとポート番号を定義できる設定ファイルがあります。socket.error: [Errno 98] Address selected in use の文が uwsgi の設定を行っていない理由であると思います。 uwsgi の設定や flask プロジェクトのデプロイプロセスについては、私が書いた記事を参照してください。
    /a/1190000004294...

    返事
    0
  • 黄舟

    黄舟2017-05-16 17:19:52

    netstat -ntlp ポートが uwsgi によって占有されているかどうかを確認し、そうであれば、ps -ef grep uwsgi で pid を見つけて kill します。

    返事
    0
  • キャンセル返事