当前位置: 首页 > news >正文

【自用】通信内网部署rzgxxt项目_01,后端pipeDemo部署(使用nssm.exe仿照nohup)

做完这些工作之后,不要忘记打开 Windows Server 的防火墙端口,8181、8081、8080、22、443、1521
做完这些工作之后,不要忘记打开 Windows Server 的防火墙端口,8181、8081、8080、22、443、1521
做完这些工作之后,不要忘记打开 Windows Server 的防火墙端口,8181、8081、8080、22、443、1521

一、准备工作

1.准备 nssm 软件

下载地址:https://nssm.cc/download

2.进入 nssm.exe 目录,并测试能否调用 nssm 命令(也许能通过配置环境变量解决)

cd D:\HongYu\projects\rzgxxt\B_BackendNohupService\nssm-2.24\win64
d:nssm

在这里插入图片描述

3.(可选)如不想每次都进入 nssm 目录,运行 nssm 命令,可配置环境变量

配置系统环境变量 -> Path:
新增变量:

X:\XXX\nssm-2.24\win64

在这里插入图片描述

二、配置脚本、创建 NSSM 服务

1.创建批处理 bat 脚本

找个地方先创建 txt,写入脚本内容,然后改 .bat 文件

创建的脚本文件,它除了运行 jar 包之外,还包含以下内容:
· 每天生成 log 日志到指定目录
· 设置JVM初始堆大小 6g,最大堆大小 24g:-Xms6g -Xmx24g

在这里插入图片描述

在这里插入图片描述

脚本内容:

@echo off
:: 设置日志目录
set LOG_DIR=D:\HongYu\projects\rzgxxt\B_BackendLogFiles:: 检查日志目录是否存在,如果不存在则创建
if not exist "%LOG_DIR%" mkdir "%LOG_DIR%":: 生成当前日期的日志文件名 (格式:YYYY-MM-DD)
for /f "tokens=2 delims==" %%I in ('"wmic os get localdatetime /value"') do set DATETIME=%%I
set DATE=%DATETIME:~0,4%-%DATETIME:~4,2%-%DATETIME:~6,2%:: 定义日志文件路径
set LOG_FILE=%LOG_DIR%\PipeDemo_%DATE%.log:: 启动 Java 程序,将输出重定向到日志文件
echo Starting Java application with Xms=6g and Xmx=24g...
D:\java\jdk-1.8\bin\java.exe -Xms6g -Xmx24g -jar D:\HongYu\projects\rzgxxt\A_Backend\PipeDemo_tongXinNeiWangBan.jar >> "%LOG_FILE%" 2>&1

测试 .bat 文件功能性:
能够正常生成日志。

在这里插入图片描述

2.开启 nssm 配置窗口,准备创建服务 PipeDemoService

nssm install PipeDemoService

在这里插入图片描述

3.配置 nssm service installer - Application 栏目

Path:

D:\HongYu\projects\rzgxxt\B_BackendNohupService\PipeDemo_ServerStarter\start_pipe_with_logs.bat

Startup directory:
jar包所在的位置。

D:\HongYu\projects\rzgxxt\B_BackendNohupService\PipeDemo_ServerStarter

Arguments:
填写其他逻辑,但是,因为我们已经在 .bat 中写了,所以什么都不填写就好。

在这里插入图片描述

4.配置 nssm service installer - Exit action 栏目(看门狗)

配置如下:

在这里插入图片描述
这些参数和设置,让 GPT 解释一下:

在这里插入图片描述

5.配置 nssm service installer - Environment 栏目(配置JAVA项目运行环境)

配置如下:

在这里插入图片描述

内容:

JAVA_HOME=D:\java\jdk-1.8
PATH=%JAVA_HOME%\bin;%PATH%

勾选项说明(我们不勾选,只是说明一下这个的功能):
在这里插入图片描述

6.配置 nssm service installer - Shutdown 栏目(配置如何关闭程序的流程)

配置如图:

在这里插入图片描述

解释如下:

在这里插入图片描述

7.配置 nssm service installer - 完成配置,Install Service!

如图:

在这里插入图片描述

8.运行刚刚配置的服务,并查看是否成功

启动服务:

nssm start PipeDemoService

在这里插入图片描述

cmd查看服务运行情况:

nssm status PipeDemoService

在这里插入图片描述

TIPS:如何删除已经创建的服务?

nssm remove 服务名 confirm

在这里插入图片描述

9.看看我们的服务,是否作为一个真正的服务运行

win + R,运行。
运行:services.msc
查找服务名:PipeDemoService
找到了!

在这里插入图片描述

10.服务意外终止,是否可自行恢复?

这个暂时无法测试,因为 NSSM 的逻辑是:
只在非正常程序崩溃时进行重启,如果我们只是在windows服务中停止服务,或者在命令行中通过ctrl c进行停止,NSSM都会将此类行为视为“人为停止”,并不会触发重启。

http://www.lryc.cn/news/507866.html

相关文章:

  • Ubuntu 安装实时内核指南
  • MySQL 主从复制与高可用
  • RCE总结
  • 基于UNITY3D的照片墙演示项目技术分享
  • 随手记:小程序兼容后台的wangEditor富文本配置链接
  • maven项目运行时NoSuchMethodError问题排查记录(依赖冲突解决)
  • ECharts关系图-关系图11,附视频讲解与代码下载
  • 【C语言】动态内存管理:详解malloc和free函数
  • EGO Swarm翻译
  • Linux根目录
  • SAP-SD-参照退货订单补货时带不出行项目
  • 12-C语言单向链表
  • 2024年11月 蓝桥杯青少组 STEMA考试 Scratch真题
  • FFmpeg 4.3 音视频-多路H265监控录放C++开发二十一.2,RTP协议-RTP协议概述,协议详情
  • Linux系统编程——系统内核中的信号
  • delve调试环境搭建—golang
  • shell脚本的循环-----while和for循环
  • 【游戏设计原理】21 - 解谜游戏的设计
  • 【漏洞复现】Wordpress GutenKit 插件 远程文件写入致RCE漏洞复现(CVE-2024-9234)
  • 深度学习任务简介:分类、回归和生成
  • 【测试】Unittest
  • java 根据路径下载文件转换为MultipartFile,并且上传到服务器
  • Onvif服务端开发
  • 【jvm】主要参数
  • 【优选算法】—移动零(双指针算法)
  • PostgreSQL标识符长度限制不能超过63字节
  • 嵌入式硬件面试题
  • 深度解析 OneCode 混合编译:创新驱动的开发变革
  • [文献阅读] Unsupervised Deep Embedding for Clustering Analysis (无监督的深度嵌入式聚类)
  • ajax中get和post的区别,datatype返回的数据类型有哪些?web开发中数据提交的几种方式,有什么区别。