在 DigitalOcean 上发布基于 VAPOR 的服务
发布: (2026年2月27日 GMT+8 01:02)
4 分钟阅读
原文: Dev.to
Source: Dev.to
在 DigitalOcean 上创建和配置服务器
- 创建一个 Droplet 并选择 Ubuntu 22.04 LTS 发行版。
- 选择服务器规格(例如,1 vCPU,512 MB RAM,10 GB SSD)。
- 选择 SSH 认证方式并在 DigitalOcean 中添加 SSH 密钥。
- 为 Droplet 指定名称并关联到一个项目。
- 确认创建并等待 Droplet 完成部署。
创建完成后,服务器的 IP 将显示在面板上。
SSH 连接与防火墙配置
ssh root@your_server_ip
将 your_server_ip 替换为分配的 IP(例如 146.190.121.34)。接受主机指纹。
# 在 UFW 中启用 OpenSSH
ufw allow OpenSSH
ufw enable # 确认时输入 “y”
打开应用将使用的端口(8080):
sudo ufw allow 8080
创建 vapor 用户并授予 sudo 权限
adduser vapor # 按提示操作,额外信息留空
usermod -aG sudo vapor
将 root 用户的已授权 SSH 密钥复制到新用户:
rsync --archive --chown=vapor:vapor ~/.ssh /home/vapor
退出会话并以 vapor 身份重新连接:
exit
ssh vapor@your_server_ip
安装 Swiftly 与 Swift 依赖
curl -O https://download.swift.org/swiftly/linux/swiftly-$(uname -m).tar.gz && \
tar zxf swiftly-$(uname -m).tar.gz && \
./swiftly init --quiet-shell-followup && \
. "${SWIFTLY_HOME_DIR:-$HOME/.local/share/swiftly}/env.sh" && \
hash -r
出现提示时输入 Y 确认。
安装所需依赖:
sudo apt-get update
sudo apt-get -y install binutils unzip libcurl4-openssl-dev \
libgcc-13-dev libpython3-dev libstdc++-13-dev libxml2-dev \
libncurses-dev libz3-dev pkg-config zlib1g-dev
验证 Swift 版本:
swift --version
# Swift version 6.2.3 (swift-6.2.3-RELEASE)
安装 Vapor Toolbox
git clone https://github.com/vapor/toolbox.git
cd toolbox
git checkout 20.0.0 # 最新发布版本(截至撰写时)
swift build -c release --disable-sandbox
sudo mv .build/release/vapor /usr/local/bin
cd ..
rm -rf toolbox
克隆并编译应用
确保服务器的 SSH 密钥已添加到你的 GitHub 账户,然后克隆仓库:
git clone git@github.com:.git
cd StripeIntentService
swift run StripeIntentService serve --hostname 0.0.0.0 --port 8080
注意: 如果编译因内存不足而失败,可临时将 Droplet 的 RAM 提升(例如提升至 4 GB),编译完成后可再次降回原大小。
为 GitHub 配置 SSH 密钥(可选)
ssh-keygen -t ed25519 -C "your_email@example.com" # 接受默认值
eval "$(ssh-agent -s)"
编辑 ~/.ssh/config(例如使用 nano)并添加以下内容:
Host github.com
AddKeysToAgent yes
IdentityFile ~/.ssh/id_ed25519
将密钥添加到代理:
ssh-add ~/.ssh/id_ed25519
获取公钥并将其添加到你的 GitHub 账户:
cat ~/.ssh/id_ed25519.pub
如有需要,调整 Droplet 资源
在 DigitalOcean 控制面板,进入 Manage → Droplets,选择你的 Droplet 并点击 Upsize。选择所需的 RAM/CPU 配置(例如 2 GB 或 4 GB),确认扩容。编译完成后,如有需要可再次缩小尺寸。