前端项目部署到阿里云服务器?

将前端项目部署到阿里云服务器(ECS)是一个常见的需求。以下是详细的步骤指南,帮助你顺利地将你的前端项目(如 Vue、React、Angular 或静态 HTML 项目)部署到阿里云 ECS 实例上。


🧩 准备工作

1. 购买并配置阿里云 ECS 服务器

  • 登录 阿里云官网
  • 购买一个 ECS 实例:
    • 推荐系统:CentOS / Ubuntu(建议选择熟悉的 Linux 系统)
    • 配置:1核2G起步即可满足小型前端项目
    • 地域:根据目标用户选择就近区域
  • 设置安全组规则(放行 HTTP/HTTPS 和 SSH 端口):
    • HTTP: 80
    • HTTPS: 443
    • SSH: 22

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技术博 » 前端项目部署到阿里云服务器?