Запуск FastAPI на общедоступном IP-адресе: несколько методов, объясненных примерами кода

FastAPI — это мощная платформа Python для создания веб-приложений с высокой производительностью и простотой использования. По умолчанию FastAPI работает на локальном сервере разработки, но чтобы сделать ваше приложение доступным из Интернета, вам необходимо развернуть его на общедоступном IP-адресе. В этой статье блога мы рассмотрим несколько методов запуска FastAPI на общедоступном IP-адресе, а также приведем примеры кода для каждого метода.

Метод 1: переадресация портов
Переадресация портов позволяет вам открыть доступ к локальному серверу FastAPI Интернету путем перенаправления входящего трафика с вашего маршрутизатора на ваш локальный компьютер. Вот пример настройки переадресации портов с помощью библиотеки pyngrok:

from fastapi import FastAPI
from pyngrok import ngrok
app = FastAPI()
@app.get("/")
def read_root():
    return {"Hello": "World"}
if __name__ == "__main__":
    # Start the FastAPI server
    uvicorn.run(app, host="localhost", port=8000)
    # Create a public URL using ngrok
    public_url = ngrok.connect(8000, "http")
    print("Public URL:", public_url)

Метод 2: платформы облачного хостинга
Развертывание приложения FastAPI на платформе облачного хостинга, такой как Heroku, AWS или Google Cloud, позволяет легко получить общедоступный IP-адрес. Вот пример развертывания приложения FastAPI на Heroku:

  1. Создайте Procfile

    web: uvicorn main:app --host=0.0.0.0 --port=${PORT:-5000}
  2. Зафиксируйте и отправьте изменения в репозиторий Git.

  3. Создайте новое приложение Heroku и подключите его к своему репозиторию Git.

  4. Разверните свое приложение в Heroku с помощью интерфейса командной строки или веб-интерфейса.

Метод 3: виртуальный частный сервер (VPS)
Если у вас есть доступ к виртуальному частному серверу, вы можете развернуть приложение FastAPI непосредственно на VPS и назначить ему общедоступный IP-адрес. Вот пример того, как развернуть FastAPI на VPS с помощью uvicorn:

  1. SSH к вашему VPS.

  2. Установите необходимые зависимости:

    $ sudo apt update
    $ sudo apt install python3-pip python3-dev
    $ pip3 install uvicorn fastapi
  3. Создайте файл приложения FastAPI, например main.py, и определите в нем свое приложение FastAPI.

  4. Запустите сервер FastAPI:

    $ uvicorn main:app --host 0.0.0.0 --port 8000

В этой статье мы рассмотрели несколько способов запуска FastAPI на общедоступном IP-адресе. Вы можете выбрать метод, который соответствует вашим требованиям и инфраструктуре. Будь то переадресация портов, платформа облачного хостинга или развертывание на VPS, каждый метод позволяет вам разместить ваше приложение FastAPI в Интернете и сделать его доступным для пользователей по всему миру.

Не забывайте учитывать рекомендации по обеспечению безопасности при размещении вашего приложения на общедоступном IP-адресе, например реализацию аутентификации и использование HTTPS для обеспечения конфиденциальности и целостности данных.

Следуя примерам кода и рекомендациям, представленным в этой статье, вы сможете развернуть свое приложение FastAPI на общедоступном IP-адресе и поделиться своим веб-приложением со всем миром.