개발 창고/NodeJS

[CentOS] npm 실행 Service 등록

로이제로 2022. 10. 11. 11:54
반응형
$> sudo vi /etc/systemd/system/{서비스 이름}.service

[Unit]
Description={서비스 설명}

[Service]
Type=simple
Restart=always
User=root
Group=root
WorkingDirectory={Root 폴더}
ExecStart=/usr/bin/npm start

[Install]
WantedBy=multi-user.target

$> sudo systemctl enable {서비스 이름}.service
$> sudo systemctl start {서비스 이름}.service

{서비스 이름} : 만들고자 하는 서비스의 이름

{서비스 설명} : 해당 서비스에 대한 간단한 Description

{Root 폴더} : 해당 node 프로젝트의 root 폴더

 

 node 프로젝트를 centos에서 실행하고자 할 경우, 보통 npm을 사용하여 실행할 수 있지만, 이는 세션이 끊기는 경우 종료됩니다. 때문에, 시스템에서 계속 실행될 수 있도록 서비스 등록이 되어야 합니다.

 

 그중에서도 보통 npm start를 service로 등록하고 싶은 경우가 있는데, 이 경우에는 workingdirect와 execstart 설정을 통하여, npm start를 지정해 줄 수 있습니다.

 

 만약 /data/sample이라는 node프로젝트를 sample.service라는 서비스로 실행하기를 원한다면, 아래와 같이 생성하여 실행할 수 있습니다.

/data/sample에 있는 node프로젝트
sample.service를 생성하고 등록하는 일련의 과정
sample.service 내용

 위 와 같이 sample 프로젝트로 가정하고 생성하여 등록하면, 아래와 같이 sudo systemctl status sample.service를 이용하여, 현재 등록된 sample.service의 상태를 확인할 수 있습니다.

 여기에서 초록색으로 active (running)가 나온다면 정상이고 이외에 나오는 경우에는 설정에서의 오류가 있는 경우입니다.

service 상태 확인

반응형

'개발 창고 > NodeJS' 카테고리의 다른 글

[Express] 파일 다운로드  (0) 2022.10.13
[React] 상대경로 설정하기  (0) 2022.10.12
[JSON] key 정렬  (0) 2022.10.09
[Puppeteer] Element Exists  (0) 2022.10.03
[Puppeteer] 현재 페이지 URL 가져오기  (0) 2022.09.26