#!/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