Systemctl는 Systemd의 cli로 편리하고 안전하게 linux에서 프로그램을 관리해준다.
sudo vim /etc/systemd/system/dudoji-server.service
sudo systemctl start dudoji-server
/etc/systemd/system/dudoji-server.service
[Unit]
Description=Dudoji Server
After=network.target
[Service]
User=ubuntu
WorkingDirectory=/home/ubuntu/dudoji-backend
ExecStart=/usr/bin/java -Xmx512m -jar /home/ubuntu/dudoji-backend/build/libs/app.jar
# -Xmx512m 힙 최댓값 설정
SuccessExitStatus=143
Restart=on-failure
RestartSec=5
MemoryMax=600M # 제한 넘으면 -> 죽임
MemoryHigh=500M # 이걸 넘으면 줄이도록 압박
OOMPolicy=kill # out of memory 정책
[Install]
WantedBy=multi-user.target
build.gradle
bootJar {
archiveBaseName.set('app')
archiveVersion.set('')
archiveClassifier.set('')
}