阿里云云端部署全攻略:从零到一搭建可访问的Web应用(2026新版)
在学习Web开发的过程中,很多开发者都会遇到这样一个问题:本地项目跑得好好的,导师或面试官却看不到。无论是课程设计答辩、毕业设计展示,还是面试作品分享,都需要一个稳定的公网访问环境。最近阿里云的认证机制做了一些调整,新一代部署方案更加便捷,今天就来分享一套完整的云端部署流程,帮助大家把自己的项目真正“放”到互联网上。阿里云服务器部署网站主要有三种主流路径:新手优先选轻量应用镜像一键部署或宝塔面板可
适合新手入门,课程设计、毕设、个人项目演示场景全覆盖
📌 写在前面
在学习Web开发的过程中,很多开发者都会遇到这样一个问题:本地项目跑得好好的,导师或面试官却看不到。无论是课程设计答辩、毕业设计展示,还是面试作品分享,都需要一个稳定的公网访问环境。最近阿里云的认证机制做了一些调整,新一代部署方案更加便捷,今天就来分享一套完整的云端部署流程,帮助大家把自己的项目真正“放”到互联网上。
阿里云服务器部署网站主要有三种主流路径:新手优先选轻量应用镜像一键部署或宝塔面板可视化部署,开发者可以选择手动环境部署,全程围绕“准备资源→配置环境→部署程序→域名解析→备案上线”推进。
一、部署方案全景对比
在开始部署之前,先弄清楚有哪些路可以走,选最合适的那一条。
| 方案 | 适用场景 | 优势 | 上手难度 | 预估成本/月 |
|---|---|---|---|---|
| ECS手动部署 | 需要完全掌控服务器环境、自定义程度高 | 灵活可控、可定制 | ⭐⭐⭐⭐ | ≈ 50-100元 |
| 轻量应用镜像 | WordPress等CMS快速建站 | 5分钟上线、0配置 | ⭐ | ≈ 40-60元 |
| 宝塔面板 | 多站点管理、不想敲命令 | 可视化界面、省心 | ⭐⭐ | ≈ 50-80元 |
| 云效CI/CD | 项目迭代频繁、需要自动化部署 | 全自动流水线 | ⭐⭐⭐ | ≈ 50元+ |
| 函数计算FC | 无状态API、事件驱动场景 | 按量付费、免运维 | ⭐⭐ | 按调用计费 |
| OSS托管 | 纯静态网站/前端项目 | 超低成本、高可用 | ⭐ | ≈ 0.1-5元 |
| ACK Serverless | 容器化应用、微服务架构 | 免节点运维 | ⭐⭐⭐⭐ | 约0.05美元/0.5h |
💡 选型建议:
-
课程设计/毕设/个人项目展示 → 选ECS 2核2G配置最稳妥,覆盖前后端分离场景
-
只想快速建个个人博客 → 轻量应用镜像,5分钟搞定
-
正儿八经做项目开发,要频繁更新 → 云效CI/CD流水线+ECS,解放双手
-
纯静态网站(Vue/React打包后) → OSS托管,成本低到几乎可以忽略
二、ECS 手动部署全流程(最通用方案)
以 Spring Boot + Vue 前后端分离项目为例,演示完整的部署流程。本教程的技术栈为:后端 Spring Boot 2.7 + JDK 11,前端 Vue 3 + Nginx,数据库 MySQL 8.0(RDS或ECS自建均可),云平台使用阿里云ECS(Ubuntu 22.04)。
2.1 前置准备
部署之前先做好三件事,缺一不可:
-
服务器:推荐2核2G起步,系统盘40G ESSD,操作系统预装 Alibaba Cloud Linux 3 / Ubuntu 22.04 / CentOS 7.9
-
域名:购买 .com/.cn 等域名(国内服务器需要备案),测试阶段可以先用公网IP访问
-
备案前提:国内服务器需要包年包月≥3个月,获取公网IP,地域选择内地
🎓 学生福利:阿里云有校园计划,完成学生认证后可以享受专属折扣。2核4G的ECS实例加上带宽,月度成本可以控制在50元以内。搜索“阿里云学生机”即可找到入口。
2.2 ECS实例创建
-
登录阿里云控制台,进入ECS控制台
-
点击“创建实例”,根据业务需求选择实例规格族,小型网站选基础配置即可
-
网络选择默认VPC即可,带宽建议1-3M按量付费
-
设置root密码(或创建密钥对),一定要记得保存
-
根据实际需求填写标签,确认配置后点击“确认下单”
⚠️ 注意:不同类型和规模的网站需要的ECS配置不同,请确认网站规模与访问人数后再做选择,后续也可以按需升降配。
2.3 安全组配置(核心避坑点)
安全组相当于云服务器的“防火墙”,很多初学者网站访问不了,十有八九是安全组没配好。登录ECS控制台 → 安全组 → 入方向规则,开放以下端口:
| 端口 | 用途 | 优先级 |
|---|---|---|
| 22 | SSH远程连接(建议限制源IP,仅允许自己的IP访问) | 1 |
| 80 | HTTP访问 | 1 |
| 443 | HTTPS访问(如有SSL证书) | 1 |
| 3306 | MySQL(建议仅内网访问,不开放公网) | 2 |
| 8888 | 宝塔面板(如果用的话) | 2 |
| 8080 | Spring Boot等默认端口(建议通过Nginx代理,不直接开放) | 2 |
💡 小白建议:SSH的22端口建议“授权对象”填你自己的IP,防止被恶意扫描。80和443端口需要开通“0.0.0.0/0”才能被公网访问。
2.4 远程连接服务器
-
轻量应用服务器:控制台直接“远程连接”一键登录
-
ECS:用 Xshell、PuTTY 或者本地终端,输入:
ssh root@你的服务器公网IP,然后输入密码即可进入
2.5 项目打包与上传
后端打包(Spring Boot)
在本地项目根目录执行Maven打包:
bash
mvn clean package -DskipTests
生成的jar包位于 target/your-application-0.0.1-SNAPSHOT.jar
前端构建(Vue)
bash
cd frontend npm install # 修改生产环境API地址,在 .env.production 或 vue.config.js 中配置 VITE_API_BASE_URL=http://你的公网IP:8080/api npm run build
生成的静态文件位于 dist/ 目录
上传至ECS
使用SCP命令或SFTP图形化工具(如FileZilla)上传文件:
bash
# 上传后端jar包 scp target/your-application-0.0.1-SNAPSHOT.jar root@你的ECS公网IP:/opt/app/ # 上传前端静态文件 scp -r dist/* root@你的ECS公网IP:/usr/share/nginx/html/
2.6 服务器环境配置
安装JDK 11
bash
# Ubuntu 22.04安装OpenJDK 11 sudo apt update sudo apt install openjdk-11-jdk -y java -version # 验证安装
如果是CentOS/Alibaba Cloud Linux,用 yum 代替 apt
安装并配置Nginx
bash
sudo apt install nginx -y sudo systemctl start nginx sudo systemctl enable nginx # 设置开机自启 curl http://localhost # 验证访问
配置Nginx反向代理(关键步骤):修改 /etc/nginx/sites-available/default:
nginx
server {
listen 80;
server_name 你的域名或公网IP;
# 前端静态文件
root /usr/share/nginx/html;
index index.html;
# API请求反向代理到Spring Boot后端
location /api/ {
proxy_pass http://localhost:8080/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
配置完成后重启Nginx:
bash
sudo nginx -t # 检查配置语法 sudo systemctl restart nginx
📘 Nginx作为高性能的Web服务器和反向代理服务器,在前端静态资源托管和API接口转发等场景中被广泛使用,将API请求反向代理到Spring Boot后端是前后端分离部署的标准架构。
安装MySQL(如ECS自建)
bash
sudo apt install mysql-server -y sudo systemctl start mysql sudo systemctl enable mysql sudo mysql_secure_installation # 安全配置 mysql -u root -p # 登录后创建项目和用户
💡 小贴士:安全性要求较高的场景推荐使用阿里云RDS MySQL,免去数据库运维的烦恼。
2.7 运行Spring Boot应用
bash
# 运行jar包 cd /opt/app nohup java -jar your-application-0.0.1-SNAPSHOT.jar > app.log 2>&1 &
配置systemd服务实现开机自启(高阶但推荐):
创建服务文件 /etc/systemd/system/myapp.service:
ini
[Unit] Description=My Spring Boot Application After=network.target [Service] Type=simple User=root WorkingDirectory=/opt/app ExecStart=/usr/bin/java -jar /opt/app/your-application-0.0.1-SNAPSHOT.jar Restart=on-failure RestartSec=10 [Install] WantedBy=multi-user.target
启用服务:
bash
sudo systemctl daemon-reload sudo systemctl enable myapp sudo systemctl start myapp sudo systemctl status myapp # 查看状态
2.8 域名购买、解析与备案
-
注册域名:在阿里云域名服务输入想要的名字,未被占用即可注册,域名后缀通常选.com或.cn
-
实名认证:根据提示完成域名实名认证
-
解析配置:在域名控制台添加A记录,主机记录填 @ 或 www,记录值填服务器的公网IP,TTL 600秒
-
ICP备案:国内服务器必须备案,备案流程在阿里云ICP备案系统完成
2.9 HTTPS配置(可选但强烈推荐)
有SSL证书更安全,也更专业:
bash
sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d 你的域名 -d www.你的域名
全程跟着交互指引走就能自动配置好HTTPS证书。
2.10 验证部署结果
在浏览器中访问你的域名或公网IP,看到项目首页即表示部署成功。
三、进阶:云效CI/CD自动化部署(彻底告别手工劳作)
如果你还在每天手动执行 mvn clean package,然后小心翼翼地用scp把jar包传到生产环境,最后再重启服务——这篇文章就是为了让你彻底告别这种手工劳作。
为什么需要自动化部署?
传统Java应用部署通常包含:本地编译打包 → 手动上传服务器 → 停止旧服务 → 备份旧版本 → 部署新版本 → 启动服务 → 验证功能。每个环节都可能出错——网络传输中断、文件权限问题、环境变量缺失、依赖版本冲突……
自动化部署带来的核心价值:
-
一致性保障:每次部署使用完全相同的流程和脚本,消除人为操作差异
-
效率提升:从提交代码到上线运行,全程无需人工干预
-
风险降低:回滚机制内置,出问题快速恢复到上一版本
-
可追溯性:完整日志记录,便于问题排查和审计
为什么选云效+Docker?
市面上的CI/CD工具有很多,选择阿里云云效主要基于以下几点:
-
开箱即用:无需自建服务器,注册即用
-
深度集成:与阿里云ECS、容器服务、镜像仓库等产品无缝对接
-
可视化配置:流水线配置完全图形化,学习成本低
-
免费额度:个人和小团队有足够的免费构建时长
结合Docker,环境与代码一起打包,确保一致性,一次构建随处运行。
快速搭建CI/CD流水线
-
登录阿里云控制台,搜索“云效”进入工作台
-
首次使用需要创建企业(相当于工作空间,小团队直接用自己名字即可)
-
进入“流水线”模块,点击“新建流水线”
-
选择代码源(支持GitHub、GitLab、Gitee、Codeup等)
-
添加构建任务(Maven打包/NPM构建)
-
添加部署任务(选择ECS部署/Docker镜像构建)
-
保存并运行流水线
配置Docker部署的yaml示例:云效流水线具备Docker部署能力,最终部署的目标来源于流水线任务镜像构建产物,将项目Dockerfile与源码一起托管,流水线即可自动完成镜像构建、推送至ACR(阿里云容器镜像服务)并部署到ECS。
设置好之后,每次 git push 代码,流水线就会自动拉取最新代码 → 自动打包 → 自动部署 → 自动重启。部署效率从30分钟手动操作,缩短到5分钟全自动完成。
四、轻量方案速览
4.1 轻量应用镜像一键部署(5分钟上线)
最适合WordPress、Typecho等CMS建站,无需手动配置环境:
-
购买轻量应用服务器时,“镜像”选择“应用镜像”
-
搜索“WordPress”等,系统自动预装LNMP环境+程序
-
实例创建完成后,在“应用管理”查看后台地址和默认密码
-
浏览器访问,按提示完成初始化即可使用
4.2 OSS静态网站托管(超低成本)
OSS静态网站托管功能,支持将存储在存储空间中的静态文件(如HTML、CSS、JavaScript等)直接发布为公开访问的网站,无需维护传统服务器即可实现高可用网站部署。
操作步骤:
-
创建OSS Bucket,配置公共读权限,开启静态网站托管功能
-
上传静态页面文件(前端项目dist目录)
-
配置静态网站托管:默认首页设为index.html,默认404页设为404.html
-
绑定自定义域名(可选),完成DNS解析后即可通过域名访问
4.3 函数计算FC部署(按量付费,免运维)
函数计算是“无服务器”平台,只需要把代码打包上传,它会自动运行应用。不用管服务器在哪里、有多少台、内存多大,只需要按实际使用的计算资源付费。
使用Serverless Devs工具一键部署(以Python为例):
-
本地编写函数代码,准备
s.yaml配置文件 -
执行
s deploy命令完成部署 -
获取系统生成的访问URL即可访问
五、部署建议与避坑指南
✅ 最佳实践建议
-
测试阶段先用IP访问:域名备案需要时间,先用公网IP验证项目是否正常
-
代码版本管理:务必使用Git等版本管理工具,配合云效自动化部署事半功倍
-
环境备份:重要数据定期备份,可用OSS做自动化备份
-
监控告警:配置ECS的监控告警,及时发现服务器异常
❌ 常见坑点与解决方案
| 常见问题 | 解决方案 |
|---|---|
| 浏览器访问不了网站 | 检查安全组是否开放80/443端口 |
| 项目无法连接数据库 | 确认数据库服务已启动,检查防火墙和3306端口 |
| Nginx返回502错误 | Spring Boot应用未启动或不正常工作,检查后台运行状态 |
| 域名解析后无法访问 | ping 域名检查解析是否生效,确认DNS TTL设置 |
| 备案期间网站无法访问 | 备案完成前可用服务器公网IP访问测试 |
⚠️ 安全注意事项
-
SSH的22端口建议设置源IP限制,只允许你自己的IP访问
-
MySQL等数据库端口不要对外开放公网访问,改为内网访问或白名单限制
-
定期更新系统补丁:
apt update && apt upgrade -y -
使用强密码,不要用默认密码
六、成本分析汇总
| 部署方案 | 典型成本构成 | 预估月费 |
|---|---|---|
| ECS 2核2G + 1M带宽 | 49元/月(学生优惠约40元) | 40-50元 |
| 轻量应用服务器 | 按套餐定价 | 40-60元 |
| 云效CI/CD(个人) | 免费额度内 | 0元 |
| OSS静态托管 | 按存储+流量 | 0.1-5元 |
| 函数计算FC | 按调用次数/资源用量 | 按需 |
📝 写在最后
云端部署并不难,核心就是做足准备、一步步来。从ECS的实例创建、安全组配置,到项目打包上传、环境配置,再到域名解析和备案上线,只要按部就班就不会踩坑。而对于追求效率和规范化的开发者,云效CI/CD流水线+Docker容器化的进阶方案值得认真投入时间学习,它带来的效率提升远超初期配置的时间成本。
如果你是学生,别忘了走校园计划,年度成本可以控制在50元以内。如果你是创业者或中小企业主,建议从ECS手动部署起步,后续根据业务增长再引入自动化流水线。
希望这篇教程能帮助你把项目顺利部署到云上。如果有任何问题,欢迎在评论区留言交流!
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)