Linux 서버(Ubuntu 18.04.3)에 간단한 hello world Flask 애플리케이션을 배포하려고 합니다. 나는 리눅스 박스에 로그인되어 있다 bobtheuser
. 그러나 방문하면 "Index of /" 콘텐츠만 나열됩니다 /var/www/html/
. 즉, Flask 웹 애플리케이션이 시작되지 않습니다.
플라스크 애플리케이션 설정 응용 프로그램 디렉터리는 다음과 같이 설정됩니다.
'/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
도움이 되었기를 바랍니다.
감사합니다.