CN106843936B - 一种自动化部署Web应用环境的方法 - Google Patents
一种自动化部署Web应用环境的方法 Download PDFInfo
- Publication number
- CN106843936B CN106843936B CN201611247452.5A CN201611247452A CN106843936B CN 106843936 B CN106843936 B CN 106843936B CN 201611247452 A CN201611247452 A CN 201611247452A CN 106843936 B CN106843936 B CN 106843936B
- Authority
- CN
- China
- Prior art keywords
- tomcat
- mysql database
- web application
- tomcat container
- application environment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种自动化部署Web应用环境的方法,通过集成化工程项目体系框架的Java JDK、tomcat服务器、mysql数据库,使用大量的脚本语言控制各部分的启动运行以及相互调用,并在环境中设定环境的日志输出位置以监控环境的运行情况及设置备份数据目录用于项目数据备份,从而提供一套完整的web应用库。能够为包括J2EE在内的项目提供快速并高效的部署方式,能够封闭项目环境安装过程中存在的各种问题,降低实施工程师的能力和水平,大大降低项目在实施过程中的错误率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种自动化部署Web应用环境的方法。
背景技术
在计算机技术领域,基于Web的应用研发已经占据项目中的主流,越来越多的信息化系统以及其他应用系统通过这种“瘦”客户端的形式提供服务。在项目的实施阶段,实施工程师需要在机器上部署项目所需要的所有环境和软件,以J2EE项目为例,实施工程师需要安装JDK、tomcat、数据库、项目文件、数据表信息、浏览器,以及其他所需要的软件工具,这个过程需要浪费很多时间,同时在安装的过程中会出现各种各样的问题。目前,还不存在能够适配所有语言项目的绿色环境,包括J2EE工程项目,能够帮助计算机技术领域实现快速、高效、准确的项目实施部署。
发明内容
本发明的目的在于,为解决目前环境安装和应用部署过程复杂繁琐和易出错的技术问题,提供一种自动化部署Web应用环境的方法。
本发明提供的一种自动化部署web应用环境的方法,通过集成化工程项目(如J2EE)体系框架的Java JDK、tomcat服务器、mysql数据库,形成一套完整的web应用环境。其中,使用大量的脚本语言控制各部分的启动运行以及相互调用,并在环境中设定环境的日志输出位置以监控环境的运行情况及设置备份数据目录用于项目数据备份,从而提供一套完整的web应用库。Java JDK只保留了运行环境Jre,并在环境内部配置了计算机系统环境变量,避免了传统的手工配置方式。mysql使用绿色版本,通过脚本将数据库的配置成计算机服务,tomcat服务器修改catalina、server等配置文件自动嫁接其他资源。
为实现上述目的,本发明提供的一种自动化部署Web应用环境的方法,包括:
步骤1)安装Java JDK,将JDK存储路径中的Jre文件夹存入tomcat容器的根目录下;
步骤2)将mysql数据库文件夹存入tomcat容器的根目录下;
步骤3)在tomcat容器的脚本文件中配置全局变量JAVA_HOME,通过全局变量JAVA_HOME调用Java Jre运行环境;
步骤4)在Web应用环境中添加Installer.bat文件,在该Installer.bat文件中添加用于定义、配置及引用JAVA_HOME的路径地址、mysql数据库路径地址、tomcat容器路径地址的命令,添加用于安装及启动tomcat容器、安装及启动mysql数据库、初始化mysql数据库表结构以及导入Web应用环境需要部署的项目中基础数据的命令脚本;
步骤5)将步骤4)中的项目部署发布在tomcat容器内,构建成整个Web应用环境;
步骤6)利用Installer.bat文件安装及启动tomcat容器、mysql数据库和项目。
作为上述技术方案的进一步改进,所述步骤4)中通过Installer.bat文件执行mysql数据库安装及启动步骤包括:
判断操作系统中是否存在mysql数据库,如果不存在,则安装mysql数据库并初始化数据;如果存在,则进一步判断mysql数据库是否已启动,如果处于启动状态,则执行tomcat容器的安装操作,如果处于未启动状态,则启动mysql数据库后,执行tomcat容器的安装操作。
作为上述技术方案的进一步改进,所述步骤4)中通过Installer.bat文件执行tomcat容器安装及启动步骤包括:
安装运行tomcat容器,判断tomcat容器是否处于运行状态,如果tomcat容器已经运行则停止操作,否则判断tomcat容器是否以windows服务形式运行,如果是则在启动tomcat容器后停止操作,如果不是则先停止运行tomcat容器,然后以windows服务形式运行tomcat容器,并最终停止操作。
作为上述技术方案的进一步改进,所述的Web应用环境中还设有备份数据目录,用于备份mysql数据库中存储的项目数据。
作为上述技术方案的进一步改进,所述的Web应用环境中还设有日志文件,用于记录项目的运行状态数据和tomcat容器的运行状态数据。
本发明的一种自动化部署Web应用环境的方法优点在于:
1、本发明提出的自动化部署web应用环境的方法,能够为包括J2EE在内的项目提供快速并高效的部署方式,尤其针对于计算机技术领域的项目实施人员而言,能够比安装环境的传统方法效率提高10倍以上。
2、本发明提供的自动化部署web应用环境的方法,能够封闭项目环境安装过程中存在的各种问题,降低实施工程师的能力和水平,大大降低项目在实施过程中的错误率;经统计,通过此方法部署项目的错误率比传统方法降低5倍以上。
附图说明
图1为本发明实施例中的自动化部署Web应用环境的方法实施流程示意图。
图2为本发明实施例中的mysql数据库实施流程示意图。
图3为本发明实施例中的tomcat容器实施流程示意图。
具体实施方式
下面结合附图和实施例对本发明所述的一种自动化部署Web应用环境的方法进行详细说明。
本发明旨在提供一种绿色免安装的Java Web项目部署环境的方法,用以解决目前环境安装和应用部署过程复杂繁琐和易出错的问题。
参考图1所示的Web应用环境,在本实施例中,本发明提供的自动化部署该Web应用环境的方法,具体步骤包括:
步骤1)将Java JDK进行绿色化改造,即安装在Java JDK之后,将JDK存储路径中的Jre文件夹取出来,这样只保留Java的运行环境,将该Jre文件放入tomcat容器的根目录下。
步骤2)将mysql数据库进行服务化改造,修改成为免安装的服务模式,将mysql数据库文件夹放入tomcat容器的根目录下。
步骤3)重塑tomcat容器,修改tomcat容器的几个关键脚本,包括在catalina.bat、service.bat、setclasspath.bat几个文件中配置全局变量JAVA_HOME,tomcat启动运行需要Java运行环境,因此内部的脚本需要调用calalina.bat和service.bat文件中寻找到JAVA_HOME,而将tomcat以windows服务形式启动则需要service.bat中定义JAVA_HOME,因此通过定义的全局变量JAVA_HOME能够调用Java Jre的运行。
步骤4)在Web应用环境中添加Installer.bat文件作为启动入口,在该Installer.bat文件中通过逻辑脚本添加安装及启动tomcat容器、安装及启动mysql数据库、初始化mysql数据库表结构并导入Web应用环境需要部署的项目中基础数据的命令,并在installer.bat中添加用于定义、配置及引用JAVA_HOME的路径地址、mysql数据库路径地址、tomcat容器路径地址的命令,以使得可以通过脚本自动化启动tomcat容器、mysql数据库和Java Jre,实现三者的服务。
步骤5)将步骤4)中的J2EE项目部署发布在tomcat容器内,构建成整个Web应用环境。
步骤6)双击installer.bat文件,安装及启动tomcat容器、mysql数据库和项目。
在上述实施例中,通过集成化J2EE体系框架的Java JDK、tomcat服务器、Mysql数据库,形成一套完整的web应用环境。其中,使用大量的脚本语言控制各部分的启动运行以及相互调用,并在环境中设定环境的日志输出位置以监控环境的运行情况及设置备份数据目录用于项目数据备份,提供一套完整的web应用库。通过JavaJDK安装环境的改造,去掉相关配置项,仅保留绿色Java Jre运行环境。脚本内为Java Jre运行环境提供全局变量定义,主要包括path和classpath,tomcat容器可以引用Java Jre用以支持J2EE项目。通过tomcat容器环境的脚本改造,修改包括catalina.bat、service.bat、setclasspath.bat等脚本,成为脚本重塑后的tomcat容器。通过mysql数据库的服务化改造,保留mysql数据库的绿色化服务,在tomcat容器内可以调用绿色mysql数据库服务,通过脚本驱动改造成服务化的运行模式。在installer.bat中启动服务,主要包括两部分,一是安装和启动tomcat容器,二是安装和启动mysql数据库以及初始化数据。
在本实施例中,所述的环境目录结构包括:backup、db、java、lib、mysql、temp、tomcat、webapps、installer、startup。
其中,修改Java JDK的引用及配置的过程可表示为:
在service.bat中的Java JDK配置项:
修改当前目录为寻找路径方式:set“CURRENT_DIR=%cd%”
配置JDK的引用位置:cd..\..\java\jdk
修改JAVA_HOME的寻找路径方式:set“JAVA_HOME”
配置JAVA_HOME的引用位置:cd“%CURRENT_DIR%”
在installer.bat中的配置项:
配置java_home的运行环境路径set:“java_home=%current_dir%\jdk\”
基于服务化tomcat容器脚本改造,需要从官方网站下载tomcat免安装版本压缩包,解压之后,进入bin目录下,为了免去java环境变量的配置,导致运行环境对计算机的依赖,分别修改catalina.bat、setclasspath.bat和service.bat脚本文件,在文件中添加上述环境变量JAVA_HOME的设置操作。
组合搭配以上准备的配置内容,新增环境一键安装和初始化脚本installer.bat。将JDK包、tomcat和Mysql包一起放置到同一目录JTM下,并在JTM目录下添加backup和lib文件夹,backup下备份存放Mysql数据库初始化之前的初始数据库备份,lib目录放置整个绿色发布环境公用的类库。将installer.bat脚本放置到JTM目录下,用于完成tomcat服务的安装和启动、Mysql服务的安装和启动及数据库的初始化操作。
另外,如图1所示,所述的Web应用环境中还设有备份数据目录和日志文件,分别用于备份mysql数据库中存储的项目数据、记录项目的运行状态数据和tomcat容器的运行状态数据。
总体来说,本发明的上述自动化部署Web应用环境的方法是使用绿色化改造的Java JDK、脚本改造的tomcat容器、和服务化改造的绿色mysql数据库,通过脚本编译和全局变量定义,以整合三者的服务,通过绿色的方式为J2EE Web应用项目提供服务。
图2是mysql数据库服务化改造的实施流程图,首先将mysql数据库文件夹放入tomcat容器根目录下。在Installer.bat文件中配置mysql数据库的服务路径,并利用Installer.bat文件执行mysql数据库安装及启动过程,包括:判断操作系统中是否存在mysql服务,如果不存在,则安装mysql服务并初始化数据,如果存在,则进一步判断mysql服务是否已启动,如果服务处于启动状态,则进入到下一步安装tomcat服务的过程中,如果处于未启动状态,则启动mysql服务,然后再进入到下一步安装tomcat服务的过程中。
上述mysql数据库安装及启动的具体实施过程为:首先,配置mysql数据库启动和数据初始化,在Installer.bat文件中配置mysql数据库的服务路径,设置路径为当前根目录下的mysql文件夹下,mysql数据库的服务路径设置脚本:set“mysql_home=%current_dir%\mysql\”。
然后,搜索mysql的服务是否存在,如果存在,则判断mysql的服务是否在运行,根据mysql服务运行状态跳转到相应的处理脚本中。
在mysql运行脚本中,打印出mysql正在运行的信息,然后跳转到安装tomcat服务脚本中。
在mysql停止脚本中,打印出mysql服务停止的信息,并通过命令start MySQL5启动mysql服务,打印出Mysql5启动成功的信息,然后跳转到安装tomcat服务。
如果mysql服务不存在,则需要安装mysql服务,通过命令install MySQL5安装mysql服务,通过命令start MySQL5启动mysql服务,通过mysqladmin后续命令设置初始化的数据库用户名和密码。
mysql数据库的用户信息设置过程为:
为mysql添加数据库创建和数据初始化操作脚本,通过mysql-h的相关命令,输入用户名密码,找到初始化的数据库结构文件,创建数据库表结构,命令表示为:
mysql-h localhost-uroot-proot<"%current_dir%\db\init.sql"
图3是tomcat容器实施流程图,首先需要安装tomcat服务,判断tomcat服务是否在运行,如果是则停止执行启动运行tomcat操作,如果没有运行,则判断tomcat是否是以windows服务形式运行,如果是启动tomcat服务,如果不是先停止tomcat服务,然后启动以windows方式提供服务,最后停止自动化的安装部署过程。
tomcat服务路径设置方法:定义tomcat的路径、定义JAVA_HOME路径。
set“tomcat_home=%current_dir%\tomcat\”
rem define JAVA_HOME
set"CURRENT_DIR=%cd%"
cd..\..\java\jdk
set"JAVA_HOME=%cd%"
cd"%CURRENT_DIR%"
Tomcat服务的安装运行方法:进入到安装tomcat脚本模块中,找到tomcat路径,判断tomcat是否存在,并分别跳转到相应模块中。如果tomcat存在,进入到yestomcat中,判断tomcat是否运行,如果运行跳转到tomcatRunning模块,如果未运行,跳转到tomcatStopped模块。若tomcat已经运行,则判断tomcat的服务方式,然后停止启动过程。
tomcat服务存在但是未运行的处理方法:如tomcat服务存在但是处于未运行状态,则通过命令start tomcat7以windows服务的形式启动tomcat服务,打印出tomcat成功启动的信息。
Tomcat无服务的处理方法:如果tomcat服务不存在,则以windows的服务形式启动tomcat服务,通过命令call service.bat install tomcat7安装tomcat服务,通过命令start tomcat7启动tomcat服务。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (5)
1.一种自动化部署Web应用环境的方法,其特征在于,包括:
步骤1)安装Java JDK,将JDK存储路径中的Jre文件夹存入tomcat容器的根目录下;
步骤2)将mysql数据库文件夹存入tomcat容器的根目录下;
步骤3)在tomcat容器的脚本文件中配置全局变量JAVA_HOME,通过全局变量JAVA_HOME调用Java Jre运行环境;
步骤4)在Web应用环境中添加Installer.bat文件,在该Installer.bat文件中添加用于定义、配置及引用JAVA_HOME的路径地址、mysql数据库路径地址、tomcat容器路径地址的命令,添加用于安装及启动tomcat容器、安装及启动mysql数据库、初始化mysql数据库表结构以及导入Web应用环境需要部署的项目中基础数据的命令;
步骤5)将步骤4)中的项目部署发布在tomcat容器内,构建成整个Web应用环境;
步骤6)利用Installer.bat文件安装及启动tomcat容器、mysql数据库和项目。
2.根据权利要求1所述的自动化部署Web应用环境的方法,其特征在于,所述步骤4)中通过Installer.bat文件执行mysql数据库安装及启动步骤包括:
判断操作系统中是否存在mysql数据库,如果不存在,则安装mysql数据库并初始化数据;如果存在,则进一步判断mysql数据库是否已启动,如果处于启动状态,则执行tomcat容器的安装操作,如果处于未启动状态,则启动mysql数据库后,执行tomcat容器的安装操作。
3.根据权利要求2所述的自动化部署Web应用环境的方法,其特征在于,所述步骤4)中通过Installer.bat文件执行tomcat容器安装及启动步骤包括:
安装运行tomcat容器,判断tomcat容器是否处于运行状态,如果tomcat容器已经运行则停止操作,否则判断tomcat容器是否以windows服务形式运行,如果是则在启动tomcat容器后停止操作,如果不是则先停止运行tomcat容器,然后以windows服务形式运行tomcat容器,并最终停止操作。
4.根据权利要求2所述的自动化部署Web应用环境的方法,其特征在于,所述的Web应用环境中还设有备份数据目录,用于备份mysql数据库中存储的项目数据。
5.根据权利要求2所述的自动化部署Web应用环境的方法,其特征在于,所述的Web应用环境中还设有日志文件,用于记录项目的运行状态数据和tomcat容器的运行状态数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611247452.5A CN106843936B (zh) | 2016-12-29 | 2016-12-29 | 一种自动化部署Web应用环境的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611247452.5A CN106843936B (zh) | 2016-12-29 | 2016-12-29 | 一种自动化部署Web应用环境的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106843936A CN106843936A (zh) | 2017-06-13 |
CN106843936B true CN106843936B (zh) | 2019-12-10 |
Family
ID=59115153
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611247452.5A Active CN106843936B (zh) | 2016-12-29 | 2016-12-29 | 一种自动化部署Web应用环境的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106843936B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108632331A (zh) * | 2017-08-28 | 2018-10-09 | 北京视联动力国际信息技术有限公司 | 一种视联网应用的安装方法和装置 |
CN109818765B (zh) * | 2017-11-21 | 2022-03-11 | 成都鼎桥通信技术有限公司 | 一种网元部署方法和装置 |
CN108038353A (zh) * | 2017-12-26 | 2018-05-15 | 重庆佰诺吉生物科技有限公司 | 一种基因组数据的网页展示方法 |
CN108733381A (zh) * | 2018-03-30 | 2018-11-02 | 四川九阵科技股份有限公司 | 一种医疗软件的免安装部署方法 |
CN108536449A (zh) * | 2018-03-30 | 2018-09-14 | 新华三大数据技术有限公司 | Web项目部署方法及装置 |
CN109062585A (zh) * | 2018-07-31 | 2018-12-21 | 安徽四创电子股份有限公司 | 一种平安城市项目服务器基础环境部署方法 |
CN109343936A (zh) * | 2018-09-28 | 2019-02-15 | 北京中电普华信息技术有限公司 | 一种微服务自动部署方法及装置 |
CN109800002A (zh) * | 2019-01-17 | 2019-05-24 | 恒峰信息技术有限公司 | 一种Java软件自动安装部署方法 |
CN110941438A (zh) * | 2019-12-11 | 2020-03-31 | 东华大学 | 一种离线Centos7环境下MySQL、Redis和Tomcat自动部署方法 |
CN111209719A (zh) * | 2019-12-31 | 2020-05-29 | 西安翔腾微电子科技有限公司 | Ic设计环境的自动化实现方法、装置、设备及存储介质 |
CN113900677A (zh) * | 2021-10-18 | 2022-01-07 | 盐城金堤科技有限公司 | 程序运行环境的部署方法、装置、设备及计算机存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103581310A (zh) * | 2013-10-24 | 2014-02-12 | 深圳市远行科技有限公司 | 一种web服务代理的自动生成方法 |
CN106095408A (zh) * | 2016-05-31 | 2016-11-09 | 浙江网新恒天软件有限公司 | 一种数据监控和代码自动生成与部署的系统及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110029856A1 (en) * | 2009-07-28 | 2011-02-03 | International Business Machines Corporation | Extensible Web Context in Web Containers |
US9170797B2 (en) * | 2012-01-31 | 2015-10-27 | Red Hat, Inc. | Automated deployment of an application in a computing platform |
-
2016
- 2016-12-29 CN CN201611247452.5A patent/CN106843936B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103581310A (zh) * | 2013-10-24 | 2014-02-12 | 深圳市远行科技有限公司 | 一种web服务代理的自动生成方法 |
CN106095408A (zh) * | 2016-05-31 | 2016-11-09 | 浙江网新恒天软件有限公司 | 一种数据监控和代码自动生成与部署的系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106843936A (zh) | 2017-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106843936B (zh) | 一种自动化部署Web应用环境的方法 | |
US11853774B2 (en) | Dynamically loaded plugin architecture | |
US9811360B2 (en) | Dynamic determination of application server runtime classloading | |
US10929117B2 (en) | Container image building using shared resources | |
WO2017092672A1 (zh) | 一种Docker容器运行方法和装置 | |
US9280336B2 (en) | Virtual machine disk image installation | |
US20140196022A1 (en) | Cloud Based Application Packaging | |
CN106406960B (zh) | 一种linux环境中快速部署软件的方法 | |
CN108897547B (zh) | 一种软件自动化部署方法及装置 | |
US8024721B2 (en) | System and method for implementing a safe framework | |
CN102929716B (zh) | 一种启动多进程的方法 | |
US20110078672A1 (en) | Classloading Technique for an Application Server that Provides Dependency Enforcement | |
JP7311710B2 (ja) | 実行時コンテナ | |
CN105893545A (zh) | 一种高效的Hadoop集群部署方法 | |
WO2017020459A1 (zh) | 一种为宿主配置插件包的方法与装置 | |
CN114398075A (zh) | 一种go微服务自动化部署的方法及系统 | |
CN111752635A (zh) | 应用程序的运行方法、装置、计算机设备以及存储介质 | |
US20080059949A1 (en) | System and method for implementing a safe framework | |
CN110647349B (zh) | 一种实现iOS APP持续交付的方法 | |
CN114546819A (zh) | 代码处理方法、装置、电子设备及可读介质 | |
CN111913720A (zh) | 一种程序部署方法及装置 | |
US20240069883A1 (en) | Deriving a container from a package set | |
CN109976765B (zh) | 一种应用群部署方法、装置、设备和存储介质 | |
CN113568628B (zh) | 一种基于debian系统ISO自动化生产方法 | |
US20240168741A1 (en) | Systems and/or methods for simplifying packaging and installation of software in mainframe computer systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |