• 通过nssm在windows系统下把jar包打包成服务


    问题背景:

    • 最近项目经常需要访问中台,而我们的中台都是小型的中台,比如执行定时任务的,执行通信任务的等等;
    • 同时这些中台都是以jar包的形式存在的,每次通过java -java ** 命令行启动比较麻烦,同时会有很多人都会操作服务器,很有可能会被误关掉;
    • 因此,我选择了通过nssm这个东西把jar包发布成windows服务,并且自动运行,就方便多了。

    运行环境:

    win10 64位操作系统 (各版本的 winService 服务器都是通用的)

    本文案例

    • 本文中,我会把我的一个myservice.jar文件打包成windows服务,服务名称也叫myservice

    操作步骤

    1. 下载nssm

    我把自己用的nssm已经上传到了博客园,包括32位和64位版本的,链接在这儿:博客园nssm下载

    2. 创建一个bat文件,同时文件中只填写一行执行jar包的命令

    java -jar myservice.jar
    image

    3. 打开64位的nssm.exe所在目录,同时在当前目录打开cmd窗口

    image
    image

    4. 在cmd窗口中输入命令 nssm install myService ,打开nssm配置服务的页面,并配置myservice服务

    - 4.1选择bat执行文件,配置服务名称

    image

    - 4.2配置日志文件存储路径,完成后点击 Install Service 创建服务

    image

    - 文件创建成功,弹窗提示

    image

    5. 这个时候我们打开服务窗口,就会看到创建好的 myservice 服务

    • 右键属性,设置为自动启动,然后点击启动,就可以了。

    image

    • 打开日志文件,会发现服务已经启动成功

    image

    6. 卸载服务

    • 如果我们不想要这个服务了,也可以卸载nssm服务;
    • 在cmd窗口中输入命令 nssm remove myservice ,然后点击确定就可以了

    image

    • 这时会有提示,服务已卸载

    image

    • 或者直接用管理员启动cmd窗口,然后输入 SC delete myservice 指令,也能删除服务
  • 相关阅读:
    大数据技术与应用案例测试电子商务大数据分析
    贴现值作业
    测试02– 架构评价
    架构师修炼之道读书笔记
    架构漫谈 读后感2
    Linux运维脚本
    nginx ssl配置
    MySQL的时间差函数TIMESTAMPDIFF、DATEDIFF的用法
    MySQL中LOCATE()函数的详解
    shell脚本中echo显示内容带颜色
  • 原文地址:https://www.cnblogs.com/steveshao/p/16289512.html
Copyright © 2020-2023  润新知