Развёртывание на DigitalOcean
Это руководство покажет вам, как настроить виртуальную машину Ubuntu на DigitalOcean Droplet. Для выполнения этого руководства потребуется учётная запись DigitalOcean с настроенным платёжом.
Создание сервера
Используйте меню создания, чтобы создать новый Droplet.
В разделе дистрибутивы выберите Ubuntu 18.04 LTS.
Примечание: Вы можете выбрать любую версию Linux, поддерживаемую Swift. Вы можете проверить, какие операционные системы официально поддерживаются на странице Swift Releases.
После выбора дистрибутива выберите любой план и регион ЦОД по вашему желанию. Затем настройте SSH-ключ для доступа к серверу после его создания. Наконец, нажмите Создать Droplet и подождите, пока новый сервер не запустится.
После того, как новый сервер будет готов, наведите указатель мыши на IP-адрес Droplet и нажмите Копировать.
Первоначальная настройка
Откройте терминал и подключитесь к серверу в качестве root с помощью SSH.
ssh root@<server_ip>
DigitalOcean предоставляет подробное руководство по первоначальной настройке сервера на Ubuntu 18.04. Это руководство кратко опишет основные моменты.
Настройка брандмауэра
Разрешите OpenSSH через брандмауэр и включите его.
ufw allow OpenSSH
ufw enable
Затем включите доступный не-root пользователю HTTP-порт.
ufw allow 8080
Добавление пользователя
Создайте нового пользователя помимо root, который будет отвечать за запуск вашего приложения. В этом руководстве используется пользователь, не являющийся root, без доступа к sudo для повышения безопасности.
Следующие руководства предполагают, что пользователь называется swift.
adduser swift
Скопируйте авторизованные SSH-ключи пользователя root в нового созданного пользователя. Это позволит вам использовать SSH (scp) в качестве нового пользователя.
rsync --archive --chown=swift:swift ~/.ssh /home/swift
Ваша виртуальная машина DigitalOcean теперь готова. Продолжайте использовать руководство Ubuntu.
The Swift Programming Language, Copyright © 2014-2025 Apple Inc.
Swift and the Swift logo are trademarks of Apple Inc.
Documentation for Swift 6.0.3
https://www.swift.org/documentation/server/guides/deploying/digital-ocean.html