@RacceGatel

Возможно ли иметь на одном сервере Flask и PHP?

Экспериментальный вопрос: имеется flask приложение, который может принимать post запросы для парсинга информации, которая далее вносится в бд, также есть готовый сайт на php, который лежит на сервере. Возможно ли как то поставить flask на сервак, далее настроить, чтобы запросы не принимались извне, и создать на сайте функцию, которая, при вызове, через php делает запрос на фласк?
  • Вопрос задан
  • 431 просмотр
Пригласить эксперта
Ответы на вопрос 4
@MikUrrey
Лучше всего, пожалуй, для этого использовать Docker. Flask в одном контейнере, PHP - в другом, база данных - в третьем. Запустить все через Docker compose, и пусть общаются между собой по внутренней сети.
Можно и прямо как есть, в одном пространстве, но тогда задолбитесь настраивать порты и веб-серверы.

Хотя еще можно попробовать заставить Flask слушать какой-то специфический порт, скажем, 82, и тогда сайт, теоретически, сможет к нему стучаться через 127.0.0.1:82. Но на практике без тонкой настройки могут элементы окружения подраться между собой.
Ответ написан
sergey-gornostaev
@sergey-gornostaev Куратор тега Flask
Седой и строгий
Просто ставите Nginx, настраиваете в нём два виртуальных хоста, у одного апстримом будет php-fpm, у другого uWSGI и всё.
Ответ написан
Комментировать
kotomyava
@kotomyava
Системный администратор
Конечно можно.
Для этого ничего не надо дополнительно настраивать даже, просто не проксировать на веб сервере запросы к flask. По умолчанию flask запускается на 127.0.0.1:5000, и пока рядом не поднят веб сервер, который будет проксировать к нему запросы, или не изменена конфигурация, чтобы он был доступен на внешнем интерфейсе, он и не будет доступен извне, но будет доступен вашему php приложению.
Ответ написан
Комментировать
@rPman
Да, можно в настройках приложения flask указать слушать входящие по localhost адресу (или если на сервере есть еще подсети, к примеру локальная сеть или vpn то слушать там)
app.run(host='127.0.0.1')
так же как альтернатива, настроить фаервол
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы