在AWS EC2上部署Flask应用程序

时间:2017-01-26 23:31:56

标签: python apache amazon-web-services amazon-ec2 flask

我正在尝试在EC2上部署一个简单的Flask应用程序。 一切正常,但当我尝试访问我的网站时,我收到404错误,上面写着:

在此服务器上找不到请求的网址/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 webmaster@localhost 
    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>

这段代码错了吗? 我该怎么办才能修复它? 谢谢大家!

2 个答案:

答案 0 :(得分:0)

我使用Nginx而不是Apache“解决”了这个问题。 我使用了我在Flask文档pdf中使用gunicorn Web服务器找到的示例配置,最简单的方法!

答案 1 :(得分:0)

运行EC2基本Flask应用程序的最简单方法:

1)application = app = Flask( - name - 像往常一样下划线) .... .... application.run()

2)将文件保存为“application.py”

3)使用requirements.txt压缩项目,并通过AWS EB concole上传zip文件。

它会运行。