目录
0 背景
你是一个开发者,有自己的测试环境:一个Linux
服务器(假设是Ubuntu24.04
)。你在自己的计算机上写了代码,打成了jar
包,然后准备部署这个包,开始测试。
有几种常见情况:
1. 服务器是你计算机上的虚拟机;
2. 服务器是你的另一台有显示屏的计算机,比如笔记本电脑;
3. 服务器是你的另一台没有显示屏的计算机,比如一个噪声很大的黑盒子;
4. 服务器是你另一台计算机上的虚拟机;
5. 服务器是你在某平台租的云服务器;
有两个基本问题:
1. 你怎么将这个包传送到服务器上呢?
2. 你是直接在服务器上操作还是通过其他什么方法使用服务器呢?
为了表述方便,这里约定jar
包等文件资源所在的计算机为主机
,jar
包等文件资源要传送的目的地,即服务部署的计算机为服务器
。
1 将文件传送到服务器
首先解决最基本的问题,就是两个计算机之间的文件传输问题。有很多工具都可以做到这件事,下面就常见的几种情况总结一下将文件从主机
传送到服务器
的方法。
前面会介绍传统的独有传输方式,然后会介绍通用的方式。
1.1 主机上的虚拟机
你的文件在主机
上,你要将其传到主机
上的虚拟机中,常见的方法是共享文件夹
,共享文件夹
的配置和具体的虚拟机软件有关,关于VirtualBox
的共享文件夹
配置可以参考这篇文章。
关于虚拟软件传文件的其他的方式不介绍,因为效率和稳定性可能不如共享文件夹
(笔者以前尝试过直接拖放文件结果把电脑直接搞蓝屏了),有心理阴影所以不做介绍。
1.2 另一台独立的计算机(包括上面的虚拟机)
如果只是主机
中的虚拟机,那么传文件是很方便的,如果是另一台独立的计算机呢?比如笔记本电脑。最原始的方法是使用传输介质,比如U盘
。
当然,如果是另一台计算机上的虚拟机的话,和主机上的虚拟机
类似,因为一般不会在Linux
系统里装虚拟机,能有虚拟机的计算机,一般是可以直接上手操作的Windows
系统。
1.3 远程文件传输
这是一种通用的文件传输方式,当然,这一般是需要网络支持的。这种方式不管主机
和服务器
是什