同学们好!作为一个复杂的分布式系统,往往涉及数量众多的功能组件。特别是基于微服务架构的互联网应用,每一个微服务都是一个独立的可执行程序,再加上前端服务器,服务注册与发现服务器,等等。构建、部署和维护这样的复杂系统,无论是对开发人员,还是对运维人员,都是一种空前的挑战。编写并使用运维脚本,在某种程度上可以简化这部分工作,提高工作效率,同时也减少了犯错误的机会,提高了系统整体的易用性和可维护性。


这节课,我们将为《我家租房网》项目创建四个脚本,分别用于构建前后端服务器、启动基于FastDFS和Nginx的文件服务器、启动前后端服务器和停止前后端服务器。有了这些脚本,我们的开发和测试工作会变得更加轻松愉快。


首先我们来编写前后端服务器的构建脚本。


在项目目录下创建名为build.sh的Shell脚本文件:

依次进入每一个后端微服务的工程目录,执行go build命令,在该工程目录下生成相应微服务的可执行程序。最后进入前端服务器的工程目录,执行go build命令,在该目录下生成前端服务器的可执行程序。


直接在项目目录下启动Bash控制台,执行前面编写的脚本。可以看到,所有后端微服务和前端服务器的可执行程序,都已被构建好,并位于各自的工程目录下。


下一步,我们为运行在虚拟机中的文件服务器编写启动脚本。


在项目目录下创建名为file.sh的Shell脚本文件:

以超级用户身份依次启动FastDFS的跟踪服务器和存储服务器,启动Nginx服务器。


进入虚拟机,在终端窗口中执行前面编写的脚本,启动基于FastDFS和Nginx的文件服务器。


编写一个脚本,一键启动《我家租房网》。


在项目目录下创建名为start.sh的Shell脚本文件:

先启动Consul服务器,接着启动每一个后端微服务,最后启动前端服务器。


直接在项目目录下启动Bash控制台,执行前面编写的脚本。可以看到,Consul服务器、所有后端微服务和前端服务器都被启动运行。


最后再编写一个脚本,一键停止《我家租房网》。


在项目目录下创建名为stop.sh的Shell脚本文件:

通过kill命令,依次杀死前端服务器、各后端微服务及Consul服务器进程。


直接在项目目录下启动Bash控制台,执行前面编写的脚本。可以看到,前端服务器、所有后端微服务和Consul服务器都被终止运行。


谢谢大家,我们下节课再见!