Я пытаюсь развернуть приложение Flask на моем сервере на базе Linux, но безуспешно. Я уже просмотрел различные подходы и записи на stackoverflow, но, похоже, ничего не работает. Чтобы проверить это немного чище, я создал простое тестовое приложение, которое я пытаюсь запустить локально:
In /var/www/test
:
test.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index ():
return "Hello World!"
if __name__ == '__main__':
app.run()
test.wsgi
from test import app as application
и пустой файл __init__.py
.
В /etc/apache2/sites-available
:
test.conf
<VirtualHost *>
ServerName *Local IP address*
WSGIDaemonProcess test user=www-data group=www-data threads=5
WSGIScriptAlias / /var/www/test/test.wsgi
<Directory /var/www/test>
WSGIProcessGroup test
WSGIApplicationGroup %{GLOBAL}
Require all granted
</Directory>
</VirtualHost>
Файл test.conf был зарегистрирован через a2ensite test.conf
, а libapache2-mod-wsgi
был установлен через apt в моем локальном дистрибутиве Debian Buster, на котором я тестирую (localhost). Python2 и 3 устанавливаются вместе с Flask для каждого из них. Каждый файл и папка test
принадлежат www-data с группой www-data. И, конечно, я перезапускаю приложение после каждого изменения с помощью service apache2 restart
.
. Я могу успешно запустить приложение с python test.py
на локальном хосте: 5000, напечатав «Hello World!».
Я не вижу ничего подозрительного в журнале ошибок Apache, просто:
[Sun Oct 27 22:16:55.923721 2019] [mpm_event:notice] [pid 26336:tid 140548964586624] AH00489: Apache/2.4.38 (Debian) mod_wsgi/4.6.5 Python/2.7 configured -- resuming normal operations
[Sun Oct 27 22:16:55.923771 2019] [core:notice] [pid 26336:tid 140548964586624] AH00094: Command line: '/usr/sbin/apache2'
Чего мне не хватает? Почему я получаю 404? Есть ли способ узнать, запущено ли приложение или просто пытается его запустить?