happybell80 576dd5d424
All checks were successful
Deploy Nginx Config to Ubuntu Server / deploy (push) Successful in 1s
fix: change nginx root back to direct path
- Change from /var/www/html/frontend-customer to /home/admin/frontend-customer/dist
- Direct connection without symbolic link (permissions already fixed)
- Simpler and more efficient
2025-07-18 00:30:28 +09:00
2025-07-14 17:20:50 +09:00

Nginx Deploy - Robeing Project

Ubuntu 서버용 Nginx 리버스 프록시 배포 저장소입니다.

구조

nginx-infra/
├── .gitea/workflows/deploy.yml   # Gitea Actions 배포 스크립트
├── .github/workflows/deploy.yml  # GitHub Actions 배포 스크립트 (legacy)
├── default.conf                  # Docker nginx 설정 (legacy)
├── server-nginx-default          # 서버 nginx 설정 파일
├── docker-compose.yml            # Docker Compose 정의 (cleanup용)
└── README.md                     # 이 파일

배포 플로우 (Gitea Actions)

  1. main 브랜치에 push
  2. Gitea Actions 자동 실행 (로컬 서버)
  3. nginx 설정 백업 (자동 백업)
  4. 설정 검증 (nginx -t)
  5. nginx 설정 적용 (/etc/nginx/sites-available/default)
  6. nginx 서비스 reload (무중단 적용)
  7. 배포 검증 (자동 롤백 포함)

서버 설정

Gitea Actions 요구사항

  • Ubuntu 22.04 LTS
  • Gitea Actions 활성화
  • admin 사용자 sudo NOPASSWD 권한
  • nginx 서비스 실행 중

sudo 권한 설정

# /etc/sudoers.d/admin 파일 생성
sudo visudo -f /etc/sudoers.d/admin

# 다음 내용 추가:
admin ALL=(ALL) NOPASSWD: /usr/bin/cp, /usr/sbin/nginx, /bin/systemctl

프록시 라우팅

  • https://ro-being.com/ → 192.168.219.45:5173 (메인 프론트엔드)
  • https://ro-being.com/api/ → 192.168.219.45:8000 (frontend/backend)
  • https://ro-being.com/rb10508/ → 192.168.219.45:10508 (test_api)

SSL 설정

서버 자체에 SSL 설정 완료:

  • Ubuntu 서버에서 certbot으로 SSL 인증서 관리
  • Docker 컨테이너는 8080 포트에서 HTTP만 처리
  • 서버 nginx가 HTTPS → HTTP(8080) 프록시

로컬 테스트

# 서버에서 직접 실행
cd ~/robeing-nginx
docker compose up -d

# 로그 확인
docker compose logs -f nginx

# 내부 서비스 확인
curl http://localhost:8080

배포 상태 확인

# 서비스 상태 확인
curl -I https://ro-being.com

# 컨테이너 상태 확인
docker compose ps
```# Test Actions trigger - 2025. 07. 14. (월) 17:20:43 KST
Description
No description provided
Readme 248 KiB
Languages
Nginx 100%