유틸리티/Web Programing

Flask 서버를 실행 상태로 유지

Linuxpia 2025. 5. 23. 07:43
반응형

Flask 서버를 실행 상태로 유지

Flask 서버를 현재처럼 계속 실행 상태로 유지하고 싶다면, SSH 세션 종료 후에도 서버가 중단되지 않도록 백그라운드 실행 또는 세션 유지 도구를 사용하는 것이 필요합니다. 아래에 3가지 대표적인 방법을 정리합니다.


✅ 1. nohup으로 백그라운드 실행 (가장 간단)

터미널에 다음처럼 입력하세요:

nohup python run.py > flask.log 2>&1 &
  • nohup: 로그아웃돼도 프로세스가 계속 실행됨
  • > flask.log 2>&1: 표준출력과 에러 로그를 flask.log에 저장
  • &: 백그라운드 실행

👉 터미널을 닫아도 Flask 서버가 종료되지 않습니다.
👉 서버가 잘 작동하는지 확인하려면 flask.log 파일을 열어보면 됩니다:

tail -f flask.log

✅ 2. screen 또는 tmux 사용 (세션 유지)

screen 설치 (Amazon Linux 기준)

sudo yum install -y screen

사용 방법

screen -S flask
python run.py
  • 서버가 실행되면 Ctrl + A, D 눌러 분리(detach)
  • 나중에 다시 붙으려면:
screen -r flask

👉 Flask 서버는 백그라운드에서 계속 실행되고, 언제든 다시 접속해 상태를 확인할 수 있습니다.


✅ 3. 시스템 서비스로 등록 (고급/지속 실행)

서버를 EC2 인스턴스가 꺼졌다 켜져도 자동으로 실행되게 하려면 systemd에 등록합니다. 이 방법은 원하시면 따로 자세히 안내드릴 수 있습니다.


✅ 요약

방법 설명   장점 실행 명령 예시
nohup + & 백그라운드 실행 간단하고 빠름 nohup python run.py > flask.log 2>&1 &
screen 세션 유지 후 detach 실시간 확인 가능 screen -S flask → Ctrl+A, D
systemd 자동 실행 서비스 등록 재부팅 후 자동 실행 고급 설정 필요

nohup 활용

 


가장 추천하는 방식은 nohup입니다.

실행된 Flask 서버


당장 SSH 종료해도 중단되지 않고, 필요할 땐 flask.log 파일로 확인 가능합니다.