在阿里云ECS上部署 Angular前端应用,选择合适的系统镜像主要取决于你的部署方式和运维习惯。以下是推荐的选择和说明:
✅ 推荐系统镜像:Ubuntu 20.04/22.04 LTS 或 CentOS 7/8 Stream
1. Ubuntu 20.04/22.04 LTS(推荐)
- 优点:
- 软件包丰富,更新频繁。
- 社区支持强大,文档齐全。
- 安装 Nginx、Node.js、PM2 等工具非常方便。
- 对 Docker 和容器化支持良好。
- 适用场景:大多数现代前端部署,尤其是配合 Nginx 静态服务或 Docker。
2. CentOS 7 / CentOS Stream 8/9
- 优点:
- 系统稳定,适合企业级生产环境。
- 与 Red Hat 生态兼容性好。
- 注意:CentOS 7 已接近 EOL(2024年6月结束支持),建议使用 CentOS Stream 8/9 或 AlmaLinux / Rocky Linux 替代。
🛠️ Angular 应用的典型部署方式
Angular 是一个 静态前端框架,构建后生成的是 HTML、CSS、JS 文件,因此你不需要运行 Node.js 来服务这些文件(除非做 SSR)。常见的部署方式有:
方式一:使用 Nginx 托管静态文件(最常见)
- 构建命令:
ng build --prod - 将
dist/目录下的文件上传到 ECS - 使用 Nginx 作为 Web 服务器提供静态资源
- 此时操作系统只需轻量支持 Nginx 即可
✅ 推荐镜像:Ubuntu 22.04 LTS
# 示例:Ubuntu 上安装 Nginx
sudo apt update
sudo apt install nginx -y
方式二:Docker 部署(推荐用于持续集成)
- 编写 Dockerfile 打包 Angular 应用 + Nginx
- 在 ECS 上运行 Docker 容器
- 可使用任何支持 Docker 的镜像
✅ 推荐镜像:Alibaba Cloud Linux 3 或 Ubuntu 22.04(对 Docker 支持更好)
# 示例 Dockerfile
FROM nginx:alpine
COPY dist/my-app /usr/share/nginx/html
COPY nginx.conf /etc/nginx/nginx.conf
EXPOSE 80
❌ 不推荐的镜像
- Windows Server:除非你需要 IIS 或 .NET 后端共存,否则没必要,资源占用高。
- 老旧系统:如 CentOS 6、Ubuntu 16.04 等,已停止维护,存在安全风险。
✅ 总结:推荐选择
| 需求 | 推荐镜像 |
|---|---|
| 简单静态部署 + Nginx | Ubuntu 22.04 LTS(首选) |
| 企业级稳定环境 | CentOS Stream 8/9 或 AlmaLinux 8/9 |
| Docker 容器化部署 | Alibaba Cloud Linux 3 或 Ubuntu 22.04 |
| 最小化资源占用 | 可考虑 Alibaba Cloud Linux 3(阿里优化内核) |
🔧 部署步骤简要
- 创建 ECS 实例,选择 Ubuntu 22.04 LTS
- 安装 Nginx:
sudo apt install nginx - 本地构建 Angular:
ng build --configuration=production - 将
dist/your-app-name/*上传到 ECS 的/var/www/html - 配置 Nginx 指向该目录,并开启 Gzip、缓存等
- 开放安全组 80 端口
- 访问公网 IP 测试
如需支持 HTTPS,可结合阿里云 免费SSL证书 + CDN 或使用 Nginx 配置 Let’s Encrypt。
如有后端 API,可将前端与后端分离部署,前端用 Nginx,后端用 Node.js/Java 等。
需要我提供 Nginx 配置示例或自动化部署脚本吗?
CLOUD技术笔记