使用 apache2 部署 Flask 应用程序

使用 apache2 部署 Flask 应用程序

我正在尝试在 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 是正确安装在机器上:

https://www.digitalocean.com/community/tutorials/how-to-deploy-a-flask-application-on-an-ubuntu-vps#setup

完成上述网站的步骤后,请确保运行以下命令:

// 这将删除默认的 apache2 配置

a2dissite 000-default.conf

// 删除默认配置后,重新启动apache2

service apache2 restart

希望这可以帮助。

亲切的问候。

相关内容