Установка Golang и деплой Go-сервиса на сервер: термины и чек-лист

Подробности, цифры, термины и чек-лист по теме «Установка Golang и деплой Go-сервиса на сервер». Страница справочника целиком: Установка Golang на Ubuntu и деплой Go-сервиса.

Коротко о теме

Установка Golang на Ubuntu из архива go.dev и деплой Go-сервиса: один бинарник, systemd, Dockerfile из двух этапов и платформа деплоя от 1 ₽.

Подробности по разделам

Установка Golang на Ubuntu из архива с go.dev

В VS Code достаточно расширения Go: при первом открытии файла оно предложит поставить языковой сервер gopls и остальные инструменты.

Сборка Go-программы для сервера: один файл без зависимостей

Если сервер на ARM, замените GOARCH на arm64. Так одна машина с Go собирает программы для любого количества серверов, а на самих серверах нет ни компилятора, ни модулей, ни исходного кода.

Golang на VPS: служба systemd и Caddy

Для чистой остановки сервиса обрабатывайте сигнал SIGTERM: systemd посылает его при перезапуске. Ресурсов Go-сервису обычно нужно мало, и для старта хватает самого младшего тарифа MSK Ultra 15 (1 ядро, 1 ГБ, 1 920 ₽ в месяц на 14 октября 2026), пока сервис не держит в памяти большие данные.

Golang в Docker: многоэтапный Dockerfile

Образ scratch совсем пустой, в нём нет корневых сертификатов, и исходящие HTTPS-запросы приложения будут падать с ошибкой проверки. В distroless/static сертификаты есть. Тот же Dockerfile принимает платформа деплоя из Git.

Куда выложить Golang-сервис: App Platform или VPS

Два ответа, и подсказка назовёт способ запуска

Ключевые цифры

Термины на странице

Linux
Linux это семейство операционных систем для серверов: Ubuntu, Debian, AlmaLinux и другие.
SSL-сертификат
SSL-сертификат подтверждает, что сайт принадлежит владельцу домена, и позволяет шифровать соединение.
Nginx
Nginx это веб-сервер и обратный прокси. Его часто ставят перед приложением, чтобы раздавать статику и держать HTTPS.
PostgreSQL
PostgreSQL это база данных для приложений с большими объёмами и сложными запросами.
Продление домена
Продление это оплата домена на следующий срок. Цена продления часто выше цены регистрации.
Docker
Docker запускает программы в контейнерах: всё нужное для работы упаковано в образ.

Что проверить

  1. Выберите конфигурацию по памяти и диску под задачу, процессор обычно вторичен.
  2. Проверьте тип виртуализации: KVM даёт свою систему и гарантированные ресурсы.
  3. Уточните, входит ли IPv4 и сколько стоит трафик сверх пакета.
  4. Выпустите сертификат после того, как домен указывает на сервер.
  5. Проверьте, что установлена вся цепочка сертификатов.
  6. Включите перенаправление с HTTP на HTTPS.

Связанные страницы