Files
nuriq_back/src/run_server.sh
윤영훈 422c0638fd [FEAT] (프로젝트 구성): 초기 프로젝트 구성
v0.1 (2025-11-13)
- Flask, Gunicorn, gevent, MariaDB, Redis, Swagger, logging 기본 구성 완료;
2025-11-13 14:14:52 +09:00

67 lines
1.9 KiB
Bash

#!/bin/bash
##############################################################
# NuriQ 서버 실행 스크립트
#
# 사용법:
# ./run_server.sh [모드]
#
# 모드:
# dev - 개발 모드 (Flask built-in server)
# prod - 운영 모드 (Gunicorn + gevent)
##############################################################
set -e #에러 발생시 스크립트 중단
# 색상 정리
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m'
# 현재 스크립트 디렉토리로 이동
cd "$(dirname "$0")"
# 모드 설정 (기본값: prod)
MODE="${1:-prod}"
echo -e "${BLUE}========================================="
echo -e "${BLUE} NuriQ Server Start${NC} "
echo -e "${BLUE}========================================="
# 가상환경 활성화 확인
if [ -z "$VIRTUAL_ENV" ]; then
echo -e "${YELLOW} Virtual environment not activated${NC}"
echo -e "${YELLOW} Consider running: source .venv/bin/activate${NC}"
echo ""
fi
# 모드에 따른 처리
case "$MODE" in
dev)
echo -e "${GREEN} 개발 모드 시작 중 ...${NC}"
echo -e "${GREEN} Flask built-in server 사용 중 ...${NC}"
echo ""
export DEBUG=True
gunicorn -c ./gunicorn_config.py app:app
;;
prod)
echo -e "${GREEN} 운영 모드 시작 중 ...${NC}"
echo -e "${YELLOW} Gunicorn + gevent 사용 중 ...${NC}"
echo ""
gunicorn -c ./gunicorn_config.py \
--worker-class geventwebsocket.gunicorn.workers.GeventWebSocketWorker \
app:app
;;
*)
echo -e "{$RED} 알 수 없는 모드: $MODE${NC}"
echo ""
echo "사용 가능한 모드"
echo " dev - 개발 모드 (Flask built-in server)"
echo " prod - 운영 모드 (Gunicorn + gevent)"
echo ""
echo "사용: $0 [mode]"
exit 1
;;
esac