我正在尝试在 Linux 服务器(Ubuntu 18.04.3)上部署一个简单的 hello world Flask 应用程序。我以 登录到 linux 盒子bobtheuser
。但是,当我访问 时,我只看到内容“Index of/”列出了 的内容/var/www/html/
,即 Flask Web 应用程序没有启动。
烧瓶应用程序设置 应用程序目录设置如下:
'/var/www/html/helloflask
├── __init__.py
├── my_flask_app.py
├── my_flask_app.wsgi
my_flask_app.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello world! Hello Apache2 webserver!"
if __name__ == "__main__":
app.run()
my_flask_app.wsgi
#!/usr/bin/env python3
import logging
import sys
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0, '/var/www/html/helloflask/')
from my_flask_app import app as application
application.secret_key = 'helloflask-sk'
/etc/apache2/sites-available/helloflask.conf
<VirtualHost *:80>
# Add machine's IP address (use ifconfig command)
ServerName 128.250.89.117
# Give an alias to to start your website url with
WSGIScriptAlias / /var/www/html/helloflask/my_flask_app.wsgi
<Directory /var/www/html/helloflask>
# set permissions as per apache2.conf file
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
答案1
我知道这可能有点太晚了,但我想将您重定向到以下页面,其中包含通过互联网部署 Flask 应用程序所需的所有步骤,但在此之前请确保 apache2 是正确安装在机器上:
完成上述网站的步骤后,请确保运行以下命令:
// 这将删除默认的 apache2 配置
a2dissite 000-default.conf
// 删除默认配置后,重新启动apache2
service apache2 restart
希望这可以帮助。
亲切的问候。