Как использовать CloudFlare Workers и KV для обслуживания статического сайта – CloudSavvy IT
Инновации в области периферийных вычислений произошли в последние несколько лет. CloudFlare (CF) Рабочие позволяют запускать серверные приложения JavaScript непосредственно на периферии, ближайшей к потребителю. Независимо от того, является ли это простое или сложное приложение, CloudFlare Worker обеспечивает потрясающую производительность без холодных запусков за небольшую часть цены, которую предлагают традиционные бессерверные вычисления.
Наряду с концепцией CF Workers, функция под названием Рабочие КВ (пара ключ-значение) хранилище данных позволяет сохранять и передавать данные непосредственно работнику. Благодаря этой функции вы можете использовать воркеры в качестве базы данных и репозитория файлов, что позволяет обслуживать статические сайты непосредственно с периферии. В этой статье мы исследуем, как именно подготовить новый простой статический сайт, поддерживаемый CloudFlare Workers.
Начиная
В этой статье предполагается, что у вас уже есть учетная запись CloudFlare, и эта учетная запись связана с доменом. Вам также понадобится Пакет для рабочих, который предлагает функцию KV. Доступны следующие функции, которые отличаются от бесплатного плана.
- Минимальная плата 5 долларов США и 0,50 доллара США за миллион запросов в месяц
- 10 миллионов запросов до того, как потребуются дополнительные расходы
- Развернуть до 30 сайтов
- Свободно worker.dev субдомен
- Время ЦП до 50 мс на запрос
- Бесплатный план предлагает 10 мс
- Всегда минимальная задержка
- Доступ к Рабочим КВ
- До 100 пространств имен (думаю, базы данных)
- 1 ГБ хранилища (0,50 доллара США за дополнительный ГБ)
- 10 миллионов операций чтения, 1 миллион операций записи, удаления и перечисления
- 0,50 доллара США за 1 дополнительный миллион операций чтения и 5,00 долларов США за дополнительный 1 миллион операций записи, удаления и перечисления
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
После того, как вы приобрели план CloudFlare Workers Bundled, вы сможете использовать Workers KV и функцию CloudFlare Workers Site.
Инструмент командной строки Wrangler
Для создания развертывания сайта CloudFlare создал Инструмент командной строки Wrangler. Wrangler требует установки через NPM (менеджер пакетов NodeJS) или Cargo (менеджер языковых пакетов Rust).
Установка NPM
npm i @cloudflare/wrangler -g
Груз
cargo install wrangler
Если вы не хотите использовать двоичный файл OpenSSL, включенный в Cargo, вы можете выбрать использование системного OpenSSL, установив его с помощью следующей командной строки. Это уменьшит размер установки.
cargo install wrangler --features sys-openssl
Создание сайта
Теперь, когда у вас установлен Wrangler и приобретены рабочие, мы можем создать наш сайт. В этом примере мы используем 1.11.0
версия Wrangler, которая представила более новый и простой метод аутентификации. Это также предполагает, что PowerShell является используемой средой оболочки, но Wrangler будет работать в любой среде, поддерживающей установки NPM или Cargo.
Вход в Wrangler и создание сайта
Во-первых, мы собираемся войти в CloudFlare с помощью Wrangler. Для этого воспользуемся новым wrangler login
характерная черта. При этом будет предложено открыть веб-страницу, и если вы уже аутентифицированы в CloudFlare, аутентификация произойдет очень быстро. В противном случае войдите в систему, и Wrangler автоматически настроит токен API.
wrangler login
Как видно из расположения конфигурации, есть .toml
файл, который теперь содержит ваш токен API, чтобы все последующие операции выполнялись без проблем.
Создание сайта
Далее мы сгенерируем сам сайт. Используя generate
команда, быстро создадим сайт. На этом этапе также рекомендуется перейти в каталог сайта и создать новый репозиторий через git init
. Это необязательный шаг, но настоятельно рекомендуется.
wrangler generate --site worker-site
Структура сайта
Wrangler создает следующую структуру сайта:
public
– Это статические активы для вашего проекта со значением по умолчаниюindex.html
иfavicon.ico
файл.workers-site
– JavaScript, который управляет обслуживанием статического сайта, расположенного вindex.js
файл. Это не следует редактировать, если вам не нужно добавлять дополнительные функции.wrangler.toml
– Файл конфигурации, указывающий на информацию об учетной записи и проекте.
Вы могли заметить предупреждение о необходимости обновления проекта. wrangler.toml
файл. Как минимум, вам нужно будет добавить account_id
значение в wrangler.toml
файл для предварительного просмотра сайта.
Чтобы получить идентификатор учетной записи, самый простой способ – перейти на панель управления CloudFlare, щелкнуть «Рабочие» и найти идентификатор учетной записи.
открыто wrangler.toml
и обновите account_id
значение вашей учетной записи CloudFlare.
Предварительный просмотр сайта
Чтобы убедиться, что сайт работает правильно, вы можете использовать preview
команда Wrangler для создания сайта и отображения сайта в браузере. Добавив --watch
параметр, любые изменения, которые вы вносите на сайт, будут немедленно отражены в окне браузера.
wrangler preview --watch
Развертывание сайта в рабочей среде
Следующим шагом будет развертывание этого сайта в рабочей среде. Есть лишь небольшая часть конфигураций, которые нужно настроить в wrangler.toml
файл.
zone_id
– Сайт, на который будет подан заявку Worker.route
– Куда будет обращаться воркер.workers_dev
– Измените это значение наfalse
.
Вы можете получить zone_id
перейдя на веб-сайт, к которому вы хотите применить Worker, на панели управления CloudFlare, перейдя на страницу обзора и найдя идентификатор зоны в разделе API.
Для настройки маршрута обычно используется один из двух форматов, в котором страница будет обслуживаться либо в домене верхнего уровня, либо в субдомене:
example.com/*
subdomain.example.com/*
Конечный результат вашего wrangler.toml
конфигурация должна выглядеть примерно так:
name = "worker-site"
type = "webpack"
account_id = "my-account-id"
workers_dev = false
route = "example.com/*"
zone_id = "my-zone-id"
**[**site]
bucket = "./public"
Наконец, запустите publish
, чтобы сделать сайт общедоступным и создать рабочий сайт в определенной зоне и маршруте.
wrangler publish
Вывод
Сайты CloudFlare Workers предлагают мощные функциональные возможности с легким доступом для разработчиков. Статические сайты невероятно быстрые и безопасные из-за отсутствия интерактивности. Не все варианты использования решаются этим, но простота использования и отсутствие сторонних серверов, необходимых для размещения сайта, делают эту функцию очень привлекательной!
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)