Linuxsystemd서비스서버
systemd 서비스 관리 (systemctl)
변수 입력3개
systemctl은 프로세스 하나가 아니라 systemd service unit의 상태와 생명주기를 관리합니다. 운영 서버에서는 재시작 전에 현재 상태와 최근 로그를 먼저 확보하세요.
Linux 서버의 {{SERVICE}} systemd 서비스를 점검하고 안전하게 재시작하려고 해.
상태·설정·로그 확인, 재시작, 검증, 실패 시 복구 순서로 알려 줘.
배포 중인 운영 서버라는 전제로 작성해 줘.1. 변경 전 상태 확보
systemctl status {{SERVICE}} --no-pager --full
systemctl show {{SERVICE}} -p ActiveState -p SubState -p MainPID -p ExecMainStatus
journalctl -u {{SERVICE}} -n 100 --no-pagerunit 파일과 override를 확인합니다.
systemctl cat {{SERVICE}}
systemd-analyze verify /etc/systemd/system/{{SERVICE}}.service2. 설정 반영과 재시작
unit 파일을 바꾼 경우에만 daemon 설정을 다시 읽습니다.
sudo systemctl daemon-reload연결 중단을 최소화하는 reload가 지원되는지 먼저 확인하고, 불가능할 때 재시작합니다.
sudo systemctl reload {{SERVICE}}
# reload를 지원하지 않을 때
sudo systemctl restart {{SERVICE}}3. 즉시 검증
systemctl is-active {{SERVICE}}
systemctl status {{SERVICE}} --no-pager --full
journalctl -u {{SERVICE}} --since '-5 minutes' --no-pager서비스가 포트를 제공한다면 실제 요청까지 확인합니다.
curl --fail --show-error http://127.0.0.1:{{PORT}}/{{HEALTH_PATH}}4. 실패 대응
systemctl show {{SERVICE}} -p Result -p ExecMainCode -p ExecMainStatus
journalctl -xeu {{SERVICE}} --no-pager설정 변경이 원인이면 백업한 unit 또는 override를 복구한 뒤 daemon-reload와 restart를 다시 수행하세요. enable은 부팅 시 자동 시작 설정이고 현재 프로세스를 시작하는 명령이 아니라는 점도 구분해야 합니다.
확인 기준: man systemctl, man systemd.service, man journalctl
댓글 0개
아직 댓글이 없습니다.
