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:
-
Создайте
Procfileweb: uvicorn main:app --host=0.0.0.0 --port=${PORT:-5000} -
Зафиксируйте и отправьте изменения в репозиторий Git.
-
Создайте новое приложение Heroku и подключите его к своему репозиторию Git.
-
Разверните свое приложение в Heroku с помощью интерфейса командной строки или веб-интерфейса.
Метод 3: виртуальный частный сервер (VPS)
Если у вас есть доступ к виртуальному частному серверу, вы можете развернуть приложение FastAPI непосредственно на VPS и назначить ему общедоступный IP-адрес. Вот пример того, как развернуть FastAPI на VPS с помощью uvicorn:
-
SSH к вашему VPS.
-
Установите необходимые зависимости:
$ sudo apt update $ sudo apt install python3-pip python3-dev $ pip3 install uvicorn fastapi -
Создайте файл приложения FastAPI, например
main.py, и определите в нем свое приложение FastAPI. -
Запустите сервер FastAPI:
$ uvicorn main:app --host 0.0.0.0 --port 8000
В этой статье мы рассмотрели несколько способов запуска FastAPI на общедоступном IP-адресе. Вы можете выбрать метод, который соответствует вашим требованиям и инфраструктуре. Будь то переадресация портов, платформа облачного хостинга или развертывание на VPS, каждый метод позволяет вам разместить ваше приложение FastAPI в Интернете и сделать его доступным для пользователей по всему миру.
Не забывайте учитывать рекомендации по обеспечению безопасности при размещении вашего приложения на общедоступном IP-адресе, например реализацию аутентификации и использование HTTPS для обеспечения конфиденциальности и целостности данных.
Следуя примерам кода и рекомендациям, представленным в этой статье, вы сможете развернуть свое приложение FastAPI на общедоступном IP-адресе и поделиться своим веб-приложением со всем миром.