在阿里云ECS(弹性计算服务)上部署前端项目是一个常见的操作,适合部署静态网页、Vue/React/Angular 等单页面应用(SPA)。以下是详细的步骤指南:
🧾 前提条件
- 已购买并配置好阿里云ECS服务器
- 操作系统建议:Ubuntu 或 CentOS
- 本地开发环境已完成打包
- 使用
npm run build或vite build生成 dist 文件夹
- 使用
- 域名和备案(可选)
- 如果需要通过域名访问,需完成域名备案
✅ 部署流程概览
- 将前端项目打包上传到 ECS 服务器
- 安装 Nginx 或 Apache 作为 Web 服务器
- 配置 Nginx 以正确提供静态文件
- 开放安全组端口(如80、443)
- 访问网站测试
🛠️ 步骤详解
1. 打包前端项目
在本地或 CI 环境中运行打包命令:
npm run build
这会生成一个 dist/ 目录(具体名称可能因框架而异),里面包含所有静态资源。
2. 将打包好的文件上传到ECS服务器
方法一:使用 scp 命令上传(推荐)
scp -r dist/* user@your-ecs-ip:/var/www/html/
示例:
scp -r dist/* root@123.123.123.123:/var/www/html/
方法二:使用 FTP 工具(如 FileZilla)
也可以用 FTP/SFTP 工具上传到服务器目录。
3. 登录ECS服务器安装Nginx
Ubuntu:
sudo apt update
sudo apt install nginx -y
CentOS:
sudo yum install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
4. 配置 Nginx 提供静态文件
编辑默认站点配置文件:
sudo nano /etc/nginx/sites-available/default
修改内容如下(假设你把项目放在 /var/www/html):
server {
listen 80;
server_name your-domain.com www.your-domain.com;
location / {
root /var/www/html;
index index.html;
try_files $uri $uri/ =404;
}
}
保存后重启 Nginx:
sudo systemctl restart nginx
5. 配置安全组规则
进入阿里云控制台 -> ECS -> 安全组 -> 添加入方向规则:
- 协议类型:HTTP (80) / HTTPS (443)
- 授权对象:0.0.0.0/0 (允许所有IP访问)
6. 测试访问
浏览器打开:
http://你的ECS公网IP
或者:
http://你的域名
你应该能看到前端页面正常显示!
🔐 可选:HTTPS配置(推荐)
你可以使用 Let’s Encrypt 免费证书为你的网站启用 HTTPS。
使用 Certbot 快速配置:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx
按提示选择域名即可自动配置 HTTPS。
🧪 常见问题排查
| 问题 | 解决方法 |
|---|---|
| 页面打不开 | 检查Nginx是否启动,防火墙是否开放80端口 |
| 出现403 Forbidden | 检查 /var/www/html 是否有index.html,权限是否正确 |
| 出现404 | 检查Nginx的root路径是否正确,try_files配置是否完整 |
| 域名无法访问 | 检查DNS解析是否生效,域名是否备案 |
🚀 进阶建议
- 使用 CI/CD 自动化部署(如 GitHub Actions + scp)
- 使用 OSS + CDN 提速静态资源
- 使用 Docker 容器化部署
如果你能告诉我你使用的前端框架(如 Vue、React)、操作系统(Ubuntu/CentOS)等信息,我可以给出更具体的部署脚本和优化建议 😄
需要我帮你写一个自动化部署脚本吗?
ECLOUD博客