1.一种自动部署并检测虚拟机web应用的方法,其特征在于,包括以下步骤:
s1、云管理平台连接宿主机的tcpsocket常驻程序,并对其发出调用请求命令;
s2、tcpsocket常驻程序从云管理平台的软件包仓库下载软件包到宿主机中;然后tcpsocket常驻程序再将软件包拷贝到虚拟机的存储盘上;tcpsocket常驻程序对宿主机的cloud-init程序进行配置并写入部署web服务命令;
s3、tcpsocket常驻程序对虚拟机进行开机;宿主机的cloud-init程序执行部署web服务命令,对存储盘上的软件包进行部署生成虚拟机的web应用,web应用启动后会监听指定的虚拟机socket端口,并生成socket监听文件。
2.根据权利要求1所述的一种自动部署并检测虚拟机web应用的方法,其特征在于,所述步骤s1前还包括步骤s0、用户将软件包上传到云管理平台的软件包仓库,云管理平台对宿主机创建虚拟机,虚拟机对web服务进行部署。
3.根据权利要求1所述的一种自动部署并检测虚拟机web应用的方法,其特征在于,所述步骤s3后还包括步骤s4、tcpsocket常驻程序连接宿主机的unixsocket文件,并对其发送检测命令;unixsocket文件控制虚拟机的qemuguestagent应用程序,去读取虚拟机的socket监听文件;
qemuguestagent应用程序读取socket监听文件内容并解码,然后检测其是否存在web服务监听的socket地址,若存在socket地址则判定虚拟机web服务部署完成并生成检测结果,否则为部署失败并生成检测结果。
4.根据权利要求3所述的一种自动部署并检测虚拟机web应用的方法,其特征在于,所述步骤s4后还包括步骤s5、qemuguestagent应用程序将检测结果反馈给unixsocket文件;tcpsocket常驻程序获取unixsocket文件的检测结果并发送给云管理平台。
5.一种自动部署并检测虚拟机web应用的系统,包括云管理平台和宿主机,其特征在于,所述云管理平台包括tcpsocket客户端和软件包仓库,所述宿主机包括虚拟机、tcpsocket常驻程序模块、cloud-init程序模块以及unixsocket文件模块;所述虚拟机包括qemuguestagent应用程序模块和socket监听文件模块;
所述云管理平台用于对所述宿主机创建虚拟机;
所述软件包仓库用于存储用户上传的软件包;
所述tcpsocket客户端用于连接并接受tcpsocket常驻程序模块的信息,并转发云管理平台的调用请求命令至所述tcpsocket常驻程序模块;
所述tcpsocket常驻程序模块用于下载所述软件包仓库的软件包到宿主机中,并对所述虚拟机进行开机;所述tcpsocket常驻程序模块还用于对所述cloud-init程序模块进行配置并写入部署web服务命令;
所述cloud-init程序模块用于执行部署web服务命令,对存储盘上的软件包进行部署生成虚拟机的web应用;
所述tcpsocket常驻程序模块还用于连接所述unixsocket文件模块,并对其发送检测命令;
所述unixsocket文件模块用于控制所述qemuguestagent应用程序模块去读取所述socket监听文件模块;
所述socket监听文件模块用于生成web应用监听虚拟机socket端口的socket监听文件;
所述qemuguestagent应用程序模块用于读取所述socket监听文件模块内容并解码,然后检测其是否存在web服务监听的socket地址,若存在socket地址则判定虚拟机web服务部署完成并生成检测结果,否则为部署失败并生成检测结果;
所述qemuguestagent应用程序模块还用于将检测结果反馈给所述unixsocket文件模块;
所述tcpsocket常驻程序还用于获取unixsocket文件模块的检测结果并发送给tcpsocket客户端,最后所述云管理平台用于获取检测结果并反馈给用户。