平时工作中开发的 JavaWeb 项目后台服务用的一般都是 Wildfly(JBoss),系统使用 Windows Server。由于某些原因需要让 Wildfly 在系统开机或重启后自动启动,这样就需要将 Wildfly 安装为系统服务,通过设置为自动启动的服务来实现 Wildfly 随系统开机启动(将启动文件的快捷方式放在系统 启动
目录中的方式,必须进入桌面后才会启动,并非真正意义的自动启动)。使用服务模式相对来说会更稳定一些,配置步骤:
以下所有 cmd 命令的执行都是基于管理员权限的。
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 | 描述信息 |
service.bat 的文件编码一般默认为 UTF-8,若修改的描述信息中包含中文,需用记事本将 service.bat 保存为 ANSI 编码格式的文件。
1.2、 修改 %JBOSS_HOME%
确保环境变量中的 JBOSS_HOME
为 当前 Wildfly 的根目录,或者在环境变量中重新添加一个 Wildfly_HOME
,将 service.bat
文件中的 %JBOSS_HOME%
全部替换为新加的 %Wildfly_HOME%
。
建议使用默认的 JBOSS_HOME,否则 standalone.bat/domain.bat 等文件中的 %JBOSS_HOME% 可能也需要修改
2.1、在 %Wildfly_WX_HOME%\bin\service
目录中按住 Shift
键并的同时点击鼠标右键,在右键菜单中选择 在此处打开命令窗口(W)
,在打开的命令行窗口中输入并执行 service install
,输出 Success 则服务安装成功,如下图:
此时运行 services.msc
在服务中可找到名称为 Wildfly (wildfly-8.2.1.Final)
的系统服务:
2.2、设置自动启动
设置完成后可通过启动、关闭此系统服务来控制 Wildfly 的运行,并在电脑重启后可随系统自动启动 Wildfly。
服务模式下 Wildfly 会在后台静默运行,不会显示运行窗口,以前在命令窗口打印的信息需要到日志文件去查看,如:
service.2018-03-21.log
、wildfly8-stderr.2018-03-21.log
、wildfly8-stdout.2018-03-21.log
3.1、通过在 %Wildfly_HOME%\bin\service
目录执行 service install
命令卸载已安装的 Wildfly 服务。
3.2、Wildfly 服务运行管理
在 %Wildfly_HOME%\bin\service
目录下执行以下命令:
启动服务:service start
停止服务:service stop
重启服务:service restart
也可直接在命令行或运行窗口中执行系统的 net start 服务名、net stop 服务名来启动停止服务。
Wildfly 服务管理工具: WildflyServiceManager.bat
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
内容声明 | |
---|---|
标题: Windows 系统下将 Wildfly 安装为系统服务,随系统开机自动启动 | |
链接: https://zixizixi.cn/windows-wildfly-service-auto-start | 来源: iTanken |
本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可,转载请保留此声明。
|