在 Alibaba Cloud Linux 3.2104 LTS 上部署前端 Vue 项目,主要步骤如下。假设你已经有一个构建好的 Vue 项目(使用 npm run build 构建),并且希望通过 Nginx 提供静态文件服务。
✅ 一、准备工作
-
登录 ECS 实例
使用 SSH 登录到你的 Alibaba Cloud Linux 3.2104 LTS 服务器:ssh root@your_server_ip -
更新系统
sudo yum update -y
✅ 二、安装必要的软件
1. 安装 Nginx(用于部署静态资源)
sudo yum install -y nginx
启动并设置开机自启:
sudo systemctl start nginx
sudo systemctl enable nginx
查看状态:
sudo systemctl status nginx
默认网站根目录:
/usr/share/nginx/html
2. 安装 Node.js 和 npm(可选:如果需要在服务器上构建项目)
如果你希望在服务器上直接构建 Vue 项目(即上传源码后运行 npm run build),需要安装 Node.js。
推荐使用 NodeSource 源安装较新版本:
curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -
sudo yum install -y nodejs
验证安装:
node --version
npm --version
✅ 三、上传并部署 Vue 项目
方法一:本地构建后上传 dist 文件(推荐)
-
在本地开发环境构建项目:
npm run build生成
dist/目录。 -
将
dist/目录内容上传到服务器(例如使用scp):scp -r dist/* root@your_server_ip:/usr/share/nginx/html/ -
(可选)清空原 html 内容:
sudo rm -rf /usr/share/nginx/html/* -
上传文件:
scp -r dist/* root@your_server_ip:/usr/share/nginx/html/
方法二:在服务器上拉取代码并构建(适合 CI/CD 场景)
-
安装 Git:
sudo yum install -y git -
克隆项目:
cd /opt git clone https://github.com/yourname/your-vue-project.git cd your-vue-project -
安装依赖并构建:
npm install npm run build -
将构建结果复制到 Nginx 目录:
sudo cp -r dist/* /usr/share/nginx/html/
✅ 四、配置 Nginx 支持 Vue Router(history 模式)
如果使用了 Vue Router 的 history 模式,需配置 Nginx 将所有路由请求指向 index.html。
编辑 Nginx 配置文件:
sudo vi /etc/nginx/conf.d/default.conf
修改 location 块如下:
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
# 如果有 API 需求,可添加反向
# location /api/ {
# proxy_pass http://backend_server;
# }
}
关键点:
try_files $uri $uri/ /index.html;确保前端路由能正常工作。
保存并退出,然后重启 Nginx:
sudo systemctl restart nginx
✅ 五、开放防火墙端口(如使用安全组 + firewalld)
Alibaba Cloud 使用安全组控制访问,确保在控制台开放 80 端口(HTTP)。
如果服务器启用了 firewalld,也需放行:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload
✅ 六、访问项目
打开浏览器,输入你的服务器公网 IP:
http://your_server_ip
应能看到你的 Vue 应用。
✅ 七、(可选)绑定域名 & HTTPS
- 绑定域名:在 Nginx 中修改
server_name yourdomain.com,并解析域名到服务器 IP。 - 启用 HTTPS:使用 Let’s Encrypt 免费证书(配合 Certbot)。
安装 Certbot:
sudo yum install -y certbot python3-certbot-nginx
申请并配置 SSL:
sudo certbot --nginx -d yourdomain.com
✅ 总结:关键步骤清单
| 步骤 | 内容 |
|---|---|
| 1 | 登录 ECS 并更新系统 |
| 2 | 安装 Nginx |
| 3 | 上传或构建 Vue 项目的 dist 文件 |
| 4 | 配置 Nginx 静态服务及 history 模式支持 |
| 5 | 重启 Nginx |
| 6 | 开放安全组和防火墙端口 |
| 7 | 浏览器访问测试 |
如有需要,可以进一步结合 Jenkins、GitHub Actions 等实现自动化部署。
如需帮助写 Nginx 配置或 shell 脚本,欢迎继续提问!
CLOUD技术笔记