# 《AI 新范式》第6节:应用部署到云服务器
作者:小傅哥
博客:https://bugstack.cn (opens new window)
视频:https://t.zsxq.com/5c9qk (opens new window)
沉淀、分享、成长,让自己和他人都能有所收获!😄
JAR 打包上传 · Docker 容器化 · 域名绑定上线,让全世界访问你的应用。
# 一、本章诉求
将本地开发的 SpringBoot 应用打包上传到云服务器,通过 Docker 容器化部署,配合 Nginx 反向代理绑定域名,完成一键上线。
# 二、打包与 Docker 部署
# 1. Maven 打包
mvn clean package 生成 JAR,确保本地测试通过再上传。
# 2. Dockerfile
基于 JDK 17 镜像,EXPOSE 8080,一条命令构建镜像。
# 3. Nginx 反代
反向代理 80 → 8080,域名绑定,HTTPS 证书配置。
# 三、Dockerfile
FROM openjdk:17-jdk-slim
WORKDIR /app
COPY target/*.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "app.jar"]
1
2
3
4
5
2
3
4
5
# 四、部署命令
# 构建镜像
docker build -t form-service .
# 启动容器
docker run -d \
--name form-service \
-p 8080:8080 \
--network host \
form-service
# 查看日志
docker logs -f form-service
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# 五、域名绑定与上线验证
整体链路如下:
👤 用户访问(form.xiaofuge.cn)
↓ DNS 解析
🌐 Nginx 反代(80/443 → 8080)
↓ 转发请求
🚀 SpringBoot 容器(8080 端口)
1
2
3
4
5
2
3
4
5
# Nginx 配置
server {
listen 80;
server_name form.xiaofuge.cn;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
}
}
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
# 上线验证清单
- DNS 解析是否生效
- Nginx 反代是否正常
- API 接口能否访问
- MySQL 连接是否正常
- Redis 缓存是否生效
- Docker 容器运行稳定
# 六、读者作业
- 简单作业:将本地应用打包部署到云服务器,通过 IP:8080 访问验证接口可用。
- 复杂作业:思考 Nginx 反向代理和负载均衡的区别?如果有两台应用服务器,如何配置 Nginx 实现负载均衡?

