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
お役に立てば幸いです。
ありがとうございます。