2

ubuntu EC2 サーバーがあり、フラスコ サーバーを実行したいと考えています。ポート番号を含めずに、自分のドメイン名 api.example.com を使用してサーバーにアクセスしたいと考えています。現在、 api.example.com:5000/... を実行してサーバーに正常にアクセスできますが、 api.example.com/.... の実行方法がわかりません。

現在、pythonflask_server.pyを使用して、フラスコサーバーを直接実行しています。

Flask_server.py で:

if __name__ == '__main__':
    app.run(host=0.0.0.0)
4

3 に答える 3

5

このrunメソッドは、ポートオプションの引数を取ります。

if __name__ == '__main__':
    app.run(host="0.0.0.0", port=80)

テストのためにこれを行うことができますが、本番環境では、さまざまなフロント エンド WSGI サーバーでフラスコを実行する方法について詳しく説明しているドキュメントの展開オプションセクションを読むことを強くお勧めします。

これらすべてのコンポーネントがどのように連携し、どのようにセットアップするかを理解するのに助けが必要な場合; この要点には素晴らしい要約があります。

更新:ホスト パラメータは文字列である必要があります。

于 2013-10-28T04:35:00.473 に答える
2

ポート 80 を使用するには、sudo 権限が必要です。

sudo python3 app.py 

これで問題は解決します。

于 2016-01-12T06:23:04.300 に答える
0

ポート 80 で Flask サーバーを使用するための正しい構文は次のとおりです。

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=80)

スーパー ユーザー権限が必要な場合があることに注意してください。

この種の回避策は、まだアプリケーションを構築している場合に受け入れられます。

私が理解しているように、アプリを本番環境にデプロイする予定がある場合は、適切に行う必要があります。ここでは、要求に応じて、Ubuntu の段階的な情報を見つけることができます。

https://www.digitalocean.com/community/tutorials/how-to-deploy-a-flask-application-on-an-ubuntu-vps

于 2014-05-30T16:48:59.323 に答える