将前端项目部署到阿里云(Aliyun)是一个常见的需求,适用于 Vue、React、Angular 等主流前端框架构建的静态网站。以下是详细的部署流程和步骤:
🌐 一、准备工作
1. 准备你的前端项目
确保你已经完成开发,并通过以下命令打包生成了静态资源文件(如 dist/ 或 build/ 目录):
npm run build
2. 注册并登录阿里云账号
访问 阿里云官网 注册账号。
☁️ 二、选择部署方式(推荐三种)
你可以选择以下任意一种方式来部署前端项目:
✅ 方式一:使用 ECS + Nginx 部署(适合熟悉服务器操作)
步骤 1:购买 ECS 实例
- 登录阿里云控制台。
- 进入 ECS管理控制台。
- 创建一个按量付费或包年包月的 Linux 实例(推荐 CentOS 或 Ubuntu)。
- 设置安全组,开放 80 和 443 端口。
步骤 2:连接服务器
使用 SSH 工具(如 Xshell、FinalShell 或终端)连接你的 ECS 实例。
ssh root@你的公网IP
步骤 3:安装 Nginx
# CentOS
sudo yum install nginx -y
# Ubuntu
sudo apt update && sudo apt install nginx -y
启动 Nginx 并设置开机自启:
sudo systemctl start nginx
sudo systemctl enable nginx
步骤 4:上传前端代码
可以使用 scp、FTP、或者 Git 拉取等方式上传你的前端打包后的文件(如 dist 文件夹)。
示例使用 scp 从本地传到服务器:
scp -r dist root@你的公网IP:/usr/share/nginx/html/
然后替换默认页面:
sudo rm -rf /usr/share/nginx/html/*
sudo cp -r dist/* /usr/share/nginx/html/
步骤 5:配置 Nginx(可选)
修改 /etc/nginx/conf.d/default.conf 文件,确保配置如下:
server {
listen 80;
server_name your-domain.com;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ =404;
}
}
重启 Nginx:
sudo systemctl restart nginx
步骤 6:绑定域名(可选)
- 在阿里云申请域名(域名注册服务)。
- 将域名解析到你的 ECS 公网 IP。
✅ 方式二:使用 OSS + CDN + 自定义域名 部署(适合纯静态站点)
步骤 1:创建 OSS Bucket
- 登录阿里云控制台,进入 OSS管理控制台。
- 创建一个 Bucket(建议区域与用户地域一致)。
- 启用“静态网页托管”功能:
- 在 Bucket 设置中找到【静态网页托管】,开启并设置首页文档为
index.html,错误页也可以设为index.html(用于支持 SPA 路由)。
- 在 Bucket 设置中找到【静态网页托管】,开启并设置首页文档为
步骤 2:上传前端文件
- 使用 OSS 控制台或工具(如 ossbrowser、OSS SDK)上传你的
dist目录内容到 Bucket。
步骤 3:绑定自定义域名
- 在 Bucket 的【自定义域名】选项卡中添加你的域名(例如
www.example.com)。 - 配置 CNAME 记录到 OSS 提供的X_X访问地址。
步骤 4:配置 HTTPS(可选)
- 可以在 CDN 或者 OSS 中绑定 SSL 证书(可从阿里云免费申请)。
步骤 5:访问(可选)
- 开通 CDN ,提升全球访问速度。
✅ 方式三:使用 Serverless 应用引擎(SAE) 部署(适合不想维护服务器)
步骤 1:准备 Dockerfile
如果你的前端项目需要运行 Node.js 服务,可以写一个简单的 Dockerfile:
FROM nginx:alpine
COPY dist /usr/share/nginx/html
EXPOSE 80
步骤 2:打包镜像并上传到阿里云 ACR 容器镜像服务
略(可参考阿里云容器镜像服务文档)
步骤 3:在 SAE 创建应用
- 使用容器镜像部署你的前端服务。
- 配置访问端口、环境变量等。
- 绑定域名 + SSL 证书。
🔒 三、安全建议
- 配置好安全组,只开放必要端口(如 80、443)。
- 建议启用 HTTPS。
- 使用 RAM 子账号管理权限,避免主账号泄露。
- 对于 OSS,注意权限设置,防止数据被公开访问。
🧪 四、测试访问
打开浏览器输入你的域名或公网 IP 地址,查看是否能正常访问你的前端项目。
📦 五、补充:CI/CD 自动化部署(可选)
如果你希望每次提交代码后自动部署,可以使用:
- GitHub Actions + 阿里云 API
- Jenkins + 阿里云插件
- GitLab CI + SSH 部署脚本
🎯 总结
| 方式 | 优点 | 缺点 |
|---|---|---|
| ECS + Nginx | 灵活可控,适合有后端项目 | 需要手动维护服务器 |
| OSS 静态托管 | 快速简单,成本低 | 不适合复杂路由或动态请求 |
| Serverless 应用引擎 | 无需运维,弹性伸缩 | 成本较高,学习曲线略陡 |
如果你告诉我你的前端项目类型(Vue/React/Angular)、是否需要绑定域名、是否需要 HTTPS 等细节,我可以给你更具体的部署方案 👇
CLOUD技术博