Как развернуть 2 приложения на 1 Ip-адресе?

Проект: Ubuntu + Nginx + Flask + Gunicorn + wsgi.

Логика такая:

  • 1ое приложения - рабочее
  • 2ое приложение - тестовое(другая БД, другие ссылки c префиксами)

Оба слушают 1 IP-адрес, но разные ссылки на нем.

Создал другую БД, добавил префикс к ссылкам для 2го приложения, но не запускаются сразу 2 приложения. Сначала запускается 1, потом когда отрубишь его - запускается другое. Сразу оба не работают. Как сделать чтобы работали сразу оба?

Файл wsgi.py:

from myproject import MyApp as app
from test_project import Test_App as test_app
import threading

if __name__ == "__main__":
    aps1 = threading.Thread(target=app.run(port=5000, debug=False)).start()
    aps2 = threading.Thread(target=test_app.run(port=5001, debug=False)).start()

Ответы (1 шт):

Автор решения: GrAnd

Вы же сразу функцию вызываете в основном потоке app.run(port=5000, debug=False). А в поток в качестве target передаёте результат этой функции. Вот оно и ждёт завершения функции app.run() прежде чем аналогично будет позвана test_app.run().
Попробуйте так:

    aps1 = threading.Thread(target=lambda: app.run(port=5000, debug=False)).start()
    aps2 = threading.Thread(target=lambda: test_app.run(port=5001, debug=False)).start()
→ Ссылка