2017-01-26 32 views
3

私はEC2に簡単なFlaskアプリケーションを配備しようとしています。 すべて正常に動作しますが、自分のサイトにアクセスしようとすると、次のような404エラーが表示されます。AWS EC2にFlaskアプリケーションをデプロイ

要求されたURL /flaskapp.py/flaskapp.wsgi/がこのサーバーに見つかりませんでした。

flaskapp.pyコード:

from flask import Flask 
app = Flask(__name__) 

@app.route('/') 
def hello(): 
    return "hello" 

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

flaskapp.wsgi:

import sys 
sys.path.insert(0, '/var/www/html/flaskapp') 

from flaskapp import app as application 

そして最後にファイル000-は、default.conf

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    ServerName myServerHostname 
    DocumentRoot /var/www/ 
    WSGIDaemonProcess flaskapp threads=5 
    WSGIScriptAlias//var/www/html/flaskapp/flaskapp.wsgi 

<Directory flaskapp> 
    WSGIProcessGroup flaskapp 
    WSGIApplicationGroup %{GLOBAL} 
    Order deny,allow 
    Allow from all 
</Directory> 

    <Directory /> 
     Options FollowSymLinks 
     AllowOverride None 
    </Directory> 
    <Directory /var/www/> 
     Options Indexes FollowSymLinks MultiViews 
     AllowOverride None 
     Order allow,deny 
     allow from all 
     # This directive allows us to have apache2's default start page 
       # in /apache2-default/, but still have/go to the right place 
       #RedirectMatch ^/$ /apache2-default/ 
    </Directory> 



    ErrorLog /var/log/apache2/error.log 

    # Possible values include: debug, info, notice, warn, error, crit, 
    # alert, emerg. 
    LogLevel warn 

    CustomLog /var/log/apache2/access.log combined 
    ServerSignature On 


</VirtualHost> 

は、このコードが間違っていますか? 修正するにはどうすればよいですか? 皆様に感謝します!

答えて

0

私はApacheの代わりにNginxを使ってこの問題を "解決"しました。 私はgunscornのWebサーバーで、Flaskドキュメントのpdfで見つけたサンプル構成を使用しました。基本フラスコアプリOMのEC2実行する

+0

これは正しい質問ではありません。 –

+0

もちろん、それは解決策ではありません。私は私の答えをより明確に編集します –

0

最も簡単な方法:

1)アプリケーション=アプリ=フラスコ( - 名前 - いつものように下線) .... .... application.run ()

2)requirement.txtでプロジェクトをジップ "application.py"

3)としてファイルを保存し、AWS EBのconcoleてzipファイルをアップロードします。

実行されます。

関連する問題