【软件实施】Windows 服务器运维实战

目录

    • [1 Windows Server版本选型与政企真实业务场景](#1 Windows Server版本选型与政企真实业务场景)
      • [1.1 主流版本适配场景](#1.1 主流版本适配场景)
        • [Windows Server 2016](#Windows Server 2016)
        • [Windows Server 2019(主流新项目首选)](#Windows Server 2019(主流新项目首选))
        • [Windows Server 2022](#Windows Server 2022)
      • [1.2 两种安装模式核心区别](#1.2 两种安装模式核心区别)
    • [2 远程桌面mstsc实操,文件传输、会话管理、全故障排查](#2 远程桌面mstsc实操,文件传输、会话管理、全故障排查)
    • [3 全新服务器交付标准初始化流程(等保合规)](#3 全新服务器交付标准初始化流程(等保合规))
      • [3.1 修改服务器主机名](#3.1 修改服务器主机名)
      • [3.2 配置远程桌面权限](#3.2 配置远程桌面权限)
      • [3.3 创建专用业务账号(等保必查)](#3.3 创建专用业务账号(等保必查))
      • [3.4 系统时间同步(规避隐性业务bug)](#3.4 系统时间同步(规避隐性业务bug))
      • [3.5 网卡网络配置](#3.5 网卡网络配置)
      • [3.6 防火墙标准化配置](#3.6 防火墙标准化配置)
      • [3.7 精简系统开机自启与无用服务](#3.7 精简系统开机自启与无用服务)
      • [3.8 虚拟内存迁移优化](#3.8 虚拟内存迁移优化)
      • [3.9 关闭系统还原点](#3.9 关闭系统还原点)
      • [3.10 系统补丁更新(按需执行)](#3.10 系统补丁更新(按需执行))
    • [4 磁盘目录生产规范,杜绝踩坑设计](#4 磁盘目录生产规范,杜绝踩坑设计)
    • [5 JDK在Windows Server生产环境部署、环境变量、版本坑点](#5 JDK在Windows Server生产环境部署、环境变量、版本坑点)
      • [5.1 JDK版本选型原则](#5.1 JDK版本选型原则)
      • [5.2 生产级部署实操](#5.2 生产级部署实操)
      • [5.3 高频踩坑问题解决](#5.3 高频踩坑问题解决)
    • [6 Windows实施运维全套CMD命令手册](#6 Windows实施运维全套CMD命令手册)
      • [6.1 网络连通与端口排查](#6.1 网络连通与端口排查)
      • [6.2 进程管理与Java进程排查](#6.2 进程管理与Java进程排查)
      • [6.3 磁盘空间查询](#6.3 磁盘空间查询)
      • [6.4 系统服务管理](#6.4 系统服务管理)
      • [6.5 系统信息查询](#6.5 系统信息查询)
      • [6.6 日志导出与故障取证](#6.6 日志导出与故障取证)
      • [6.7 生产文件备份](#6.7 生产文件备份)
    • [7 PowerShell实施高频脚本命令补充](#7 PowerShell实施高频脚本命令补充)
    • [8 Jar包4种运行模式对比(适用场景\+致命缺陷)](#8 Jar包4种运行模式对比(适用场景+致命缺陷))
      • [8.1 双击Jar包运行](#8.1 双击Jar包运行)
      • [8.2 CMD前台启动(排错专用)](#8.2 CMD前台启动(排错专用))
      • [8.3 javaw后台BAT脚本运行](#8.3 javaw后台BAT脚本运行)
      • [8.4 NSSM封装系统服务(生产唯一标准)](#8.4 NSSM封装系统服务(生产唯一标准))
    • [9 NSSM服务封装生产级配置(图形\+命令行双方案)](#9 NSSM服务封装生产级配置(图形+命令行双方案))
      • [9.1 图形界面配置(调试首选)](#9.1 图形界面配置(调试首选))
      • [9.2 命令行批量部署(自动化运维首选)](#9.2 命令行批量部署(自动化运维首选))
      • [9.3 NSSM服务卸载命令](#9.3 NSSM服务卸载命令)
      • [9.4 生产最佳实践清单](#9.4 生产最佳实践清单)
    • [10 NSSM全套生产故障案例库](#10 NSSM全套生产故障案例库)
      • [10.1 故障1:1053服务启动报错,瞬间停止](#10.1 故障1:1053服务启动报错,瞬间停止)
      • [10.2 故障2:服务运行正常,外部无法访问业务](#10.2 故障2:服务运行正常,外部无法访问业务)
      • [10.3 故障3:服务定时自动停止,无人工操作](#10.3 故障3:服务定时自动停止,无人工操作)
      • [10.4 故障4:CMD启动正常,NSSM服务启动失败](#10.4 故障4:CMD启动正常,NSSM服务启动失败)
      • [10.5 故障5:服务循环重启,启动即崩溃](#10.5 故障5:服务循环重启,启动即崩溃)
    • [11 Windows防火墙深度实操与坑点规避](#11 Windows防火墙深度实操与坑点规避)
      • [11.1 图形界面配置业务端口放行](#11.1 图形界面配置业务端口放行)
      • [11.2 命令行批量创建防火墙规则](#11.2 命令行批量创建防火墙规则)
      • [11.3 防火墙故障排查顺序](#11.3 防火墙故障排查顺序)
    • [12 Windows网络全故障排查手册](#12 Windows网络全故障排查手册)
      • [12.1 端口占用故障(Address already in use)](#12.1 端口占用故障(Address already in use))
      • [12.2 双网卡多网段访问异常](#12.2 双网卡多网段访问异常)
      • [12.3 跨VLAN网段不通](#12.3 跨VLAN网段不通)
    • [13 Windows账号权限体系与隐性坑点](#13 Windows账号权限体系与隐性坑点)
      • [13.1 LocalSystem系统账号核心问题](#13.1 LocalSystem系统账号核心问题)
      • [13.2 域账号运维坑点](#13.2 域账号运维坑点)
      • [13.3 目录权限规范](#13.3 目录权限规范)
    • [14 Windows日志体系与标准化排错流程](#14 Windows日志体系与标准化排错流程)
      • [14.1 日志导出取证命令](#14.1 日志导出取证命令)
    • [15 JVM深度排错实操(Windows专属)](#15 JVM深度排错实操(Windows专属))
      • [15.1 jps 快速获取Java进程PID](#15.1 jps 快速获取Java进程PID)
      • [15.2 jstat 监控GC内存状态](#15.2 jstat 监控GC内存状态)
      • [15.3 jstack 线程Dump排查死锁、假活](#15.3 jstack 线程Dump排查死锁、假活)
      • [15.4 jmap 堆内存分析](#15.4 jmap 堆内存分析)
      • [15.5 OOM自动Dump配置](#15.5 OOM自动Dump配置)
    • [16 磁盘空间故障全集与解决方案](#16 磁盘空间故障全集与解决方案)
      • [16.1 C盘莫名爆满故障](#16.1 C盘莫名爆满故障)
      • [16.2 Dump文件打满磁盘](#16.2 Dump文件打满磁盘)
      • [16.3 日志无限膨胀问题](#16.3 日志无限膨胀问题)
      • [16.4 通用清理脚本](#16.4 通用清理脚本)
    • [17 Windows计划任务生产落地与踩坑规避](#17 Windows计划任务生产落地与踩坑规避)
      • [17.1 标准化任务创建规范](#17.1 标准化任务创建规范)
      • [17.2 高频致命坑点](#17.2 高频致命坑点)
    • [18 杀毒/EDR安全软件业务拦截解决方案](#18 杀毒/EDR安全软件业务拦截解决方案)
      • [18.1 常见故障现象](#18.1 常见故障现象)
      • [18.2 根治方案](#18.2 根治方案)
    • [19 等保2.0测评整改实施清单](#19 等保2.0测评整改实施清单)
    • [20 生产业务假活专项排查与根治方案](#20 生产业务假活专项排查与根治方案)
      • [20.1 标准化排查流程](#20.1 标准化排查流程)
      • [20.2 应急止血方案](#20.2 应急止血方案)
      • [20.3 根治方案](#20.3 根治方案)
    • [21 项目交付全套生产脚本合集](#21 项目交付全套生产脚本合集)
      • [21.1 日志清理脚本 clear\_log.bat](#21.1 日志清理脚本 clear_log.bat)
      • [21.2 服务器日常巡检脚本 daily\_check.bat](#21.2 服务器日常巡检脚本 daily_check.bat)
      • [21.3 业务健康探测脚本 health\_check.bat](#21.3 业务健康探测脚本 health_check.bat)
      • [21.4 通用无依赖端口健康探测脚本(修复版)](#21.4 通用无依赖端口健康探测脚本(修复版))
    • [22 Windows下Nginx反向代理完整生产实操](#22 Windows下Nginx反向代理完整生产实操)
      • [22.1 Nginx生产部署规范](#22.1 Nginx生产部署规范)
      • [22.2 核心生产配置模板(反向代理SpringBoot)](#22.2 核心生产配置模板(反向代理SpringBoot))
      • [22.3 Nginx服务常驻方案](#22.3 Nginx服务常驻方案)
      • [22.4 高频故障排查](#22.4 高频故障排查)
    • [23 Windows环境MySQL部署运维实战](#23 Windows环境MySQL部署运维实战)
      • [适配Windows Server生产环境,采用解压版MySQL8.0,规避安装版捆绑插件、注册表冗余问题,符合等保规范。](#适配Windows Server生产环境,采用解压版MySQL8.0,规避安装版捆绑插件、注册表冗余问题,符合等保规范。)
      • [23.1 标准化部署路径](#23.1 标准化部署路径)
      • [23.2 核心my.ini生产配置](#23.2 核心my.ini生产配置)
      • [23.3 初始化与服务注册](#23.3 初始化与服务注册)
      • [23.4 自动备份生产脚本](#23.4 自动备份生产脚本)
      • [23.5 高频故障点](#23.5 高频故障点)
    • [24 Windows环境Redis部署运维实战](#24 Windows环境Redis部署运维实战)
    • [25 五套完整真实生产故障复盘案例](#25 五套完整真实生产故障复盘案例)
      • [25.1 案例一:服务器重启后业务无法启动](#25.1 案例一:服务器重启后业务无法启动)
      • [25.2 案例二:本机访问正常,同网段所有电脑无法访问](#25.2 案例二:本机访问正常,同网段所有电脑无法访问)
      • [25.3 案例三:业务定时每日凌晨自动宕机](#25.3 案例三:业务定时每日凌晨自动宕机)
      • [25.4 案例四:CMD启动正常,NSSM服务启动失败](#25.4 案例四:CMD启动正常,NSSM服务启动失败)
      • [25.5 案例五:端口莫名被占用,无法启动业务](#25.5 案例五:端口莫名被占用,无法启动业务)
    • [26 PowerShell高级监控告警脚本开发](#26 PowerShell高级监控告警脚本开发)
      • [26.1 Java进程宕机自愈脚本](#26.1 Java进程宕机自愈脚本)
      • [26.2 磁盘空间监控脚本](#26.2 磁盘空间监控脚本)
    • [27 实施现场应急故障排查标准流程](#27 实施现场应急故障排查标准流程)
      • [27.1 第一步:应急止血(1\-3分钟)](#27.1 第一步:应急止血(1-3分钟))
      • [27.2 第二步:快速定位(5分钟内)](#27.2 第二步:快速定位(5分钟内))
      • [27.3 第三步:深度排查(根因定位)](#27.3 第三步:深度排查(根因定位))
      • [27.4 第四步:根治优化](#27.4 第四步:根治优化)
      • [27.5 第五步:故障复盘](#27.5 第五步:故障复盘)
    • [28 实施交付文档模板(可直接复制给客户)](#28 实施交付文档模板(可直接复制给客户))
      • [28.1 项目交付说明文档](#28.1 项目交付说明文档)
      • [28.2 日常运维须知(客户运维专用)](#28.2 日常运维须知(客户运维专用))

1 Windows Server版本选型与政企真实业务场景

国内政企私有化项目,多数客户运维人员仅熟悉Windows系统,大量SpringBoot Jar、MySQL、Redis业务均部署在Windows Server服务器中,是实施运维工程师必备掌握的核心场景。

1.1 主流版本适配场景

Windows Server 2016

政企存量项目使用最多,兼容性极强,硬件内存消耗适中,绝大多数老旧政务OA、审批系统均部署在此版本。缺陷:部分新版JDK17、JDK21存在轻微兼容问题,新业务部署前需提前验证适配性。

Windows Server 2019(主流新项目首选)

目前政企新采购服务器标配版本,安全性大幅提升,系统bug修复完善,完美兼容JDK8、JDK11、JDK17,现场80%以上新建私有化项目均使用此版本。

Windows Server 2022

最新服务器系统版本,硬件资源占用更高,仅适配新购置服务器。存在部分老旧安全软件、EDR终端防护不兼容问题,上线部署前必须完成兼容性测试。

1.2 两种安装模式核心区别

带桌面体验(GUI图形界面)

90%政企项目使用版本,操作逻辑与普通Windows电脑一致,适配不熟悉命令行的运维人员,是实施工程师日常对接的主流环境。

服务器核心版(Core,无GUI)

无图形化桌面,仅支持命令行操作,优势为性能损耗低、攻击面小,多为客户内部专业运维使用,一线实施交付场景极少接触。

实战误区:多数工程师偏重学习Linux运维,轻视Windows Server,实则服务器版Windows与个人家用Windows差异极大,权限、防火墙、安全策略、服务机制均有特殊规则,直接套用个人电脑操作经验极易引发生产故障。

2 远程桌面mstsc实操,文件传输、会话管理、全故障排查

服务器均部署在机房,日常运维、部署、排错均通过本地mstsc远程桌面连接,多数新手仅掌握基础连接方式,缺失高级配置与故障排查能力,极易现场踩坑。

2.1 mstsc完整生产配置步骤

  1. Win+R快捷键输入 mstsc 回车,调出远程桌面连接窗口;

  2. 计算机输入服务器内网IP(例:192.168.1.120);

  3. 点击【显示选项】展开全部配置(核心关键步骤)

  • 显示:根据本地显示器适配远程桌面分辨率;

  • 本地资源→详细信息:勾选所有本地驱动器,将本地电脑磁盘映射至远程服务器,实现无外网环境下Jar包、脚本、配置文件直接传输;

  • 体验:网络正常选择「局域网」,勾选持久位图缓存;网络卡顿、延迟高时取消该选项,优化连接体验。

  1. 输入服务器管理员账号(默认Administrator)及密码,完成连接;

  2. 弹出证书警告时,选择【是】确认登录。

验证方式:登录服务器后打开此电脑,可查看本地映射磁盘,即为配置成功。

2.2 高频高级命令行参数(管理员CMD执行)

Plain 复制代码
mstsc /v:192.168.1.120          # 直接指定IP打开远程桌面
mstsc /admin                    # 管理员控制台会话登录,解决会话占满无法登录问题
mstsc /f                        # 全屏模式登录远程桌面

核心参数/admin:Windows Server默认仅支持2个普通管理员并发会话,会话占满后可通过该参数进入专属管理员会话,紧急运维必备。

2.3 远程桌面会话核心限制坑点

系统默认许可:最多2个并发管理员远程会话,第三个用户登录时,会随机踢掉一名在线运维人员,直接中断正在进行的业务操作。

解决方案:日常运维避免多人同时登录,如需多人协作,需配置远程桌面服务授权,政企域环境可统一部署。

2.4 全场景故障排查方案

故障1:IP可ping通,远程桌面连接拒绝

排查步骤:开启服务器远程连接权限、放行防火墙3389入站端口、云服务器检查安全组策略、确认账号未锁定、密码输入正确。

故障2:远程登录黑屏,仅鼠标可移动

根因:服务器内存资源耗尽,系统进程卡死。解决方案:通过mstsc /admin登录,打开任务管理器结束高内存占用进程,释放系统资源。

故障3:远程文件传输速度极慢

根因:开启持久位图缓存占用网络带宽。解决方案:在mstsc体验设置中取消该选项。

故障4:远程断开后Java程序自动停止

高频致命坑:Jar包前台运行绑定用户会话,远程断开后会话销毁,进程直接终止。生产环境禁止前台运行,必须通过NSSM注册系统服务。

故障5:账号多次输错被锁定,无法登录

根因:系统安全策略触发账号锁定。解决方案:通过服务器本机或域控制器解锁账号。

2.5 安全红线规范

严禁对公网开放3389默认端口,暴力破解攻击频发。政企标准:3389端口仅内网访问;如需外网运维,必须修改默认端口并配置IP白名单。

3 全新服务器交付标准初始化流程(等保合规)

全新裸服务器禁止直接部署业务,必须完成标准化初始化与安全加固,规避后续等保漏洞、权限异常、系统兼容问题,所有步骤为等保测评硬性要求。

3.1 修改服务器主机名

通过服务器管理器修改主机名,命名遵循业务关联规则(例:OA-SERVER-01、GATEWAY-SERVER-01),修改后重启服务器生效,便于运维识别与台账管理。

3.2 配置远程桌面权限

  1. 此电脑右键→属性→远程设置;

  2. 勾选【允许远程连接到此计算机】;

  3. 取消「仅允许网络级别身份验证连接」,兼容老旧客户端;

  4. 配置远程登录用户白名单,限制非法访问。

3.3 创建专用业务账号(等保必查)

禁止使用Administrator超级管理员账号运行业务,规避权限溢出风险。

  1. Win+R输入lusrmgr.msc打开本地用户和组;

  2. 新建用户bizadmin,设置高强度密码,勾选【密码永不过期】,取消【下次登录更改密码】;

  3. 将bizadmin加入Remote Desktop Users组,授予远程登录权限。

运维规范:日常运维使用普通业务账号,仅系统底层配置、权限修改时切换超级管理员账号。

3.4 系统时间同步(规避隐性业务bug)

服务器时间偏差会导致JWT签名失效、证书异常、日志时间错乱、数据库数据异常等问题。

  1. 右下角时间设置,关闭并重新开启自动同步时间,点击立即同步;

  2. 同步失败则开启Windows Time系统服务,设置开机自启;

  3. 通过date、time命令验证时间同步状态。

3.5 网卡网络配置

通过ipconfig /all查看全量网卡IP、网关、DNS、MAC地址,多网卡服务器需区分内网、业务网网段,避免业务监听网卡配置错误导致外网无法访问。

3.6 防火墙标准化配置

禁止直接关闭防火墙(等保高危漏洞),默认开启防火墙,仅放行业务必要端口(80、443、8080、3306、6379、3389),无用端口全部拦截,缩小攻击面。

3.7 精简系统开机自启与无用服务

禁用系统冗余开机程序、无用后台服务,降低内存占用、减少系统漏洞风险,提升服务器运行稳定性。

3.8 虚拟内存迁移优化

默认C盘虚拟内存文件占用空间极大,极易导致C盘爆满。需将虚拟内存从C盘迁移至D盘,设置系统自动管理大小,保障系统运行流畅。

3.9 关闭系统还原点

系统还原点会持续占用磁盘空间,业务生产服务器无需开启,直接关闭规避磁盘空间异常占用问题。

3.10 系统补丁更新(按需执行)

系统补丁可修复安全漏洞,但部分老旧业务存在补丁兼容问题,打补丁前需完整备份业务数据,并征得客户运维确认。

4 磁盘目录生产规范,杜绝踩坑设计

硬性生产规范:所有业务程序、日志、备份、脚本统一存放D盘,禁止存放C盘、桌面、中文路径、带空格路径,规避NSSM、JDK、脚本解析异常等隐性bug。

标准化目录结构(全项目统一):

Plain 复制代码
D:\ops\java                # JDK安装根目录
D:\ops\project             # 业务Jar包总目录
D:\ops\project\oa          # OA业务项目目录
D:\ops\project\gateway     # 网关业务项目目录
D:\ops\nssm                # NSSM工具存放目录
D:\ops\nginx               # Nginx程序目录
D:\ops\mysql               # MySQL程序目录
D:\ops\redis               # Redis程序目录
D:\ops\logs                # 统一日志根目录
D:\ops\logs\oa             # OA业务专属日志目录
D:\ops\logs\nginx          # Nginx日志目录
D:\ops\logs\dump           # JVM堆/线程Dump文件存放目录
D:\ops\backup              # 数据、程序备份目录
D:\ops\script              # 批量运维脚本存放目录

该目录为政企交付标准化规范,交付时同步告知客户运维人员,便于后续交接、维护、排错。

5 JDK在Windows Server生产环境部署、环境变量、版本坑点

5.1 JDK版本选型原则

  1. SpringBoot2.x 项目适配 JDK8/JDK11

  2. SpringBoot3.x 项目必须使用 JDK17及以上

  3. 生产环境JDK大版本必须与项目编译版本完全一致,避免类版本不匹配启动报错。

5.2 生产级部署实操

  1. JDK解压/安装至 D:\ops\java\jdk11,路径无中文、无空格、无特殊字符;

  2. 配置系统环境变量(仅系统变量,不配置用户变量):

Plain 复制代码
JAVA_HOME=D:\ops\java\jdk11
Path追加:%JAVA_HOME%\bin

核心坑点:Windows系统服务默认LocalSystem账号仅读取系统环境变量,无法读取用户环境变量。NSSM注册服务时,优先使用java.exe绝对路径,不依赖环境变量。

  1. 新开CMD窗口,执行java -version验证部署成功。

5.3 高频踩坑问题解决

  1. CMDJava命令正常,NSSM服务启动提示找不到Java:根因为服务账号无法读取用户环境变量,解决方案为NSSM配置Java绝对路径;

  2. 多JDK版本冲突:不同项目NSSM单独指定对应版本Java.exe绝对路径,隔离版本依赖。

6 Windows实施运维全套CMD命令手册

所有命令为政企现场高频复用命令,无需修改可直接执行,多数命令需管理员CMD运行。

6.1 网络连通与端口排查

Plain 复制代码
ipconfig /all                     # 查看完整网卡信息、IP、网关、DNS、MAC
ping 192.168.1.100 -t             # 长ping测试网络稳定性、丢包情况
tracert 192.168.1.200             # 路由追踪,定位跨网段不通故障节点
telnet 192.168.1.100 8080         # 端口连通性测试

netstat -ano                      # 查看全量端口、连接、对应进程PID
netstat -ano | findstr "LISTENING" # 筛选监听中的端口
netstat -ano | findstr "8080"      # 查询指定端口占用PID
netstat -ano | findstr "ESTABLISHED" # 查看已建立客户端连接

netsh advfirewall show allprofiles # 查看防火墙全局配置

6.2 进程管理与Java进程排查

Plain 复制代码
tasklist                                 # 列出系统全量进程
tasklist | findstr "java"                # 筛选所有Java进程
tasklist /svc                            # 查看进程关联系统服务
tasklist /fi "memusage gt 100000"        # 筛选内存超100MB进程

taskkill /F /PID 14520                   # 强制杀死指定PID进程
taskkill /IM java.exe /F                 # 强制终止所有Java进程(应急使用)

wmic process where name="java.exe" get processid,workingprivatesize # 查看Java进程内存占用

6.3 磁盘空间查询

Plain 复制代码
wmic logicaldisk get caption,freespace,size  # 批量查询所有磁盘容量、剩余空间
fsutil volume diskfree D:                    # 单独查询D盘空闲空间
dir /s /b D:\ops\logs                        # 递归列出目录所有文件完整路径

6.4 系统服务管理

Plain 复制代码
sc query state= all                    # 查询所有系统服务状态
sc query OaService                     # 查询自定义NSSM服务状态
sc start OaService                     # 启动服务
sc stop OaService                      # 停止服务
sc config OaService start= auto        # 设置服务开机自启

6.5 系统信息查询

Plain 复制代码
systeminfo                             # 系统版本、内存、补丁、安装时间全量信息
wmic cpu get name,numberofcores,loadpercentage # CPU型号、核心数、负载
wmic os get lastbootuptime             # 查询服务器上次重启时间
ver                                    # 快速查看系统版本

6.6 日志导出与故障取证

Plain 复制代码
wevtutil epl System D:\ops\backup\system.evtx       # 导出系统日志
wevtutil epl Application D:\ops\backup\app.evtx     # 导出应用日志
findstr "OutOfMemoryError" D:\ops\logs\oa\error.log # 检索OOM内存溢出报错

6.7 生产文件备份

Plain 复制代码
robocopy D:\ops\project\oa D:\ops\backup\oa /MIR /Y # 镜像同步目录,生产备份首选

7 PowerShell实施高频脚本命令补充

适配Windows Server高级运维场景,补充CMD无法实现的批量操作:

Plain 复制代码
Get‑Process java | Select‑Object Id,WorkingSet # 查看Java进程PID与内存占用
Stop‑Process -Name java -Force                 # 强制终止Java进程
Get‑ScheduledTask | Select‑Object TaskName,State # 查看所有计划任务状态
Get‑EventLog System | Where‑Object {$_.EntryType -eq "Error"} # 筛选系统错误日志

8 Jar包4种运行模式对比(适用场景+致命缺陷)

基于测试包 D:\ops\project\demo.jar,全方位对比四种运行方式,明确生产、测试环境使用规范。

8.1 双击Jar包运行

✅ 优点:操作简单,可视化查看日志;

❌ 致命缺陷:绑定用户远程会话,断开连接后进程直接销毁,业务停止;

⚠️ 适用场景:仅本地临时测试,禁止生产环境使用

8.2 CMD前台启动(排错专用)

Plain 复制代码
D:
cd D:\ops\project
java -jar demo.jar

✅ 优点:完整打印启动日志,端口占用、配置错误、数据库连接异常可直接可视化排查;

❌ 缺陷:关闭CMD窗口进程即终止,无法常驻运行;

💡 生产流程:新Jar部署必先前台启动验证,无报错后再注册系统服务。

8.3 javaw后台BAT脚本运行

新建start.bat(ANSI编码):

Plain 复制代码
@echo off
cd /d D:\ops\project
start javaw -Xms512m -Xmx1024m -jar demo.jar

✅ 优点:无控制台黑窗口,关闭CMD不终止进程;

❌ 缺陷:服务器重启无法自启,程序崩溃无自愈能力;

⚠️ 适用场景:测试环境,不用于正式生产。

8.4 NSSM封装系统服务(生产唯一标准)

✅ 核心优势:服务器开机自启、程序崩溃自动重启、无需登录远程桌面即可常驻运行,是Windows政企环境Jar项目部署唯一生产方案

9 NSSM服务封装生产级配置(图形+命令行双方案)

NSSM(Non‑Sucking Service Manager)开源工具,可将任意exe程序封装为Windows系统服务,实现业务常驻、故障自愈。工具统一存放路径:D:\ops\nssm

9.1 图形界面配置(调试首选)

  1. 管理员CMD执行命令,唤起配置窗口:
Plain 复制代码
D:
cd D:\ops\nssm
nssm install OaService
  1. Application核心配置:
  • Path:Java绝对路径 D:\ops\java\jdk11\bin\java.exe(禁止相对路径);

  • Arguments:启动参数(可直接复用):

Plain 复制代码
-Xms512m -Xmx1024m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=D:\ops\logs\dump -jar D:\ops\project\oa\oa.jar --spring.profiles.active=prod
  • Startup directory:工作目录 D:\ops\project\oa
  1. Details配置:填写服务展示名称、业务描述,便于运维识别;

  2. I/O日志配置:

  • Stdout标准输出:D:\ops\logs\oa\out.log

  • Stderr错误输出:D:\ops\logs\oa\err.log(启动报错优先查看此文件);

  1. Recovery自愈策略:10秒延迟自动重启,适配程序崩溃场景;

  2. Logon运行账号:修改为bizadmin业务账号,规避LocalSystem权限坑点;

  3. 保存配置后,在services.msc中设置服务开机自启,手动启动服务验证。

9.2 命令行批量部署(自动化运维首选)

Plain 复制代码
D:
cd D:\ops\nssm
nssm install OaService
nssm set OaService Application "D:\ops\java\jdk11\bin\java.exe"
nssm set OaService AppParameters "-Xms512m -Xmx1024m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=D:\ops\logs\dump -jar D:\ops\project\oa\oa.jar --spring.profiles.active=prod"
nssm set OaService AppDirectory "D:\ops\project\oa"
nssm set OaService AppStdout "D:\ops\logs\oa\out.log"
nssm set OaService AppStderr "D:\ops\logs\oa\err.log"
nssm set OaService Start SERVICE_AUTO_START
nssm set OaService AppRestartDelay 10000
nssm start OaService

9.3 NSSM服务卸载命令

Plain 复制代码
D:\ops\nssm\nssm remove OaService confirm

9.4 生产最佳实践清单

  1. 所有路径使用绝对路径,禁止相对路径、中文、空格、特殊字符;

  2. 强制开启OOM自动Dump,文件存放D盘日志目录;

  3. 配置故障自动重启策略,实现业务自愈;

  4. 优先使用普通业务账号运行服务,规避系统账号权限隔离问题;

  5. 必配标准日志输出,启动故障优先排查err.log。

10 NSSM全套生产故障案例库

10.1 故障1:1053服务启动报错,瞬间停止

现象:服务启动弹窗1053错误,无法响应启动请求;

根因排序:路径错误、启动参数格式异常、Jar包损坏、JDK版本不匹配、目录权限不足、工作目录配置错误;

排查方案:查看err.log、复制启动参数到CMD手动执行、校验Jar包MD5、核对JDK版本、授予目录完全权限。

10.2 故障2:服务运行正常,外部无法访问业务

现象:进程存在、本机127.0.0.1可访问,外网IP无法访问;

根因:项目仅监听本地回环地址、防火墙未放行端口、多网卡监听异常、业务线程假死;

解决 :修改配置 server.address=0.0.0.0、放行防火墙端口、排查线程死锁。

10.3 故障3:服务定时自动停止,无人工操作

根因:JVM内存溢出、服务器内存耗尽、EDR/杀毒拦截、系统自动重启、线程异常退出;

排查:检索OOM日志、查看系统事件日志、检查安全软件隔离记录、核对JVM堆内存参数。

10.4 故障4:CMD启动正常,NSSM服务启动失败

根因:NSSM默认系统账号与普通用户账号权限、环境隔离,无法读取用户环境变量、无目录读写权限;

解决:更换业务账号运行服务、使用Java绝对路径、授权业务目录权限。

10.5 故障5:服务循环重启,启动即崩溃

根因:启动参数、路径、配置错误,程序瞬间崩溃触发自愈策略;

解决:排查err.log、修正配置、设置服务重启冷却时间,规避系统服务保护机制。

11 Windows防火墙深度实操与坑点规避

本机访问正常、外网访问不通,90%为防火墙策略配置问题。

11.1 图形界面配置业务端口放行

  1. 防火墙→高级设置→入站规则→新建规则;

  2. 规则类型:端口,TCP协议,填写业务端口(8080、3306、6379);

  3. 操作:允许连接;

  4. 核心关键 :域、专用、公用配置文件全部勾选,解决域环境、跨网段拦截问题;

  5. 填写规则名称与备注,保存生效。

11.2 命令行批量创建防火墙规则

Plain 复制代码
netsh advfirewall firewall add rule name="JavaWeb业务端口" dir=in action=allow protocol=TCP localport=8080,3306,6379 profile=any enable=yes

11.3 防火墙故障排查顺序

端口连通性测试→检查全场景防火墙规则→核对项目监听地址→排查上层硬件防火墙/ACL拦截。

12 Windows网络全故障排查手册

12.1 端口占用故障(Address already in use)

Plain 复制代码
netstat -ano | findstr "8080"

PID=4:系统http.sys内核占用,解决方案为更换业务端口;PID为svchost进程:检查IIS服务占用,关闭冗余服务。

12.2 双网卡多网段访问异常

排查要点:确认项目监听0.0.0.0全网卡、核对服务器路由表、区分业务网卡与管理网卡网段,避免路由优先级异常。

12.3 跨VLAN网段不通

排查流程:客户端端口测试→路由追踪定位丢包节点→确认防火墙域规则放行→核查上层交换机、硬件防火墙ACL策略。

13 Windows账号权限体系与隐性坑点

13.1 LocalSystem系统账号核心问题

系统默认服务账号权限极高,但存在严格环境隔离:无法读取用户环境变量、无法访问用户家目录、访问网络共享文件夹使用服务器机器身份,极易出现本地文件正常、共享文件权限拒绝的问题。

解决方案:业务服务统一使用普通bizadmin账号运行。

13.2 域账号运维坑点

服务器接入AD域后,域账号密码过期会直接导致服务启动失败,需将业务域账号设置为密码永不过期

13.3 目录权限规范

所有业务目录D:\ops必须授予运行账号完全控制权限,规避日志创建、文件读写权限不足问题。

14 Windows日志体系与标准化排错流程

日志排查优先级(现场通用)

  1. 一级优先级:NSSM err.log(服务启动阶段报错唯一日志);

  2. 二级优先级:项目业务error.log、info.log(业务逻辑报错);

  3. 三级优先级:Windows系统事件日志(进程莫名终止、系统级故障)。

14.1 日志导出取证命令

Plain 复制代码
wevtutil epl System D:\ops\backup\system.evtx
wevtutil epl Application D:\ops\backup\app.evtx

15 JVM深度排错实操(Windows专属)

15.1 jps 快速获取Java进程PID

Plain 复制代码
jps -l

15.2 jstat 监控GC内存状态

Plain 复制代码
jstat -gc 进程PID 1000 10

每秒输出一次GC状态,共10次,用于判断频繁Full GC、内存泄漏问题。

15.3 jstack 线程Dump排查死锁、假活

Plain 复制代码
jstack 进程PID > D:\ops\logs\dump\thread_dump.txt

检索BLOCKED、WAITING、Found deadlock关键字,定位线程阻塞与死锁,业务高峰期禁止执行

15.4 jmap 堆内存分析

Plain 复制代码
jmap -heap 进程PID                                 # 查看堆内存配置与占用
jmap -histo 进程PID > D:\ops\logs\dump\histo.txt   # 导出对象统计信息
jmap -dump:format=b,file=D:\ops\logs\dump\heap.hprof 进程PID # 生成完整堆快照

15.5 OOM自动Dump配置

NSSM启动参数追加,崩溃自动生成堆文件,路径强制配置D盘:

Plain 复制代码
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=D:\ops\logs\dump

16 磁盘空间故障全集与解决方案

16.1 C盘莫名爆满故障

核心根因:日志/Dump文件存C盘、虚拟内存占用、系统更新缓存、还原点堆积。解决方案:迁移所有业务文件至D盘、关闭系统还原、迁移虚拟内存。

16.2 Dump文件打满磁盘

配置定时脚本清理过期Dump文件,避免OOM快照占用大量磁盘空间。

16.3 日志无限膨胀问题

生产强制规范:SpringBoot项目开启日志滚动切割,按日期、大小分割,自动清理过期日志,配套定时清理脚本兜底。

16.4 通用清理脚本

清理7天前Dump文件、30天前业务日志:

Plain 复制代码
@echo off
forfiles /p D:\ops\logs\dump /s /m *.hprof /d -7 /c "cmd /c del @path"
forfiles /p D:\ops\logs /s /m *.log /d -30 /c "cmd /c del @path"

17 Windows计划任务生产落地与踩坑规避

通过taskschd.msc实现定时日志清理、数据备份、健康探测,是无人值守运维核心工具。

17.1 标准化任务创建规范

  1. 新建常规任务(不使用基础任务);

  2. 常规配置:勾选「不管用户是否登录都运行」「最高权限运行」;

  3. 触发器:自定义执行时间(推荐凌晨低峰期);

  4. 操作:启动程序,必须填写脚本完整路径+脚本所在起始目录

  5. 设置:配置失败重试、超时强制终止、禁止多实例运行。

17.2 高频致命坑点

  1. 未填写起始目录,脚本相对路径失效;

  2. 仅勾选登录后运行,无人登录时任务不执行;

  3. 路径含中文空格、权限不足、EDR拦截脚本执行;

  4. 依赖环境变量,导致命令执行失败。

18 杀毒/EDR安全软件业务拦截解决方案

18.1 常见故障现象

业务莫名停止、Jar包被隔离、NSSM无法启动、定时脚本执行失败,日志无报错。

18.2 根治方案

  1. 查看安全软件隔离日志,确认拦截程序;

  2. D:\ops全目录加入白名单;

  3. 将java.exe、nssm.exe加入进程信任白名单。

19 等保2.0测评整改实施清单

政企项目上线必过等保,现场直接对照整改:

  1. 3389端口仅内网访问,禁止公网暴露;

  2. 防火墙默认开启,仅放行必要业务端口;

  3. 禁止超级管理员运行业务,新建普通权限业务账号;

  4. 配置账号强密码策略,规避弱口令漏洞;

  5. 开启系统与业务日志审计,日志留存不少于6个月;

  6. 关闭系统无用服务、精简开机自启,缩小攻击面;

  7. 定期更新系统补丁,更新前完整备份业务数据;

  8. 严格控制业务目录权限,最小权限原则;

  9. 核心数据定期异地备份,保障数据安全。

20 生产业务假活专项排查与根治方案

假活现象:服务、进程正常运行,接口全部超时无响应,业务日志无报错。

20.1 标准化排查流程

  1. 核查端口监听状态,确认监听0.0.0.0;

  2. 导出线程Dump,排查死锁、线程阻塞;

  3. 核查Tomcat线程池、数据库连接池是否耗尽;

  4. 排查下游Redis、数据库服务是否卡死;

  5. 监控GC状态,判断是否频繁Full GC导致业务暂停。

20.2 应急止血方案

强制终止Java进程,依托NSSM自愈策略自动重启业务,快速恢复服务。

20.3 根治方案

修复代码死锁、优化线程池与连接池参数、所有外部接口配置超时时间、配置定时健康探测自愈脚本。

21 项目交付全套生产脚本合集

所有脚本存放路径:D:\ops\script,ANSI编码,无中文空格路径。

21.1 日志清理脚本 clear_log.bat

Plain 复制代码
@echo off
forfiles /p D:\ops\logs /s /m *.log /d -30 /c "cmd /c del @path"
forfiles /p D:\ops\logs\dump /s /m *.hprof /d -7 /c "cmd /c del @path"
echo %date% %time% 日志清理完成 >> D:\ops\backup\clean_log_record.log

21.2 服务器日常巡检脚本 daily_check.bat

Plain 复制代码
@echo off
echo ============================== >> D:\ops\backup\daily_check.log
echo 巡检时间:%date% %time% >> D:\ops\backup\daily_check.log
echo 【磁盘信息】 >> D:\ops\backup\daily_check.log
wmic logicaldisk get caption,freespace,size >> D:\ops\backup\daily_check.log
echo 【Java进程】 >> D:\ops\backup\daily_check.log
tasklist | findstr "java" >> D:\ops\backup\daily_check.log
echo 【服务状态】 >> D:\ops\backup\daily_check.log
sc query OaService >> D:\ops\backup\daily_check.log
echo. >> D:\ops\backup\daily_check.log

21.3 业务健康探测脚本 health_check.bat

Plain 复制代码
@echo off
curl -s -o nul -w "%%{http_code}" http://127.0.0.1:8080/actuator/health > D:\ops\backup\health_status.tmp
set /p status=<D:\ops\backup\health_status.tmp
if not "%status%"=="200" (
echo %date% %time% 业务探测异常,状态码:%status% >> D:\ops\backup\health_error.log
)

脚本报错修复说明:实测报错「URL拼写可能存在错误」解决方案,该健康检查脚本依赖SpringBoot监控组件,部署后务必核对两点:1、项目已引入actuator依赖,未引入则接口404报错;2、部分项目自定义修改了健康检查接口路径,需同步修改脚本内URL。无依赖条件下可替换为端口探测方案,适配所有Java项目通用检测。

21.4 通用无依赖端口健康探测脚本(修复版)

Plain 复制代码
@echo off
:: 通用端口探测,不依赖actuator组件,适配所有Jar项目
netstat -ano | findstr "8080" > D:\ops\backup\port_status.tmp
if errorlevel 1 (
echo %date% %time% 业务端口8080未监听,业务宕机 >> D:\ops\backup\business_down.log
:: 可选:自动重启NSSM服务
sc stop OaService
timeout /t 3 /nobreak
sc start OaService
)

22 Windows下Nginx反向代理完整生产实操

Windows Server政企环境常用Nginx做端口转发、负载均衡、静态资源代理、HTTPS证书落地,适配多项目统一入口场景,生产部署规范如下。

22.1 Nginx生产部署规范

安装路径统一为D:\ops\nginx,使用稳定版1.24.x,禁止使用绿色精简版,避免隐性崩漏问题。目录权限授予bizadmin完全控制,配置文件统一UTF-8编码。

22.2 核心生产配置模板(反向代理SpringBoot)

Plain 复制代码
server {
    listen 80;
    server_name 192.168.1.120;

    # 统一日志格式
    access_log logs/oa_access.log;
    error_log logs/oa_error.log;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_connect_timeout 60s;
        proxy_read_timeout 120s;
    }
}

22.3 Nginx服务常驻方案

Nginx原生不支持Windows开机自启、崩溃自愈,统一使用NSSM封装为系统服务,服务名:NginxService,配置标准日志输出与自愈重启策略,和Java项目运维规范统一。

22.4 高频故障排查

1、端口80被http.sys占用:修改监听端口或关闭系统IIS服务;2、代理后获取不到真实客户端IP:缺失X-Real-IP头部配置;3、长时间请求超时:未配置proxy超时参数;4、Nginx闪退:配置文件存在中文、空格、语法错误,通过nginx -t校验配置。

23 Windows环境MySQL部署运维实战

适配Windows Server生产环境,采用解压版MySQL8.0,规避安装版捆绑插件、注册表冗余问题,符合等保规范。

23.1 标准化部署路径

程序路径:D:\ops\mysql,数据目录:D:\ops\mysql\data,日志目录:D:\ops\logs\mysql,备份目录:D:\ops\backup\mysql

23.2 核心my.ini生产配置

Plain 复制代码
[mysqld]
port=3306
basedir=D:\ops\mysql
datadir=D:\ops\mysql\data
character-set-server=utf8mb4
default-storage-engine=INNODB
max_connections=500
wait_timeout=600
interactive_timeout=600
log_error=D:\ops\logs\mysql\error.log

[client]
default-character-set=utf8mb4

23.3 初始化与服务注册

执行初始化命令初始化数据库,通过NSSM将mysqld封装为系统服务,设置开机自启,禁止手动CMD启动运行。生产环境严格禁止root账号外网访问,仅开放内网网段权限。

23.4 自动备份生产脚本

Plain 复制代码
@echo off
set "backup_time=%date:~0,4%%date:~5,2%%date:~8,2%"
D:\ops\mysql\bin\mysqldump -uroot -p123456 --all-databases > D:\ops\backup\mysql\full_backup_%backup_time%.sql
:: 保留30天备份文件
forfiles /p D:\ops\backup\mysql /s /m *.sql /d -30 /c "cmd /c del @path"

23.5 高频故障点

1、MySQL服务启动失败:data目录残留旧数据、配置路径错误、端口占用;2、客户端连接超时:防火墙3306端口未放行、账号IP授权限制;3、数据库卡顿:最大连接数过低、超时时间过短导致连接堆积。

24 Windows环境Redis部署运维实战

Windows生产环境采用官方Release版Redis,避免第三方修改版漏洞风险,用于项目缓存、分布式锁、会话存储。

24.1 标准化部署配置

部署路径:D:\ops\redis,修改redis.windows.conf核心参数:开启密码认证、禁止外网裸奔、设置持久化、调整最大内存。

Plain 复制代码
requirepass Redis@2026
bind 127.0.0.1 192.168.1.0/24
maxmemory 2gb
maxmemory-policy allkeys-lru
appendonly yes

24.2 服务化部署

通过redis-server --service-install注册系统服务,设置开机自启,配置日志输出至D:\ops\logs\redis,适配生产无人值守场景。

24.3 生产禁忌点

禁止关闭密码认证、禁止bind 0.0.0.0全网开放、禁止不配置内存淘汰策略,避免缓存溢出、外网攻击、数据泄露等生产风险。

25 五套完整真实生产故障复盘案例

25.1 案例一:服务器重启后业务无法启动

故障现象:机房断电重启服务器后,NSSM服务自动启动失败,手动启动瞬间停止,无业务日志输出。

排查过程:1、查看NSSM err.log无报错;2、CMD手动执行NSSM完整启动命令,提示JDK路径不存在;3、核查发现服务器重启后环境变量重置,且NSSM配置使用了相对路径。

根因:初期部署使用JDK环境变量引用,未配置绝对路径,系统重启后环境变量加载异常导致服务启动失败。

根治方案:修改NSSM Java路径为绝对路径,重新保存配置,重启服务恢复正常。

预防措施:所有生产服务一律使用绝对路径,禁止依赖系统环境变量。

25.2 案例二:本机访问正常,同网段所有电脑无法访问

故障现象:服务器本机IP+端口可正常访问业务,同网段其他设备、前端服务器均无法访问,端口telnet不通。

排查过程:1、排查防火墙入站规则,端口已放行;2、netstat查看端口仅监听127.0.0.1;3、确认项目配置文件监听地址为localhost。

根因:SpringBoot默认仅监听本地回环地址,未对外开放全网卡监听。

根治方案 :修改配置server.address=0.0.0.0,重启业务服务,全网访问恢复。

25.3 案例三:业务定时每日凌晨自动宕机

故障现象:业务白天运行正常,每日凌晨2点左右自动停止,无人工操作,日志无明显报错。

排查过程:1、查看系统事件日志,凌晨2点触发内存溢出;2、检索JVM日志,发现频繁Full GC;3、核查dump文件,存在内存泄漏。

根因:代码存在内存泄漏,凌晨定时任务执行加剧内存占用,最终触发OOM导致进程终止。

根治方案:优化代码内存泄漏问题,调整JVM堆参数,配置自动dump与定时重启兜底。

25.4 案例四:CMD启动正常,NSSM服务启动失败

故障现象:管理员CMD手动java -jar启动业务完全正常,注册NSSM服务后始终启动失败、1053报错。

排查过程:1、对比运行账号差异,CMD为管理员账号,NSSM默认系统账号;2、核查业务目录权限,系统账号无读写权限。

根因:系统服务账号权限隔离,无业务目录读写权限,无法创建日志、临时文件。

根治方案:授予bizadmin账号目录完全权限,NSSM切换普通业务账号运行,服务启动正常。

25.5 案例五:端口莫名被占用,无法启动业务

故障现象:业务8080端口启动提示端口占用,netstat查询PID=4,无对应进程。

根因:Windows系统http.sys内核常驻占用端口,为系统级端口预留。

根治方案:修改业务监听端口,或关闭系统IIS、万维网服务,释放内核占用端口。

26 PowerShell高级监控告警脚本开发

适配生产7*24小时无人值守运维,实现进程宕机自动重启、磁盘爆满告警、服务异常检测,可对接企业微信/钉钉告警。

26.1 Java进程宕机自愈脚本

Plain 复制代码
# 检测Java业务进程,宕机自动重启服务
$process = Get-Process -Name java -ErrorAction SilentlyContinue
if(-not $process){
    Write-Host "$(Get-Date) 业务进程异常,执行重启操作" >> D:\ops\backup\auto_restart.log
    Restart-Service -Name OaService -Force
}

26.2 磁盘空间监控脚本

Plain 复制代码
# 磁盘剩余空间低于10%记录告警日志
$disk = Get-WmiObject Win32_LogicalDisk -Filter "DeviceID='D:'"
$freeRate = [math]::Round($disk.FreeSpace/$disk.Size*100,2)
if($freeRate -lt 10){
    Write-Host "$(Get-Date) D盘剩余空间不足10%,当前剩余占比:$freeRate%" >> D:\ops\backup\disk_warn.log
}

27 实施现场应急故障排查标准流程

生产故障发生后,严格按照先止血、后排查、再根治、最后复盘标准流程执行,最大限度缩短宕机时间。

27.1 第一步:应急止血(1-3分钟)

1、确认故障范围:单服务异常还是全业务瘫痪;2、优先重启异常服务,依托NSSM自愈恢复业务;3、关闭异常定时任务、暂停高危操作,避免故障扩大。

27.2 第二步:快速定位(5分钟内)

按照日志优先级排查:NSSM错误日志→业务报错日志→Windows系统事件日志,快速区分是系统故障、网络故障、权限故障还是代码故障。

27.3 第三步:深度排查(根因定位)

针对现象针对性排查:端口占用、内存溢出、线程死锁、防火墙拦截、EDR拦截、权限不足、配置错误、资源耗尽。

27.4 第四步:根治优化

修复故障根因,补充监控、脚本、权限、白名单等兜底方案,避免重复复现。

27.5 第五步:故障复盘

记录故障时间、现象、影响范围、排查过程、根因、解决方案、预防措施,形成故障台账归档。

28 实施交付文档模板(可直接复制给客户)

28.1 项目交付说明文档

项目名称:__________

部署环境:Windows Server 2019 政企私有化环境

部署架构:Jar包 + NSSM系统服务 + Nginx反向代理 + MySQL + Redis

部署路径:D:\ops 统一业务目录

运行账号:bizadmin(普通业务权限,最小权限原则)

服务运行方式:系统开机自启、故障自动自愈、无人值守运行

端口开放清单:80、8080、3306、6379(仅内网放行)

日志留存策略:业务日志留存30天,系统日志留存6个月,定时自动清理

数据备份策略:数据库每日自动全量备份,保留30天备份文件

监控策略:端口健康探测、进程宕机自愈、磁盘空间监控

故障应急方式:服务自动重启、人工应急排查流程如上

运维规范:禁止使用超级管理员运行业务、禁止公网开放高危端口、禁止C盘部署业务

28.2 日常运维须知(客户运维专用)

1、服务器日常开关机、重启操作需提前报备,避开业务高峰期;

2、禁止随意删除D:\ops目录下程序、配置、日志、脚本文件;

3、禁止私自关闭防火墙、退出安全软件、修改系统安全策略;

4、服务器补丁更新、软件升级需提前备份数据,经技术确认后执行;

5、业务异常优先查看NSSM错误日志与业务日志,可对照故障手册自行初步排查;

6、定期核查磁盘空间、服务运行状态、备份文件完整性,保障业务稳定运行。

相关推荐
且白1 小时前
node、npm通过http-server架设本地服务器(可解决跨域)
服务器·网络协议·http
Java小白笔记1 小时前
Java 实现 ZIP 压缩包生成方案
java·开发语言·网络·7-zip
Gauss松鼠会1 小时前
【GaussDB】GaussDB 组件、节点和AZ故障仲裁与切换流程
运维·服务器·数据库·gaussdb
方向研究1 小时前
UEFI/Windows启动流程
windows
库玛西1 小时前
深入浅出Linux select网络模型:从底层位图原理到C++面向对象高级封装
linux·服务器·网络·c++·ubuntu
ZnS_oscar1 小时前
不用下载字体,获得仿宋字体
windows·word
Tingjct1 小时前
线程详细讲解---聚焦linux
linux·服务器·jvm
数字孪生视频孪生2 小时前
空间智能技术|跨镜轨迹全域可溯,无感定位无扰赋能落地
大数据·运维·人工智能·重构·架构
ComputerInBook2 小时前
linux包管理工具——yum(YellowdogUpdaterModified)
linux·运维·服务器·yum·dnf