# 빠른 배포 가이드 (요약) ## 1단계: DigitalOcean Droplet 생성 1. https://www.digitalocean.com/ 접속 2. Create → Droplets 3. 설정: - Ubuntu 22.04 LTS - 8GB RAM / 4 vCPUs ($48/월) - Singapore 또는 Seoul 4. SSH 키 또는 비밀번호 설정 5. Create Droplet ## 2단계: 서버 접속 및 초기 설정 ```bash # 서버 접속 ssh root@YOUR_SERVER_IP # 시스템 업데이트 및 필수 패키지 설치 apt update && apt upgrade -y apt install -y python3 python3-pip python3-venv git curl nginx certbot python3-certbot-nginx supervisor ufw build-essential # 방화벽 설정 ufw allow OpenSSH ufw allow 'Nginx Full' ufw allow 11434/tcp ufw enable ``` ## 3단계: Ollama 설치 ```bash curl -fsSL https://ollama.com/install.sh | sh systemctl enable ollama ollama pull llama2 # 또는 사용할 모델 ``` ## 4단계: 프로젝트 배포 ```bash # 프로젝트 디렉토리 생성 mkdir -p /var/www cd /var/www # 프로젝트 파일 업로드 (Git 또는 SCP) git clone YOUR_REPO_URL soy-nv-ai # 또는 # scp -r "D:\SOY NV AI\*" root@YOUR_SERVER_IP:/var/www/soy-nv-ai/ cd soy-nv-ai # 가상환경 설정 python3 -m venv venv source venv/bin/activate pip install --upgrade pip pip install -r requirements.txt # 환경 변수 설정 nano .env # SECRET_KEY, OLLAMA_BASE_URL, GEMINI_API_KEY 등 설정 # 디렉토리 생성 mkdir -p instance uploads vector_db knowledge_graphs logs chmod -R 775 uploads instance vector_db ``` ## 5단계: systemd 서비스 설정 ```bash # 서비스 파일 복사 cp systemd/soy-nv-ai.service /etc/systemd/system/ # 파일 수정 (경로 확인) nano /etc/systemd/system/soy-nv-ai.service # 서비스 활성화 systemctl daemon-reload systemctl enable soy-nv-ai systemctl start soy-nv-ai systemctl status soy-nv-ai ``` ## 6단계: Nginx 설정 ```bash # Nginx 설정 파일 복사 cp nginx/soy-nv-ai.conf /etc/nginx/sites-available/soy-nv-ai # 도메인/IP 수정 nano /etc/nginx/sites-available/soy-nv-ai # 활성화 ln -s /etc/nginx/sites-available/soy-nv-ai /etc/nginx/sites-enabled/ rm /etc/nginx/sites-enabled/default # 선택사항 # 테스트 및 재시작 nginx -t systemctl restart nginx ``` ## 7단계: SSL 설정 (도메인 있는 경우) ```bash certbot --nginx -d YOUR_DOMAIN.com -d www.YOUR_DOMAIN.com ``` ## 8단계: 배포 스크립트 실행 (선택사항) ```bash chmod +x deploy.sh ./deploy.sh ``` ## 완료! 웹사이트 접속: - HTTP: http://YOUR_SERVER_IP - HTTPS: https://YOUR_DOMAIN.com (SSL 설정 후) ## 문제 해결 ```bash # 서비스 로그 journalctl -u soy-nv-ai -f # Nginx 로그 tail -f /var/log/nginx/soy-nv-ai-error.log # 서비스 재시작 systemctl restart soy-nv-ai systemctl restart nginx ``` ## 유용한 명령어 ```bash # 서비스 관리 systemctl start/stop/restart/status soy-nv-ai # 로그 확인 journalctl -u soy-nv-ai -n 50 -f # 프로세스 확인 ps aux | grep python htop # 디스크 확인 df -h ```