데비안 계열 Ubuntu 서버를 기반으로 실무 환경을 고려한 인프라 구축 매뉴얼을 작성합니다.
개발/운영 팀에 합류할 때 빠르게 서버를 세팅하고, 운영 환경을 구성할 수 있도록 단계별로 정리했습니다.
- 서버 디렉토리 및 설계 규칙
- Ubuntu 초기 세팅
- Common Configuration (Timezone, Locale, Swap Memory, Docker)
- API Server Configuration (Java)
- Web Server Configuration (Nginx)
- Database 구성
- MySQL 환경 구성 (Docker Compose)
- MySQL Backup
- API Server 구성
- Common Log Policy
- API Server Setting
- Shell Script 작성 (service_check, service_run, system_check)
- Monitoring 및 APM 구성
- Grafana & Prometheus API Server 모니터링 구축
- Pinpoint APM
- Jenkins CI/CD 구성
- nGrinder 성능테스트 환경 구성
- 아키텍쳐별 nGrinder 환경 구축 (arm64, aarch64)
/wisoft
├── backend
│ ├── dev # Dev API Server
│ ├── stage # Stage API Server
│ └── prod # Production API Server
├── database
│ └── mysql # MySQL 8.0 관련 (여러 DB 사용을 고려하여 디렉토리 분리)
│ ├── dev # Dev DB
│ └── prod
├── frontend # Web Server (Dev, Stage, Prod)
├── jenkins # Jenkins
├── logs # Log (API, Web, ETC)
│ ├── backend
│ │ ├── dev
│ │ ├── stage
│ │ └── prod
│ ├── crontab
│ └── frontend
└── shell # Shell Script Directory
├── service_check.sh
├── service_run.sh
└── system_run.sh