将前端项目部署到阿里云服务器(ECS)是一个常见的需求。以下是详细的步骤指南,帮助你顺利地将你的前端项目(如 Vue、React、Angular 或静态 HTML 项目)部署到阿里云 ECS 实例上。
🧩 准备工作
1. 购买并配置阿里云 ECS 服务器
- 登录 阿里云官网
- 购买一个 ECS 实例:
- 推荐系统:CentOS / Ubuntu(建议选择熟悉的 Linux 系统)
- 配置:1核2G起步即可满足小型前端项目
- 地域:根据目标用户选择就近区域
- 设置安全组规则(放行 HTTP/HTTPS 和 SSH 端口):
- HTTP:
80 - HTTPS:
443 - SSH:
22
- HTTP:
2. 本地准备前端项目
- 确保项目可以正常构建(build)
npm run build构建完成后会生成一个
dist文件夹(或其他指定的输出目录)
📦 步骤一:连接服务器
使用 SSH 连接服务器(Windows 可用 Xshell/Putty,Mac/Linux 使用终端):
ssh root@你的服务器公网IP
输入密码或使用密钥登录。
🛠️ 步骤二:安装 Nginx(用于托管静态资源)
CentOS:
sudo yum install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
Ubuntu:
sudo apt update
sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
访问服务器公网 IP,测试是否看到 Nginx 欢迎页面。
📁 步骤三:上传前端构建文件
你可以通过以下方式之一上传本地的 dist 目录内容到服务器:
方法 1:使用 SCP 命令上传(推荐小项目)
scp -r dist/* root@你的服务器公网IP:/usr/share/nginx/html/
方法 2:使用 FTP 工具(如 FileZilla)
方法 3:Git 拉取代码后构建(适合自动化流程)
在服务器上安装 Git 并克隆你的项目仓库:
sudo yum install git -y # CentOS
git clone https://github.com/yourname/yourproject.git
cd yourproject
npm install
npm run build
然后复制 dist 到 nginx 默认目录:
cp -r dist/* /usr/share/nginx/html/
⚙️ 步骤四:配置 Nginx(可选)
编辑 Nginx 配置文件以支持 SPA(单页应用)路由:
sudo vi /etc/nginx/conf.d/default.conf
修改如下内容(假设你用的是 /usr/share/nginx/html):
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ =404; # 改为下面一行以支持 history 模式
try_files $uri $uri/ /index.html;
}
}
保存后重启 Nginx:
sudo systemctl restart nginx
🔐 步骤五:配置域名和 HTTPS(可选)
1. 绑定域名
- 在阿里云控制台申请域名,并完成备案(国内服务器必须备案)
- 解析域名 A 记录指向服务器公网 IP
2. 申请 SSL 证书
- 阿里云搜索“SSL证书” -> 免费型 DV SSL
- 下载证书并上传到服务器
3. 配置 HTTPS
编辑 Nginx 配置文件,添加 SSL 配置项:
server {
listen 443 ssl;
server_name yourdomain.com;
ssl_certificate /path/to/fullchain.pem;
ssl_certificate_key /path/to/privkey.pem;
location / {
root /usr/share/nginx/html;
index index.html;
try_files $uri $uri/ /index.html;
}
}
同时配置 80 端口跳转 443:
server {
listen 80;
server_name yourdomain.com;
return 301 https://$host$request_uri;
}
重启 Nginx 生效:
sudo systemctl restart nginx
✅ 最终验证
打开浏览器访问你的域名或公网 IP,查看前端项目是否正常运行。
🧪 常见问题排查
| 问题 | 解决方案 |
|---|---|
| 页面无法访问 | 检查安全组是否开放 80/443 端口 |
| 页面白屏 | 查看浏览器控制台是否有报错,确认文件路径正确 |
| 路由刷新 404 | 检查 Nginx 是否配置了 try_files $uri $uri/ /index.html |
| 样式加载失败 | 检查构建时是否使用了相对路径(Vue 项目可在 vue.config.js 中设置 publicPath: './') |
🚀 附加建议
- 使用 CI/CD 自动化部署(GitHub Actions + scp)
- 使用宝塔面板简化管理(适合不熟悉命令行的用户)
- 使用 PM2 托管 Node.js 后端服务(如果前后端一体)
如果你有具体的前端框架(如 Vue、React),我也可以提供对应的部署脚本和优化建议。欢迎继续提问!
CLOUD技术博