[解決済み】あなたのWSGIPathは、存在しないファイルを参照しています。
質問
FlaskアプリケーションをAWSにアップロードしようとしているのですが、エラーが発生します。
WSGIPath は存在しないファイルを参照しています。
ネットで調べたところ、.ebextensions フォルダで、パスを指定する必要があることがわかりました。.ebextensionsフォルダがなかったので、フォルダを作成し、settings.configというファイルに以下のコードを追加しました。
option_settings:
"aws:elasticbeanstalk:container:python":
WSGIPath: project/application.py
WSGIPath は application.py ファイルへの正しいパスなので、何がこのエラーを発生させるのかよくわかりません。WSGIPathを正しく変更すればいいのか、もっといい方法があるのか、それとも何か他の問題でこの現象が起きているのか?ありがとうございます。
解決方法は?
AWS上にデプロイされたFlaskには、様々な設定上の問題があります。私もあなたと同じような問題にぶつかっていたので、少なくともWSGIエラーを解決するために何をしたかをお見せすることができます。
まず、どうやら.ebextensionsフォルダがなくてもできるようです(こちらの記事参照
こちら
.そしてdavetw12さんの回答を見てください。ただし、これは動作しますが、以下のいくつかのコメントから、.ebextensions に関する davetw12 の結論が正しいかどうか完全にはわからないことに注意してください)。代わりに、(ターミナルで)私の.elasticbeanstalkディレクトリと同じレベルのプロジェクトに移動し、コマンドを使用しました。
eb config
. これは、Beanstalkアプリケーションを構成するために設定できるオプションのリストを開きます。WSGIパスを見つけるまで、オプションを下っていきます。あなたが設定したのは
project/application.py
しかし、これにはフォルダの参照は含まれず、単に
application.py
. 以下は、私のMacでターミナルを表示したときの様子です(WSGIのパスは下部付近にあります)。
一旦この設定をすると、EBはおそらく再展開することになることに注意してください。それはそれでいいんです。そうさせましょう。
この設定ができたら、application.py ファイルに移動して、アプリを呼び出すことを確認します。
application
. 例えば、私のはこんな感じです。
from flask import Flask
from flask import render_template
application = Flask(__name__)
@application.route('/')
@application.route('/index')
def index():
return render_template('index.html',
title='Home')
これでWSGIのパスエラーは解消されましたが、この後もいくつかの問題を修正しなければなりませんでした :-) しかし、これは別の質問です。
関連
-
[解決済み】AWS DynamoDBとAWS DocumentDBの違い(新規サービス)?[解決済み】AWS DynamoDBとAWS DocumentDBの違いについて]
-
[解決済み】DynamoDB - キー要素がスキーマと一致しない
-
[解決済み] AWS ElasticsearchとAWS Redshiftの違いは何ですか?
-
[解決済み] amazon cloudfront と amazon s3 transfer acceleration の違いは何ですか?
-
[解決済み] タスク実行時にAWS ECSエラーが発生しました。クラスタにコンテナインスタンスが見つかりませんでした。
-
[解決済み] AWSです。CloudFormationのテンプレートでbooleanパラメータを指定する方法
-
[解決済み] AWSの169.254.169.254IPアドレスは何が特別なのか?[クローズド]
-
[解決済み] aws-cliでdynamodbのitemを返却する方法
-
[解決済み] EC2でインスタンスを削除するには?
-
[解決済み】FilezillaとSFTPを使用してAmazon EC2のファイルディレクトリに接続する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] aws cloudformationはリストでFn::Joinを使用します。
-
[解決済み] RDS コンソールで Aurora の読み取りレプリカを作成するオプションが表示されない
-
[解決済み] AWS Lambda Functionに一時ファイルを保存することはできますか?
-
[解決済み] amazon cloudfront と amazon s3 transfer acceleration の違いは何ですか?
-
[解決済み] CloudFrontがオリジンに接続できなかった
-
[解決済み] ウェブサイトがAmazonネームサーバーを持っているが、別のサーバーでホストされている方法
-
[解決済み] AWSのロールを "アサイン "するとはどういうことですか?
-
[解決済み] AWSのstsは、1つのコマンドの役割を担う
-
[解決済み] CIDRアドレスがVPCのCIDRアドレスに含まれない
-
[解決済み】FilezillaとSFTPを使用してAmazon EC2のファイルディレクトリに接続する。