On this page
cloud
AWS EC2
使用 aws-ec2.sh 用户数据脚本在 AWS EC2 实例上部署 rtCloud。
启动 EC2 实例时,将 aws-ec2.sh 用作用户数据脚本。脚本在首次启动时自动运行。
下载脚本: aws-ec2.sh
第一步 — 填写配置
打开脚本并编辑顶部的 CONFIGURATION 块:
# --- 必填 ---
PROJECT_ID="rtsurvey"
ADMIN_PASSWORD="admin" # 首次登录后更改
# --- 域名 + SSL ---
DOMAIN="myapp.example.com"
LETSENCRYPT_EMAIL="admin@example.com"
# --- 内嵌 Keycloak ---
EMBED_KEYCLOAK="true"
KEYCLOAK_ADMIN_PASSWORD="${ADMIN_PASSWORD}" # 默认为 ADMIN_PASSWORD
| 字段 | 必填 | 描述 |
|---|---|---|
PROJECT_ID | 是 | 用作数据库名称和 Keycloak 客户端 ID。小写,无空格。 |
ADMIN_PASSWORD | 否 | 应用管理员密码和 Keycloak 管理员密码。默认为 admin——首次登录后更改。 |
DOMAIN | 否 | HTTPS 使用的域名。留空以仅使用 HTTP。 |
LETSENCRYPT_EMAIL | 是(如设置了 DOMAIN) | Let’s Encrypt 通知邮箱。 |
EMBED_KEYCLOAK | 否 | true 以部署内嵌 Keycloak(需要 4 GB RAM)。 |
安全提示: 所有密码默认为
admin。首次登录后立即更改它们。
第二步 — 启动 EC2 实例
在 AWS EC2 控制台:
- 点击启动实例
- AMI: Ubuntu Server 22.04 LTS(64 位 x86)
- 实例类型:
t3.medium(4 GB RAM)或更大 - 密钥对: 选择或创建一个用于 SSH 访问
- 网络设置: 创建或选择安全组(见下文)
- 高级详情 → 用户数据 → 粘贴完整脚本内容
- 点击启动实例
第三步 — 配置安全组
在实例的安全组中开放以下端口:
| 端口 | 协议 | 来源 | 用途 |
|---|---|---|---|
| 22 | TCP | 您的 IP | SSH 访问 |
| 80 | TCP | 0.0.0.0/0 | HTTP(由 Nginx 重定向到 HTTPS) |
| 443 | TCP | 0.0.0.0/0 | HTTPS |
| 3838 | TCP | 0.0.0.0/0 | Shiny 直接访问 |
不要开放端口 3306(MySQL)——它不应该公开访问。
第四步 — 添加 DNS 记录
实例启动时,在您的 DNS 提供商中添加 A 记录:
类型 : A
名称 : myapp
值 : <instance-public-ip>
TTL : 300
第五步 — 监控进度
ssh ubuntu@<instance-ip>
tail -f /var/log/rtcloud-setup.log
第六步 — 访问应用
设置完成时,日志会显示包含应用 URL 和凭据的摘要。使用用户名 admin 和密码 admin 登录,然后立即更改密码。
部署后操作
更改密码
nano /opt/rtcloud/.env
docker compose -f /opt/rtcloud/docker-compose.production.yml up -d --force-recreate rtcloud
查看所有容器
docker compose -f /opt/rtcloud/docker-compose.production.yml ps
分配弹性 IP(可选)
如果您停止并启动实例,公共 IP 会改变。为保持稳定的 IP,请在 EC2 控制台中分配弹性 IP 并将其与实例关联。
此页面有帮助吗?