Linux

[Linux] systemd로 .NET 앱 서비스 등록, 자동 재시작까지

전자기린 2026. 11. 10. 01:02

Linux 서버에서 .NET 앱을 상시 서비스로 등록하는 systemd 단위 파일 구성입니다.

절차

  1. 게시
  2. 단위 파일 작성
  3. 서비스 등록
  4. 로그 확인

 

1. 게시

dotnet publish -c Release -o /var/www/myapp

2. 단위 파일 작성

# /etc/systemd/system/myapp.service
[Unit]
Description=MyApp ASP.NET Core Service
After=network.target

[Service]
WorkingDirectory=/var/www/myapp
ExecStart=/usr/bin/dotnet /var/www/myapp/MyApp.dll
Restart=always
RestartSec=10
KillSignal=SIGINT
User=www-data
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=ASPNETCORE_URLS=http://localhost:5000

[Install]
WantedBy=multi-user.target

3. 등록

sudo systemctl daemon-reload
sudo systemctl enable myapp
sudo systemctl start myapp

4. 로그 확인

journalctl -u myapp -f

정리

  1. Restart=always로 비정상 종료 시 자동 재시작
  2. KillSignal=SIGINT로 우아한 종료 유도
  3. 리버스 프록시(Nginx) 뒤에서 5000 포트로 연결