本帖最后由 仪大部 于 2024-8-1 18:21 编辑
所谓进程部署,就是让开发出的产品能够在某一环境中运行起来。 服务器进程部署则是指将服务器应用程序或服务的进程部署或安装到目标服务器上的过程。服务器进程是指在服务器上运行的程序实例,可以为客户端提供服务或执行特定的功能。 至于这个环境是什么,根据具体情况而定,可以是一个公司买的实体服务器,可以是类似AWS提供的云平台服务,也可以是本地环境,所以相应地部署就分为远程部署和本地部署。 远程部署很容易理解,因为是很常见的部署形式,对于本地部署,至少我最初是很难理解的,因为在我看来本地进行开发工作的时候项目本来就是可以正常工作的,为什么还要多此一举地去进行本地部署呢,这跟开发环境有什么区别呢,完全不能理解呀。 一般的软件都会存在至少两个阶段,开发和部署。 开发工作是在本地进行的,这时我们会使用一些编辑器,例如WebStorm,VScode等等类似的IDE,但是这个时候项目只能在我们本地环境才能正常工作,别人的电脑上是访问不到的,要想别人也能够正常使用我们的项目就得进行部署。 部署刚刚已经提到过,就是使得软件在某一环境中运行起来,这个过程中会将源代码生成可运行的软件包,然后将软件包放到要部署的环境中,通过一些配置使得这个软件包在目标环境上也能够正常工作。 因为对于一个项目来说,不同人群需要的“产品”类型是不一样的,假设我们要为某一个公司开发一个网站,开发人员关心的是源代码,而项目管理人员要的是一个可运行的软件包,然而客户要的是能够打开网页就能显示预期内容的页面。 从源代码到能够看到具体的页面就是一个部署的过程。 因此部署要做的工作大致分为三步: 1. 将源代码生成可运行的软件包,例如 jar 包或 war 包等;
2. 将可运行的软件包放到目标环境上;
3. 配置目标环境使得软件包能够运行起来;
知道了这些再去看开发和本地部署的确是有区别的,尽管都是在同一台机器上,但是本质不同,和远程部署相比只是目标环境不同而已,但依旧叫做部署。 部署的工具也有很多,在我本次的作业中使用的是jenkins,通过在本地启动一个虚拟机然后运行jenkins,将其作为目标环境使用jenkins的pipeline进行部署,因为是在一台机器上故而是本地部署了。
服务器进程部署的意义体现在以下几个方面: 1.提供服务:服务器进程部署可以使服务器上运行的应用程序或服务能够为客户端提供服务。例如,一个web服务器进程可以提供网站的访问服务,一个邮件服务器进程可以提供电子邮件的收发服务。 2.资源优化:服务器进程部署可以将不同的应用程序或服务部署到不同的服务器上,根据服务器的性能和资源分配情况进行优化。这样可以确保每个服务器都能够高效地运行自己的进程,提高系统的整体性能。 3.系统扩展性:服务器进程部署可以实现系统的扩展性。通过将多个服务器进程部署到多台服务器上,可以分担每个服务器上的负载,提高系统的容量和可扩展性。如果系统需要更多的资源和性能,可以根据需要添加更多的服务器进程。 4.高可用性:服务器进程部署可以实现高可用性。通过将同一个应用程序或服务的多个进程部署到不同的服务器上,可以实现故障容错和负载均衡。如果某个服务器发生故障或过载,其他正常运行的服务器可以继续提供服务,确保系统的可用性不受影响。 5.安全性:服务器进程部署还涉及到安全性的考虑。部署过程应该确保服务器进程的安全性,防止恶意攻击或未经授权的访问。此外,服务器进程的配置和权限设置也需要妥善处理,以确保只有授权的用户可以访问服务器进程。 |