前言
前段时间,公司接单子做一套JavaWeb系统。作为主要负责人,我们小组的工作一切顺利。但在交付前,客户要求该Web系统做到一键安装部署。这是因为该系统使用环境为机房局域网,每个机房需要部署一套,客户要求可以随时用光盘拷贝安装。
最终我们做到了10秒一键部署服务器。这是一套JavaWeb系统, 使用了MySql以及Tomcat,部署目标机器为WinXP及以上,32位或64位通用。
开始
为了满足公司项目的保密要求,本文中将称该系统为“system”,并将所有涉及到系统名称的地方替换为system。
一键部署整体使用bat批处理实现,主要需要处理tomcat、JDK以及mysql。
同时为了方便用户使用,也打包了谷歌浏览器。
为了兼容WinXP,所使用的mysql、Chrome版本均为兼容WinXP的版本。 mysql5.5 以及 Chrome 49.0.2623.112 。
为了实现32位以及64位的通用,所有软件均使用32位版本。
Step1. 新建文件夹作为一键部署安装包的根目录
在磁盘根目录(例如D盘)新建文件夹system_setup,作为一键部署安装包的根目录。这里请在磁盘根目录创建该文件夹,以防mysql、tomcat不识别特殊路径(如中文路径、包含空格字符路径等)。
打开system_setup,创建“开始一键部署安装.bat”。若不知道如何创建bat文件,可以新建txt文件,并将后缀名一并更改即可。用相同的方式创建“一键卸载.bat”。这两个bat文件的内容暂时留空即可,稍后会在 Step5 给出。 另外,创建一个systemData文件夹,用来放除去前面提到的这两个bat以外的所有东西。
完成该步骤以后,system_setup目录将如下图所示
当tomcat、JDK、mysql、Chrome都添加到 systemData systemData 文件夹将会如下图所示
其中, createlink.vbs 是创建一个桌面快捷方式, logo.ico 是桌面快捷方式的图标。
createlink.vbs代码如下:
cd = createobject("Scripting.FileSystemObject").GetFolder(".").Path
set WshShell = WScript.CreateObject("WScript.Shell")
strDesktop=WshShell.SpecialFolders("Desktop")
set oShellLink = WshShell.CreateShortcut(strDesktop & "\系统名称.lnk")
oShellLink.TargetPath= cd & "\Chrome\Application\chrome.exe"
oShellLink.Arguments="http://localhost:8080/tomcatWebappsSystemDirName/"
oShellLink.WindowStyle = 1
oShellLink.IconLocation = cd & "\logo.ico"
oShellLink.WorkingDirectory = ""
oShellLink.Save
上面代码中的“系统名称”以及 tomcatWebappsSystemDirName 需要大家根据网站实际情况来替换。
下面将分别讲述该如何处理tomcat、JDK、mysql、Chrome。
Step2. tomcat 以及 JDK
所使用tomcat版本为apache-tomcat-7.0.90,JDK版本为 jdk1.7.0_03 ,若使用其他版本,请注意tomcat与JDK版本的搭配问题。
下载 apache-tomcat-7.0.90 后,解压到 apache-tomcat-7.0.90 文件夹内,并将该文件夹整个复制到systemData文件夹内。将JavaWeb的部署文件夹放入apache-tomcat-7.0.90\webapps中。
下载 jdk1.7.0_03 ,解压到 jdk1.7.0_03文件夹内,将 jdk1.7.0_03 文件夹放入新建文件夹Java32中, 并将Java32文件夹放入apache-tomcat-7.0.90\bin中。
在 apache-tomcat-7.0.90\bin 文件夹下新建 init_tomcat.bat ,并将以下代码复制到该文件中:
@echo off
cd..
set CATALINA_HOME=%cd%
set CATALINA_BASE=%cd%
cd bin
echo ----- t