systemd: Node 서비스 유닛 템플릿 (EnvironmentFile 포함)
프로덕션에서 Node 서버를 안정적으로 띄우기 위한 기본 systemd 유닛 템플릿
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