Files
QuantEngineByItz/ENVIRONMENT_DIAGNOSIS.md
T
kjh2064 55a7b044d8 feat(diagnosis): Add environment diagnosis script and guide
환경 진단 도구:

diagnose-environment.sh:
  - 네트워크 정보 (공인 IP, 내부 IP)
  - 디렉토리 구조 (/var/www 경로 확인)
  - Nginx 설정 확인
  - 파일 권한 및 소유자
  - 포트 상태
  - 시스템 정보
  - Sudo 권한
  - Git/Gitea 정보

ENVIRONMENT_DIAGNOSIS.md:
  - 진단 절차 가이드
  - 실행 방법 (3가지)
  - 출력 결과 분석
  - 결과 보고 양식
  - 빠른 진단 명령어
  - 수정 후 다음 단계

목표:
  - 정확한 내부 IP 확인 (172.x.x.x)
  - 실제 웹 서버 경로 파악
  - 웹 서버 사용자 확인
  - Nginx 설정 파악
  - 권한 구조 파악

결과 수집 후:
  - deploy-manual.sh 맞춤 수정
  - 모든 배포 문서 업데이트
  - 배포 실행

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-06-25 18:15:31 +09:00

211 lines
4.7 KiB
Markdown

# 🔍 원격 서버 환경 진단
**목표**: SSH로 접속하여 원격 서버의 정확한 구조와 설정을 파악한 후 배포 스크립트를 맞춤형으로 작성
---
## 📋 진단 절차
### Step 1: SSH 접속
```bash
# 원격 서버에 SSH 접속
ssh kjh2064@178.104.200.7
# 또는 이미 내부 IP를 알고 있다면
ssh kjh2064@172.x.x.x
```
### Step 2: 진단 스크립트 실행
```bash
# 로컬에서 스크립트를 원격으로 실행
ssh kjh2064@178.104.200.7 'bash -s' < diagnose-environment.sh
# 또는 원격에 접속한 후 실행
bash < <(curl -s https://raw.githubusercontent.com/.../diagnose-environment.sh)
# 또는 직접 실행
chmod +x diagnose-environment.sh
./diagnose-environment.sh
```
### Step 3: 출력 결과 확인
진단 스크립트가 다음 정보를 제공합니다:
```
1. 네트워크 정보
- 공인 IP: 178.104.200.7 (확인됨)
- 내부 IP: 172.x.x.x (여기서 확인!)
- 호스트명
- 네트워크 인터페이스
2. 웹 서버 디렉토리 구조
- /var/www 여부
- /var/www/quant 여부
- /var/www/quant/publish 여부
- 실제 경로 (다를 수 있음)
3. Nginx 설정
- Nginx 설치 확인
- 설정 파일 위치
- /quant 관련 설정
4. 파일 권한 및 소유자
- 웹 서버 사용자 (www-data? nobody? 다른 사용자?)
- 디렉토리 권한
5. 포트 상태
- 80, 443 포트 상태
- 바인딩된 주소
6. 시스템 정보
- OS 종류 및 버전
- 디스크 공간
7. Sudo 권한
- 현재 사용자의 sudo 권한
- systemctl 사용 가능 여부
8. Git/Gitea 정보
- Gitea 설치 위치
- Gitea 데이터 저장소
```
---
## 📊 진단 결과 분석
### 예상되는 출력 값들
| 항목 | 예상값 | 실제값 |
|------|--------|--------|
| **공인 IP** | 178.104.200.7 | ✓ |
| **내부 IP** | 172.x.x.x | ? |
| **웹 서버 경로** | /var/www/quant | ? |
| **웹 서버 사용자** | www-data | ? |
| **Nginx 설정** | /etc/nginx/sites-available/default | ? |
| **OS** | Ubuntu 20.04+ | ? |
### 확인할 핵심 정보
1. **내부 IP 주소** (172로 시작)
```
ip addr show | grep "inet"
→ inet 172.x.x.x/xx
```
2. **웹 서버 경로**
```
ls -la /var/www/quant/
→ 실제 배포 경로 확인
```
3. **웹 서버 사용자**
```
ps aux | grep nginx | head -1
→ nginx 12345 0.0 0.1 ...
```
4. **Nginx 설정**
```
grep -r "quant" /etc/nginx/
→ location /quant 설정 확인
```
5. **Sudo 권한**
```
sudo -l
→ systemctl restart nginx 권한 확인
```
---
## 🔧 스크립트 결과 보고 양식
진단 스크립트 실행 후 다음 정보를 제공해주세요:
### 네트워크 정보
- 내부 IP: `172.x.x.x` 또는 다른 주소?
- 호스트명: ?
- 기본 게이트웨이: ?
### 디렉토리 구조
- /var/www 존재: O / X
- /var/www/quant 존재: O / X
- /var/www/quant/publish 존재: O / X
- 실제 웹 서빙 경로: ?
### Nginx 설정
- Nginx 버전: ?
- 설정 파일: /etc/nginx/sites-available/default 또는 다른 경로?
- /quant 설정 있음: O / X
- 루트 경로: ?
### 파일 권한
- 웹 서버 사용자: www-data 또는 ?
- /var/www/quant 소유자: ?
- /var/www/quant 권한: ?
### 시스템 정보
- OS: Ubuntu 20.04 또는 ?
- 디스크 여유: ?MB
### Sudo 권한
- sudo -l 출력:
```
복사해주세요
```
---
## 📝 수집 후 수행할 작업
위 정보를 받은 후:
1. ✅ 정확한 내부 IP로 배포 스크립트 수정
2. ✅ 실제 경로로 deploy-manual.sh 수정
3. ✅ 웹 서버 사용자로 권한 설정 수정
4. ✅ Nginx 설정에 맞게 배포 절차 수정
5. ✅ 모든 문서 (DEPLOYMENT_SSH_GUIDE.md, CI_CD_PIPELINE.md 등) 업데이트
---
## 🚀 빠른 진단 (한 줄 명령어)
```bash
# SSH 접속 후 한 번에 필요한 정보만 추출
echo "=== 내부 IP ===" && ip addr show | grep "inet " | grep -v 127.0.0.1 && \
echo "=== 웹 서버 경로 ===" && ls -la /var/www/ && \
echo "=== Nginx 사용자 ===" && ps aux | grep nginx | head -1 && \
echo "=== Sudo 권한 ===" && sudo -l | head -5
```
---
## ⚡ 진단 후 다음 단계
1. **진단 결과 공유**
- 위의 "스크립트 결과 보고 양식" 내용을 제공해주세요
2. **배포 스크립트 수정**
- 정확한 정보를 바탕으로 deploy-manual.sh 맞춤 수정
- 내부 IP, 경로, 사용자 등 정확히 반영
3. **배포 실행**
```bash
chmod +x deploy-manual.sh
./deploy-manual.sh [실제_내부_IP]
```
4. **검증**
```bash
curl -I http://178.104.200.7/quant/
```
---
**진단을 완료한 후 결과를 공유해주세요!**
정확한 환경 정보를 바탕으로 완벽하게 맞춤형 배포 스크립트를 작성하겠습니다. 🎯