수동 기동과 유닛의 포트 충돌
수동으로 기동한 프로세스가 포트를 점유하고 있으면 해당 유닛은 재시작만 반복한다.
증상
유닛이 수 초 간격으로 종료와 재시작을 반복하고, 로그에는 주소가 이미 사용 중이라는 오류만 기록된다.
ERROR: [Errno 98] error while attempting to bind on address ('127.0.0.1', 5011): address already in use
원인 확인
같은 포트를 점유한 프로세스를 확인한다.
sudo ss -ltnp | grep ':5011'
유닛이 아닌 다른 프로세스가 출력되면, 시험을 위해 수동으로 기동한 프로세스가 남아 있는 경우가 대부분이다.
조치
수동으로 기동한 프로세스를 종료하고 유닛을 재시작한다.
kill <pid>
sudo systemctl restart blog.service
재발을 방지하려면 시험할 때에도 systemctl로만 기동하고 중지한다. 수동 기동이 불가피한 경우에는 다른 포트를 사용한다.