前段时间研究了一下关于web项目一键部署的实现方式,今天整理了一下发布出来准备分享给各位。我个人觉得不管是对开发、测试、运维或者有计算机基础的人来说这个部署方法的确很容易上手,跟安装其他软件一样纯属傻瓜式安装,我把自己学习的经验和注意事项分享给有需要的小伙伴们:
下面直接切入正题:
1.准备innosetup.exe(提取码:lb6g)可执行程序编译软件的安装包(用于如何生成我们一键部署的可执行程序)
2.先将下载的innosetup安装好,然后打开新建一个空脚本文件,将下面的脚本复制到你新建的空脚本文件中(配置很简单,有说明):
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "xxx平台"
#define MyAppVersion "1.0"
#define MyAppPublisher "xxx有限公司"
#define MyAppURL "https://blog.csdn.net/menofgod"
; 基本配置
[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
; 单独标识,可以通过innosetup-QSP-5.6.1.exe 工具自动生成
AppId={{F4210312-A665-49E6-A943-E3B01581A3AF}}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
; 默认安装路径
DefaultDirName=E:\onekey
DefaultGroupName={#MyAppName}
; 软件名称
OutputBaseFilename=CC109131j7Mjava
; 软件图标
SetupIconFile=E:\menofgod\bitbug_favicon.ico
; 压缩方式
Compression=lzma
; yes 可以使文件更小
SolidCompression=yes
; 必需有管理员权限才能安装
PrivilegesRequired=admin
; 安装密码
;Password=itdragon
; 开启加密,可能还需要一个dll文件
;Encryption=yes
; 语言配置
[Languages]
Name: "chinesesimp"; MessagesFile: "compiler:Default.isl"
; 安装文件
[Files]
; 安装部署的源文件路径
Source: "E:\menofgod\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
; 快捷键
[Icons]
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\xx前台"; Filename: http://192.168.109.131:8080/open_web_ui/
Name: "{commondesktop}\xx前台"; Filename: http://192.168.109.131:8080/cert_web_ui/
Name: "{commondesktop}\xx前台"; Filename: http://192.168.109.131:8080/cert_quote_web_ui/
; 程序安装成功后执行以下服务脚本
[Run]
Filename: "{app}\tomcat8\set_env.bat";
Filename: "{app}\tomcat8\bin\tomcat_start.bat";
Filename: "{app}\mysql\bin\sql_start.bat";
3.上述脚本中带有xxx、路径、访问地址以及名称的自己修改即可,下面说重点:
4.可执行编译脚本准备好之后,接下来我们该准备干货了,首先说明一下,web项目部署,无非就是服务器要有jdk、mysql(数据库不唯一,这里以mysql为例讲解)、tomcat以及数据库初始化sql脚本文件,基本这些就够用了。我们需要准备的就是以上说的这些物件,截图了解一下:
bitbug_favicon.ico是生成可执行程序的显示图标;
mysql(bin目录下有SqlFile文件夹里面是sql脚本文件,my.ini文件需要替换成修改后的my.ini(提取码:3nup)):
tomcat:
jdk放到了tomcat的bin/java目录下:
5.mysql、tomcat、jdk自行下载解压完了安装到上述对应目录即可,在可执行软件生成后,系统会自动运行下图中的三个脚本:
6.我把这三个自己编写的bat脚本分享给大家,你们直接下载下来放到目录指定位置即可(set_env.bat(提取码:6ddg)、tomcat_start.bat(提取码:7m0e)、sql_start.bat(提取码:8y1a))
7.准备好以上相关文件,回到第二步,改好相关的名称、路径、地址等信息,点击Build-->Compile,稍等片刻即可完成exe可执行程序的编译;
8.生成的exe可执行程序默认在innosetup安装目录的output目录下:
9.双击运行即可完成一键部署web项目,完事会在桌面生成三个快捷访问地址,会自动配置好jdk环境变量、执行sql脚本、启动mysql服务、启动tomcat服务,然后就可以访问了,下图为双击程序运行界面,按步骤安装即可:
10.一键部署安装到服务器上之后,一般我们通过其他机器去访问该数据库,如Navicat,这时我们需要在服务器上设置下mysql允许远程连接,设置方法如下:
-->cmd进入数据库bin目录,执行mysql -hlocalhost -uroot –p,提示输入密码,进入mysql;
-->执行命令:show databases;查看数据库;
-->之后选择mysql:use mysql,然后执行修改权限的命令:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
-->执行完清除一下缓存:flush privileges,这样mysql就可以被其他机器远程访问了;
ps:
1.这个一键部署,经过我的验证可以运行在win7、win10、server 2008、server2012系统上,其他没有进行兼容性测试(只要是windows系统问题应该不大);
2.有可能会遇到tomcat服务不能自启动,需要手动启动(原因暂时没有找到,后续找到解决办法会及时更新博客);
3.关于innosetup如何配置脚本文件详细需要自己手动度娘一下,这里就不过多讲述了;
4.执行生成的exe可执行程序后只需要将web项目的war包放到tomcat中的webapps目录下即可;
5.编译脚本中带{#xxx}的不需要改动!不需要改动!不需要改动!(重要注意事项说三遍,哈哈)
6.卸载安装程序时,最好先停止并卸载tomcat和mysql服务(卸载命令:sc delete tomcat8/mysql),避免卸载遗留文件;
7.由于时间问题,写的不是很全面,可能会有遗漏,如果遇到其他问题我没有讲到的欢迎留言一起交流;