Я пытаюсь развернуть простое фляжное приложение на VPS с Ubuntu 20 и LAMP
Приложение работает нормально, когда я запускаю его с flask run
из папки приложения
Однако в журнале сервера есть ошибки:
[Sun Oct 24 14:55:03.464311 2021] [wsgi:error] [pid 5655] [client 90.198.214.109:59097] from FlaskApp import app as application
[Sun Oct 24 14:55:03.464323 2021] [wsgi:error] [pid 5655] [client 90.198.214.109:59097] File "/var/www/FlaskApp/FlaskApp/__init__.py", line 1, in <module>
[Sun Oct 24 14:55:03.464363 2021] [wsgi:error] [pid 5655] [client 90.198.214.109:59097] from flask import Flask
[Sun Oct 24 14:55:03.464386 2021] [wsgi:error] [pid 5655] [client 90.198.214.109:59097] ImportError: No module named flask
Код и инструкции взяты отсюда:https://www.digitalocean.com/community/tutorials/how-to-deploy-a-flask-application-on-an-ubuntu-vps
При переходе к IP-адресу сервера появляется сообщение об ошибке:
Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request.
РЕДАКТИРОВАТЬ:
Когда Я запускаю код с помощью команды sudo python __init__.py
, он выдает ошибку, что cannot import flask from Flask
при использовании команды sudo python3 __init__.py
работает просто отлично. Похоже, что какой бы сценарий ни вызывал файл wsgi, он вызывает с использованием стиля вызова python
, который вызывает ошибку невозможности запуска сценария
ОТВЕТ:
Оказывается, проблема заключалась в wsgi.py, и каталог python, который он вызывает (, должен быть конкретно /python3, а не /python)
Исправлено путем изменения верхней строки в файле wsgi на это
#!/usr/bin/python3.8 из туториала #!/usr/bin/python