systemd
init의 구현체 중 하나
현재 리눅스 표준(Ubuntu, CentOS, Debian 등)
하는 일 :
1. 부팅 시 서비스 의존성 파악 후 순서대로 시작
"mysql -> app"
2. 서비스 죽으면 자동 재시작
3. 로그 수집
4. 서비스 상태 관리
자주 쓰는 명령어
---------------
# 자주 쓰는 명령어
systemctl start nginx # 시작
systemctl stop nginx # 중지
systemctl restart nginx # 재시작
systemctl enable nginx # 부팅 시 자동시작 등록
systemctl status nginx # 상태 확인
journalctl -u nginx -f # 로그 실시간
서비스 등록 예시
---------------
# 서비스 등록 예시
# /etc/systemd/system/myapp.service
[Unit]
Description=My Java App
After=network.target mysql.service ← mysql 뜨고 나서 시작
[Service]
ExecStart=java -jar /app/app.jar
Restart=always ← 죽으면 자동 재시작
[Install]
WantedBy=multi-user.target