[nssm] 윈도우(window)에서 JAR 파일 서비스로 등록하기 🤡🍯🐝

2025. 4. 24. 12:11·Develop/DevOps
반응형

nssm

nssm (Non-Sucking Service Manager)은 Windows 환경에서 Java 애플리케이션이나 기타 실행 파일을 Windows 서비스처럼 등록해서 관리할 수 있게 해주는 매우 실용적인 도구 🤡

 

 

 

인프라가 열악하여 

api 서버를 스테이션 남는거에 돌리고 있는데

정전이라도 일어나면 데이터 동기화 스케줄러들이 죽는게 아닌가 :(

 

그래도 외부 유지보수 업체분들이 작업하고 스테이션은 꼭 정상화 이후에 키고 가니

서버라도 알아서 재부팅하게 설정해보도록 하자

 

도커를 사용하다가 윈도우에서는 너무 무겁고 

굳이 컨테이너로 배포할 필요가 없다

 

그래서 찾다가 발견된 nssm !!!!! 🐝🐝🐝🐝🐝

 


 

 

 

 

 

1. 커맨드로 nssm.exe를 실행해보면 ( nssm.exe 파일이 있는 경로에서 실행!)

 -help 명령어와 같이 프로그램 커맨드에 대한 설명이 나온다 

자세한 설명은 공식문서를 참고!!

 

 

2. 서비스 등록 명령어 입력 시 gui 창과 함께 설정 할 수 있다.

.\nssm.exe install FS-Service

 

 

 

 

 

 

✅ NSSM의 장점


🔄 자동 재시작 지원 서비스가 비정상 종료될 경우 자동 재시작 가능
🚀 부팅 시 자동 시작 가능 Windows 서비스로 등록되기 때문에 시스템 부팅 후 자동 실행 가능
🔒 보안 계정 지정 가능 특정 사용자 권한으로 서비스 실행 가능 (예: 도메인 계정, 로컬 계정 등)
📂 작업 디렉토리 지정 애플리케이션이 실행될 경로를 지정할 수 있어 경로 문제 회피
📄 표준 출력/에러 로그 파일 지정 가능 I/O 탭에서 stdout, stderr 파일 지정해 콘솔 로그 저장 가능
🧙 설정이 GUI로 쉬움 GUI 기반이라 직관적으로 설정 가능 (nssm install)
🆓 가볍고 무료 설치 없이도 단일 실행 파일로 사용 가능 (Portable)

❌ NSSM의 단점


⚠️ 정식 유지보수 중단 공식적으로는 개발이 중단되었고, NSSM 2.24가 마지막 릴리즈입니다
🔍 에러 로그는 기본적으로 콘솔 출력 별도로 파일 로그 설정하지 않으면 문제 원인 파악 어려움
🔄 서비스 설정 변경 시 수동 재등록 필요 설정 변경이 즉시 반영되지 않고 재시작 필요할 수 있음
❌ GUI 외에 설정 자동화가 번거로움 GUI는 편리하지만 대규모 자동화에는 CLI 또는 PowerShell이 더 적합
📦 복잡한 애플리케이션에는 한계 복잡한 Dependency가 있는 경우엔 sc.exe 또는 WinSW, nssm + bat 조합이 필요할 수 있음

🧠 NSSM이 적합한 케이스

  • Java JAR(Spring Boot 등)을 윈도우에서 백그라운드 서비스로 실행하고 싶을 때
  • .exe 또는 .bat 파일을 부팅 시 자동으로 실행하고 싶은 경우
  • Docker/VM 없이 Windows 서버에서 간단하게 WAS 구동 자동화하고 싶을 때
  • 사내 시스템에서 매우 간단한 백엔드 서비스 자동화가 필요할 때

💬 요약

"작지만 강력한 윈도우 서비스 매니저"가 필요하다면 NSSM은 최고의 선택 중 하나로
다만, 장기적으로는 WinSW, PowerShell 서비스 등록 스크립트, 또는 NSSM 대체 오픈소스들도 고려해볼 수 있다.


 

 

Ref

 

https://nssm.cc/

 

NSSM - the Non-Sucking Service Manager

NSSM - the Non-Sucking Service Manager nssm is a service helper which doesn't suck. srvany and other service helper programs suck because they don't handle failure of the application running as a service. If you use such a program you may see a service lis

nssm.cc

 

반응형
저작자표시 비영리 (새창열림)

'Develop > DevOps' 카테고리의 다른 글

구 레거시 윈도우 서버 프로젝트 (IIS / ASP) 이관 도전기  (6) 2025.07.30
newman 을 이용하여 node 서버 부하 테스트 및 pm2 클러스트 모드 사용 / 커넥션 풀 사용하여 부하 예방하기 🐝  (6) 2024.11.12
[모니터링] 프로메테우스 + 그라파나 모니터링 시스템 구축하기 (feat micrometer)  (70) 2024.02.14
아파치 카프카(APACHE Kafka) 그게 도대체 뭔데 😤 카프카 기본 개념에 대해 알아보자  (93) 2023.11.17
자주 사용하는 linux 필수 명령어 모음  (2) 2023.07.23
'Develop/DevOps' 카테고리의 다른 글
  • 구 레거시 윈도우 서버 프로젝트 (IIS / ASP) 이관 도전기
  • newman 을 이용하여 node 서버 부하 테스트 및 pm2 클러스트 모드 사용 / 커넥션 풀 사용하여 부하 예방하기 🐝
  • [모니터링] 프로메테우스 + 그라파나 모니터링 시스템 구축하기 (feat micrometer)
  • 아파치 카프카(APACHE Kafka) 그게 도대체 뭔데 😤 카프카 기본 개념에 대해 알아보자
    반응형
  • 개발자는어디까지공부해야할까?
  • 전체
    오늘
    어제
    • 분류 전체보기 (51)
      • 인디해커 (1)
      • Develop (42)
        • Front-End (7)
        • Back-End (17)
        • Spring (1)
        • Tool (1)
        • DATABASE (1)
        • DevOps (7)
        • CS (3)
        • Trouble Shooting (5)
      • 다이소 (1)
        • 코딩테스트문제풀이 (1)
      • 변소 (7)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 깃허브(Github)
    • 개발 Feed
  • 공지사항

  • 인기 글

  • 태그

    thymeleaf
    backend
    mybatis
    op.gg
    spring
    스프링부트
    개발자 면접
    node
    React
    자바
    @Scheduled
    fow.kr
    백엔드 개발자 면접 단골 질문 뿌시기
    리액트
    github
    JavaScript
    react-router-dom
    개발자
    spring boot
    Oracle
    롤
    셀레니움
    백엔드
    lol
    타임리프 사용방법
    리그오브레전드
    Recoil
    Java
    SpringBoot
    jdk
  • 최근 댓글

  • 최근 글

  • 01-25 06:24
  • hELLO· Designed By정상우.v4.10.3
[nssm] 윈도우(window)에서 JAR 파일 서비스로 등록하기 🤡🍯🐝
상단으로

티스토리툴바