Руководство пользователя Fly.io
Руководство пользователя Fly.io

1. Обзор

Недавно я прочитал технический форум и обнаружил, что fly.io Количество раз увеличивается. fly.io представляет собой контейнерныйизразвертыватьплатформа,нужен только одинDockerfileПросто файлразвертыватькод дляfly.io На сервере также автоматически генерируется доменное имя. Есть много других преимуществ, основываясь на моем собственном опыте, я резюмировал их следующим образом:

  • Существует квота бесплатного использования. Создайте приложение без заполнения информации о кредитной карте.,Комиссия не взимается вообще; после заполнения данных вашей кредитной карты вы будете получать определенное количество бесплатного трафика каждый месяц.,В случае превышения лимита взимается дополнительная плата. Поэтому я хочу сделать небольшую демо-версию и опробовать ее без заполнения кредитной карты. Его больше нельзя использовать без кредитной карты.,Видетьздесьизобсуждать
  • Автоматически генерировать доменное имя。Например, если вы создаете файл с именемmy_demoизApp,Затем выполняется развертывание,будет созданmy_demo.fly.devиздоменное имя, Может глобальный доступ, доменное отдельно покупать не нужно имя Понятно。
  • Возможно SSH-соединение с сервером. развернуть После завершения,Можетпроходитьflyctl ssh console Заказать Авторизоватьразвертывание сервера, так что это эквивалентно тому, что у вас есть бесплатный изVPS. Вы можете делать все, что захотите.
  • развертывать Простой,использоватьflyctl Унифицированный набор для развертывания поддерживает различные языки в различных кадрах для создания среды развертывания, может автоматически определять, какой кадр используется в коде в текущем каталоге, и автоматически развертывать.

Ниже приведен краткий отчет о процессе использования и некоторых командах, не упомянутых в руководстве.

2. Развертывание приложения

Здесь, на Python из Flask рамка Например,Краткое описание шагов по развертыванию,На самом деле, Fly.io поддерживает множество рамок.,МожетсуществоватьздесьПроверять。

2.1 Установите флайктл

Сначала вам нужно установить инструмент Flyctl: Мак:

Язык кода:javascript
копировать
brew install flyctl

Linux:

Язык кода:javascript
копировать
curl -L https://fly.io/install.sh | sh

Окна: Запустите в Powershell следующее:

Язык кода:javascript
копировать
iwr https://fly.io/install.ps1 -useb | iex

Если выполненоflyctl version Если об ошибке не сообщается, установка прошла успешно.

Небольшая хитрость: у Flyctl также есть псевдоним Fly, который короче вводить.

Установить Этот инструмент предназначен для одноразового использования и не требует повторного использования в дальнейшем.

2.2 Создайте и войдите в учетную запись

Зарегистрироваться:

Язык кода:javascript
копировать
fly auth signup

Веб-страница откроется,Выберите, как вы хотите создать учетную запись,Учетная запись GitHub или адрес электронной почты и т. д.

Войдите в свою учетную запись после создания:

Язык кода:javascript
копировать
fly auth login
2.3 Сначала запустите демо-версию Flask локально

Используется здесь fly.io Предоставлено Flask demo Код, сначала запустите его локально:

Язык кода:javascript
копировать
git clone https://github.com/fly-apps/python-hellofly-flask
cd python-hellofly-flask
python -m venv flask-env
source flask-env/bin/activate
python -m pip install -r requirements.txt
FLASK_APP=hellofly flask run

Тогда посетитеhttp://127.0.0.1:5000 Вы можете увидеть веб-сайт, указывающий, что локальная сборка прошла успешно.

2.4 Развертывание на сайте fly.io

в текущем каталоге,осуществлятьfly launch,Войдите в интерактивный интерфейс для создания приложения:

Язык кода:javascript
копировать
flyctl launch
Creating app in /Users/username/project/demo/flyio_demo/python-hellofly-flask
Scanning source code
Detected a Python app
Using the following build configuration:
        Builder: paketobuildpacks/builder:base
? Overwrite "/Users/username/project/demo/flyio_demo/python-hellofly-flask/Procfile"? No
? App Name (leave blank to use an auto-generated name): treehole
Automatically selected personal organization: username
? Select region: hkg (Hong Kong, Hong Kong)
Created app treehole in organization personal
Wrote config file fly.toml
? Would you like to set up a Postgresql database now? No
We have generated a simple Procfile for you. Modify it to fit your needs and run "fly deploy" to deploy your application.

然后осуществлятьflyctl deploy развернуть Appb на fly.io На сервере:

Язык кода:javascript
копировать
flyctl deploy

После успешного выполнения,Можетиспользоватьflyctl openоткрыть браузер,Посетите себя развернуть приложение,URL-адресappname.fly.dev

Если позже появится исходный код или модификация конфигурации,,Может多次осуществлятьflyctl deploy,Будет создана новая версия v0.,v1, Версия 2 последовательно отключается и развертывается на Fly.io.

Следующий шаг — изменить исходный код Flask для выполнения более сложных и значимых функций.

2.5 Другие полезные команды Flyctl
  • Проверьте статус приложения: flyctl status
  • Просмотр информации о приложении: flyctl info
  • Посмотреть список приложений: flyctl apps list
  • Посмотреть IP-адрес приложения: flyctl ips list
  • Уничтожить приложение: flyctl apps destroy <appname>

3. Войдите на машину развертывания.

После завершения развертывания машины,Можетпроходитьflyctl ssh consoleПриходить Авторизоватьсямашина,После установки Авторизоваться все будет так же, как при использовании обычной машины с Linux.,Может, не стесняйтесь исследовать.

4. Скопируйте файлы с компьютера развертывания на локальный

В терминале введите следующий заказ для проксирования порта

Язык кода:javascript
копировать
fly proxy 10022:22

Затем оставьте вышеуказанный терминал открытым и введите следующий заказ в другом терминале:

Язык кода:javascript
копировать
scp -P 10022 root@localhost:/path/of/file/on/vm  /path/on/local

Измените путь к файлу, чтобы скопировать файл.

5. Некоторые мысли

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

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose