子兮子兮 子兮子兮

No can, but will.

目录
Windows 系统下将 Wildfly 安装为系统服务,随系统开机自动启动
/        

Windows 系统下将 Wildfly 安装为系统服务,随系统开机自动启动

windows-wildfly-service-auto-start

平时工作中开发的 JavaWeb 项目后台服务用的一般都是 Wildfly(JBoss),系统使用 Windows Server。由于某些原因需要让 Wildfly 在系统开机或重启后自动启动,这样就需要将 Wildfly 安装为系统服务,通过设置为自动启动的服务来实现 Wildfly 随系统开机启动(将启动文件的快捷方式放在系统 启动 目录中的方式,必须进入桌面后才会启动,并非真正意义的自动启动)。使用服务模式相对来说会更稳定一些,配置步骤:

以下所有 cmd 命令的执行都是基于管理员权限的。

1、编辑 service.bat

1.1、 进入 Wildfly 根目录\bin\service 目录,编辑 service.bat,修改以下三项,若只有一个 Wildfly,可使用默认值:

较新版本的 Wildfly(比如 12.0.0.Final)安装为系统服务的 service 文件位于 %Wildfly_HOME%\docs\contrib\scripts\service 目录中。

序号 项目 默认值 说明
1 SHORTNAME Wildfly 服务名称
2 DISPLAYNAME Wildfly 显示名称
3 DESCRIPTION Wildfly Application Server 描述信息

WildflyService0.png
 
service.bat 的文件编码一般默认为 UTF-8,若修改的描述信息中包含中文,需用记事本将 service.bat 保存为 ANSI 编码格式的文件。
WildflyService3.png

1.2、 修改 %JBOSS_HOME%

确保环境变量中的 JBOSS_HOME 为 当前 Wildfly 的根目录,或者在环境变量中重新添加一个 Wildfly_HOME,将 service.bat 文件中的 %JBOSS_HOME% 全部替换为新加的 %Wildfly_HOME%
建议使用默认的 JBOSS_HOME,否则 standalone.bat/domain.bat 等文件中的 %JBOSS_HOME% 可能也需要修改

WildflyService1.png
 
WildflyService2.png

2、安装系统服务

2.1、在 %Wildfly_WX_HOME%\bin\service 目录中按住 Shift 键并的同时点击鼠标右键,在右键菜单中选择 在此处打开命令窗口(W),在打开的命令行窗口中输入并执行 service install ,输出 Success 则服务安装成功,如下图:

WildflyService4.png
 
WildflyService5.png

此时运行 services.msc 在服务中可找到名称为 Wildfly (wildfly-8.2.1.Final) 的系统服务:

WildflyService6.png
 
WildflyService7.png

2.2、设置自动启动

WildflyService8.png

设置完成后可通过启动、关闭此系统服务来控制 Wildfly 的运行,并在电脑重启后可随系统自动启动 Wildfly。

服务模式下 Wildfly 会在后台静默运行,不会显示运行窗口,以前在命令窗口打印的信息需要到日志文件去查看,如:
service.2018-03-21.logwildfly8-stderr.2018-03-21.logwildfly8-stdout.2018-03-21.log

3、其他

3.1、通过在 %Wildfly_HOME%\bin\service 目录执行 service install 命令卸载已安装的 Wildfly 服务。

WildflyService9.png

3.2、Wildfly 服务运行管理
%Wildfly_HOME%\bin\service 目录下执行以下命令:

启动服务:service start
停止服务:service stop
重启服务:service restart

也可直接在命令行或运行窗口中执行系统的 net start 服务名、net stop 服务名来启动停止服务。

4、附件

Wildfly 服务管理工具: WildflyServiceManager.bat
WildflyService10.png

 1@echo off 
 2color 07
 3title Wildfly Service Manager ★ Tanken·L
 4rem Powered by https://zixizixi.cn/
 5
 6:home
 7color 0f
 8@echo.
 9@echo Wildfly Service Shortcut Management Tools
10@echo 请通过右键选择“以管理员身份运行”
11@echo 【 快捷管理 Wildfly 服务 】
12
13rem 设置服务名称
14if /I "x%1" == "x" (
15  set sName=Wildfly
16) else (
17  set sName="%1"
18)
19set sHome=%JBoss_HOME%
20
21rem 判断 Wildfly 服务是否存在
22sc query %sName% > nul
23if errorlevel 1060 (
24  @echo 指定的 Wildfly 不存在!请检查服务名及是否已经安装对应的 Wildfly 服务。
25  goto end
26) else (
27  goto begin
28)
29@echo.
30
31:begin
32for /f "skip=3 tokens=4" %%i in ('sc query %sName%') do set "zt=%%i" &goto next
33
34:next
35@echo.  服务 %sName% 当前状态 [ %zt% ]
36@echo  ┏━━━━━━━━━━━━━━━━━━┓
37@echo  ┃★ 本工具用于快捷管理 Wildfly 服务:┃
38@echo  ┃★     0. 查看日志                  ┃
39@echo  ┃★     1. 启动服务                  ┃
40@echo  ┃★     2. 关闭服务                  ┃
41@echo  ┃★     3. 重启服务(慎用)          ┃
42@echo  ┃★     4. 重载管理脚本              ┃
43@echo  ┃★     5. 关闭管理脚本              ┃
44@echo  ┗━━━━━━━━━━━━━━━━━━┛
45@echo                                        *
46
47set input=
48set /p "input=* 请输入功能序号并回车:"
49if %input%input==input goto home
50if not '%input%'=='' set input=%input:~0,1%
51if /I '%input%'=='0' goto logview
52if /I '%input%'=='1' goto start
53if /I '%input%'=='2' goto stop
54if /I '%input%'=='3' goto restart
55if /I '%input%'=='4' goto reload
56if /I '%input%'=='5' EXIT
57if /I '%input%'=='nul' cls goto home
58if /I '%input%'!='0' pause
59
60:logview
61@echo.
62explorer %sHome%\standalone\log
63goto reload
64
65:start
66@echo.
67net start %sName%
68goto reload
69
70:stop
71@echo.
72rem net stop %sName%
73start %sHome%\bin\jboss-cli.bat --connect --command=:shutdown
74goto reload
75
76:restart
77@echo.
78start %sHome%\bin\service\service restart
79goto reload
80
81rem 重新运行脚本
82:reload
83color 09
84@echo.
85pause
86cls
87goto home
88
89rem 结束运行脚本
90:end
91@echo.
92@echo.按任意键结束...
93pause > nul
94exit
95

本文地址:https://zixizixi.cn/windows-wildfly-service-auto-start




我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=wh4u6zpyhe1d