Запустите приложение production Flask локально, без сложного веб-сервера
Я создал небольшое веб-приложение для друга. Компьютер этого друга не будет подключен к Интернету при использовании приложения,поэтому его развертывание на Heroku не является вариантом.
Есть ли способ развернуть его локально, не устанавливая сложный веб-сервер? Что-то маленькое, что можно упаковать вместе с приложением? Использование встроенного сервера Flask, кажется, не рекомендуется, когда вы переходите к "производству", но для локального приложения это нормально?
2 ответов:
Если он просто будет использоваться в автономном режиме одним человеком, то да, внутренний сервер разработки может быть достаточным.
Если вы ищете простой способ отправить это приложение ей, то смотрите pyinstaller :
pip install pyinstaller pyinstaller your_app.pyЗаархивируйте папку внутри нового каталогаdist и передайте ее дальше.
Если pyinstaller не для вас, есть множество вариантов.
Если вы просто запускаете приложение локально, это должно быть нормально. Основные проблемы с сервером разработки-это безопасность и производительность, но для приложения, которое не подвергается воздействию извне и имеет одного пользователя, оно должно работать нормально. Несмотря на то, что вы используете сервер разработки, все равно неплохо отключить режим отладки и включить режим мультипроцесса.
from multiprocessing import cpu_count app.run(debug=False, processes=cpu_count())Если вы хотите немного больше производительности, рассмотрите возможность использования uwsgi или gunicorn. Оба являются хорошими серверами приложений WSGI, которые можно установить с помощью Пип вместе с вашим заявлением.
gunicorn -w $(nproc) --threads 2 --max-requests 10 myproject:app
Comments