我正在尝试在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>
这段代码错了吗? 我该怎么办才能修复它? 谢谢大家!
答案 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文件。
它会运行。