跳过正文
  1. 系列/
  2. 技术番外/

番外:客户端和服务器谁为工作方的建议

其雁过无痕
作者
其雁过无痕
目录

方案一:Windows 不装 Docker
#

这种方式下,你的 Windows 只负责写代码和生成基础的打包文件,镜像的构建全在服务器上。

  1. Windows 端: 使用 Maven 将 Java 项目打包成 .jar.war 文件。
  2. 传输: 将这个包和编写好的 Dockerfile 一起上传到你的 Linux VPS。
  3. VPS 端: 在服务器上执行 docker build 将包构建成镜像,然后 docker run 启动容器。
  • 致命缺点: 构建 Docker 镜像是一个非常消耗 CPU 和内存的操作。在小性能 VPS 上执行构建,极易导致服务器内存溢出(OOM)、死机或卡顿,整个过程也会非常缓慢。

方案二:Windows 端安装 Docker
#

这种方式被称为**“本地构建,云端运行”**,也是目前企业级开发(CI/CD)的主流思路。

  1. Windows 端: 将 Java 项目打包,并在本地使用 Docker Desktop 执行 docker build,利用你强大的电脑硬件瞬间把项目打包成一个标准的 Docker 镜像。
  2. 推送: 将这个镜像推送到云端的镜像仓库(比如阿里云的免费容器镜像服务,或者 Docker Hub)。
  3. VPS 端: 服务器只需要执行 docker pull 拉取现成的镜像,然后直接 docker run 跑起来。
  • 核心优势: * 保护 VPS: VPS 只负责最轻松的“运行”环节,完全不需要消耗资源去编译和构建,最大化利用了你小服务器的有限性能。
    • 效率极高: 把构建镜像的压力全部转移到本地电脑,速度极快。
    • 版本控制: 你的云端镜像仓库里会有项目不同版本的镜像,如果新版本在 VPS 上跑出问题,随时可以一键回滚到旧版本。

相关文章

任务 3:熟练使用终端复用工具

核心目标 # 操作:安装并学习使用 tmux。 收获:掌握在服务器上跑长耗时任务的能力。即使本地 SSH 突然断开,任务依然会在后台运行,不会前功尽弃。 核心工具:tmux # tmux (Terminal Multiplexer) 是现代服务端开发的必备工具,解决了远程连接中途掉线导致任务中断的痛点。

任务 2:分配虚拟内存 (Swap)

Linux 服务器运维笔记:分配虚拟内存 (Swap) 避坑与实操 # 0. 背景与目标 # 在小内存(如 1GB RAM)的云服务器上运行 Java、MySQL 或进行前端构建时,物理内存极易耗尽导致进程被系统杀掉(OOM)。Swap(交换空间) 充当了“虚拟内存”的角色,是服务器在高负载下的“救命支撑”。