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

お役に立てば幸いです。

ありがとうございます。

関連情報