systemd: Node 서비스 유닛 템플릿 (EnvironmentFile 포함)

프로덕션에서 Node 서버를 안정적으로 띄우기 위한 기본 systemd 유닛 템플릿

분야: DevOps/인프라 systemdnodejsenvops

Node 서버를 systemd로 운영할 때 자주 쓰는 기본 템플릿입니다. 시크릿은 EnvironmentFile=로 분리해 관리하는 패턴을 권장합니다.

관련 용어: EnvironmentFile

초보자 튜토리얼(nginx + HTTPS까지): nginx로 Node 서버 배포하기 (systemd + HTTPS)

myapp.service 예시

[Unit]
Description=myapp (Node)
After=network.target

[Service]
Type=simple
User=myapp
WorkingDirectory=/srv/myapp/current
EnvironmentFile=/etc/myapp/myapp.env

ExecStart=/usr/bin/node server.js
Restart=always
RestartSec=2

# 필요에 따라 조정
TimeoutStopSec=10
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target

적용 절차

sudo systemctl daemon-reload
sudo systemctl enable --now myapp.service
sudo journalctl -u myapp.service -f

같은 분야의 템플릿