#!/bin/bash # TaxBaik Nginx 설정 긴급 롤백 스크립트 # 실행: sudo ./rollback-nginx.sh set -e echo "🔙 TaxBaik Nginx 설정 긴급 롤백" echo "==============================" echo "" # 색상 정의 RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' BLUE='\033[0;34m' NC='\033[0m' NGINX_FILE="/etc/nginx/sites-available/taxbaik-domains.conf" # 1. 백업 파일 찾기 echo "🔍 최근 백업 파일 찾기..." LATEST_BACKUP=$(ls -t ${NGINX_FILE}.backup* 2>/dev/null | head -1) if [ -z "$LATEST_BACKUP" ]; then echo -e "${RED}❌ 백업 파일을 찾을 수 없습니다${NC}" echo "" echo "현재 디렉토리의 백업 파일:" ls -la /etc/nginx/sites-available/taxbaik-domains.conf* 2>/dev/null || echo "없음" exit 1 fi echo -e "${GREEN}✅ 백업 파일 발견: $LATEST_BACKUP${NC}" echo "" # 2. 현재 설정 확인 echo "📋 현재 (오류) 설정 확인..." echo -e "${BLUE}" head -35 "$NGINX_FILE" | grep -A 10 "location" || true echo -e "${NC}" echo "" # 3. 롤백 echo "⏮️ 롤백 중..." cp "$LATEST_BACKUP" "$NGINX_FILE" echo -e "${GREEN}✅ 롤백 완료${NC}" echo "" # 4. 문법 검증 echo "🔍 Nginx 문법 검증..." if nginx -t 2>&1 | grep -q "successful"; then echo -e "${GREEN}✅ 문법 검증 성공${NC}" else echo -e "${RED}❌ 문법 오류${NC}" nginx -t exit 1 fi echo "" # 5. Nginx 재시작 echo "🔄 Nginx 재시작..." systemctl restart nginx echo -e "${GREEN}✅ Nginx 재시작 성공${NC}" echo "" # 6. 상태 확인 echo "🧪 최종 상태 확인..." if systemctl is-active --quiet nginx; then echo -e "${GREEN}✅ Nginx 정상 작동${NC}" else echo -e "${RED}❌ Nginx 비정상${NC}" systemctl status nginx exit 1 fi echo "" echo "✅ 롤백 완료!" echo "" echo "📝 복구된 설정:" grep -A 5 "location /taxbaik" "$NGINX_FILE" | head -8