1.
准备工作:选择云厂商与创建实例
- 说明:选择支持新加坡区域的云厂商(AWS ap-southeast-1、GCP asia-southeast1、Azure Southeast Asia 或本地供应商)。
- 操作步骤:登录控制台 -> 选择 Region 为 Singapore -> 创建 VM(推荐 Ubuntu 22.04 LTS)-> 选择合适规格(CPU、内存、带宽、磁盘)-> 创建密钥对或设定密码 -> 记下实例公网IP或弹性IP。
2.
网络与安全组/防火墙配置
- 说明:开放必要端口(SSH 22、HTTP 80、HTTPS 443、应用端口如 3000/8000)。
- 操作步骤:在控制台设置安全组规则:入站规则增加 TCP 22/80/443/应用端口,出站通常允许全部;若使用 VPC 子网,确认路由和NAT配置。
3.
首次登录与系统基础设置
- 说明:用SSH密钥连接并做系统安全与更新。
- 操作步骤(示例命令):ssh -i yourkey.pem ubuntu@YOUR_IP;sudo apt update && sudo apt upgrade -y;创建普通用户 sudo adduser dev && usermod -aG sudo dev;设置时区、crontab 环境等。
4.
安装常用工具与Docker
- 说明:使用Docker便于环境一致性,推荐同时安装docker-compose。
- 操作步骤(Ubuntu 示例):sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release;curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmour -o /usr/share/keyrings/docker-archive-keyring.gpg;echo ... >/etc/apt/sources.list.d/docker.list;sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin;sudo usermod -aG docker dev;sudo systemctl enable --now docker。
5.
获取代码并准备环境变量
- 说明:使用 git 或 scp 将代码上传到服务器,配置 .env 文件。
- 操作步骤:sudo apt install -y git;git clone git@repo:your/project.git 或 scp -r;进入项目目录,cp .env.example .env 并填写数据库连接、API Key、域名等;确保 .env 权限安全 chmod 600 .env。
6.
使用 Docker Compose 部署示例
- 说明:用 docker-compose.yml 启动应用、数据库、反向代理。
- 操作步骤(示例):在项目根创建 docker-compose.yml,包含 app、db、nginx 服务;运行 docker compose up -d;查看状态 docker compose ps;查看日志 docker compose logs -f app。
7.
配置 Nginx 反向代理与 HTTPS(Let's Encrypt)
- 说明:使用 Nginx 转发域名并开启证书。
- 操作步骤:安装 nginx 或 使用 nginx 容器;编写 server block 指向内部端口;安装 certbot:sudo snap install --classic certbot;sudo certbot --nginx -d yourdomain.com;自动续期 crontab -e 添加 certbot renew。
8.
设置域名解析与固定公网IP
- 说明:将域名 A 记录指向实例弹性IP并在云控制台绑定。
- 操作步骤:在域名服务商处添加 A 记录,TTL 建议 300;在云厂商控制台为实例分配弹性IP并绑定;验证:dig +short yourdomain.com 应返回弹性IP。
9.
CI/CD 简要接入(可选)
- 说明:推荐使用 GitHub Actions/GitLab CI 自动化部署到新加坡服务器。
- 操作步骤:在 CI 中配置 SSH 私钥(secret),编写 workflow:checkout -> build 镜像或打包 -> scp 到服务器或使用 docker registry -> 在服务器执行 docker compose pull && docker compose up -d。
10.
远程调试与本地同步(VS Code Remote-SSH 示例)
- 说明:使用 VS Code Remote-SSH 可以像本地一样调试服务器代码。
- 操作步骤:在本地 VS Code 安装 Remote - SSH 插件;在 ~/.ssh/config 添加 Host SingaporeServer HostName YOUR_IP User ubuntu IdentityFile ~/keys/yourkey.pem;在 VS Code 连接后打开远程文件夹,配置断点并使用远程 Python/Node 调试扩展,或者使用端口转发在本地访问服务。
11.
日志、监控与常用排错命令
- 说明:掌握日志查看与网络排错是调试关键。
- 常用命令:docker logs -f container;journalctl -u your.service -f;ss -tulpn | grep 80;sudo ufw status;tail -n 200 /var/log/nginx/error.log;netstat -tulpn(若已安装)。
12.
常见问题与解决策略
- 说明:列举典型问题与快速定位方法。
- 实例:SSH 连接超时 -> 检查安全组/本地网络;端口被占用 -> ss/netstat 找进程并 kill;证书验证失败 -> certbot 日志 /var/log/letsencrypt;依赖安装失败 -> 检查镜像源或使用 apt 镜像加速。
13.
安全与运维建议
- 说明:上线后持续关注安全和备份。
- 建议:禁用 root 登录,仅用密钥;启用 ufw 限制端口;定期备份数据库与磁盘快照;启用云厂商告警(CPU、内存、磁盘、网络异常);使用监控(Prometheus/Grafana、Datadog 等)。
14.
性能优化与成本控制
- 说明:新加坡机房网络延迟低,但要注意带宽和实例规格成本。
- 建议:使用合适的实例规格,按需扩展;启用自动伸缩或使用容器编排(Kubernetes);合理选择磁盘类型(SSD vs 高性能 SSD);定期清理无用镜像与快照。
15.
问:如何在新加坡云服务器上排查应用无法访问的问题?
16.
答:排查步骤与命令示例
- 步骤:1) 检查实例状态和公网IP是否正常;2) 检查安全组/防火墙是否放通端口;3) 在服务器上用 ss/netstat 查看进程是否监听指定端口;4) 查看应用日志 docker logs/journalctl;5) 若是 HTTPS,检查证书是否过期;6) 用 curl -v 本地到服务端口测试。
17.
问:我想在本地用 IDE 调试部署在新加坡的服务,推荐的做法是什么?
18.
答:使用 VS Code Remote-SSH 或端口转发
- 建议:配置 VS Code Remote-SSH 直接打开远程项目并运行断点调试;或通过 SSH 隧道将远程调试端口映射到本地(ssh -L 本地端口:localhost:远程端口),再在本地 IDE 连接该端口。
19.
问:如何确保新加坡服务器部署后稳定运行与自动恢复?
20.
答:使用服务管理和云能力保证可用性
- 建议:将关键进程以 systemd 管理或以 Docker 容器运行并设置 restart 策略;配置云端健康检查与自动重启;为关键数据做定期快照与异地备份,必要时使用多可用区或跨区域备份。
来源:开发者手册新加坡云服务器怎么用进行环境部署与调试