반응형
$> 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라는 서비스로 실행하기를 원한다면, 아래와 같이 생성하여 실행할 수 있습니다.
위 와 같이 sample 프로젝트로 가정하고 생성하여 등록하면, 아래와 같이 sudo systemctl status sample.service를 이용하여, 현재 등록된 sample.service의 상태를 확인할 수 있습니다.
여기에서 초록색으로 active (running)가 나온다면 정상이고 이외에 나오는 경우에는 설정에서의 오류가 있는 경우입니다.
반응형
'개발 창고 > 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 |