docs: [react] React 빌드/배포 정책 추가

- 서버 빌드 금지, 로컬 빌드 후 배포 정책 명시
- 프로젝트 경로에 react 추가
This commit is contained in:
김보곤
2026-02-21 15:50:02 +09:00
parent 1a1ef04798
commit 833a957d9e
3 changed files with 66 additions and 2 deletions

View File

@@ -116,11 +116,75 @@ fix: [auth] 로그인 시 세션 만료 오류 수정
|------|------|-----------|
| `/home/aweso/sam/mng` | 관리자 웹 (Laravel) | 독립 저장소 |
| `/home/aweso/sam/api` | API 서버 (Laravel) | 독립 저장소 |
| `/home/aweso/sam/react` | 프론트엔드 (Next.js) | 독립 저장소 |
**각 폴더는 독립적인 Git 저장소입니다. 해당 폴더에서 git 명령을 실행해야 합니다.**
---
## React 빌드/배포 정책 (필수 규칙)
> **경고: React(Next.js) 빌드는 반드시 로컬에서 실행합니다. 서버에서 빌드 절대 금지!**
### 배경
서버 스펙(2코어, 3.8GB RAM, Swap 없음)으로는 Next.js 빌드 시 메모리 부족으로 20분 이상 소요되거나 실패한다.
로컬(WSL)에서 빌드 후 결과물만 서버에 배포한다.
### 금지 사항
```
❌ 서버에서 npm run build 실행 금지
❌ 서버 SSH 접속 후 빌드 명령 실행 금지
❌ Claude가 직접 npm run build 실행 금지 (로컬 포함)
```
### 빌드/배포 방법
```
로컬 (WSL) 서버 (114.203.209.83)
┌─────────────────┐ ┌─────────────────┐
│ npm run build │ ── rsync ──→ │ node server.js │
│ (standalone) │ │ (포트 3001) │
└─────────────────┘ └─────────────────┘
```
**배포 스크립트**: `/home/aweso/sam/react/deploy.sh`
```bash
# 개발 서버 배포
cd /home/aweso/sam/react
./deploy.sh dev
```
### standalone 모드
- `next.config.ts``output: 'standalone'` 설정됨
- 서버에 `node_modules` 불필요 (빌드 결과물에 필요한 것만 포함)
- 서버에서는 `node server.js`로 실행
### 빌드가 필요한 상황
사용자에게 다음과 같이 안내한다:
```
React 코드가 변경되었습니다. 배포하려면:
cd /home/aweso/sam/react && ./deploy.sh dev
```
### 서버 정보
| 항목 | 값 |
|------|-----|
| 서버 주소 | `114.203.209.83` |
| SSH 유저 | `hskwon` |
| 프로젝트 경로 | `/home/webservice/react` |
| 실행 포트 | `3001` |
| 도메인 | `dev.codebridge-x.com` |
| 로그 | `/tmp/sam-react.log` |
---
## 데이터베이스 아키텍처 (필수 규칙)
> **경고: 이 규칙을 반드시 준수하세요!**

View File

@@ -8,7 +8,7 @@ command=/usr/local/sbin/php-fpm
command=nginx -g "daemon off;"
[program:queue-worker]
command=php /var/www/api/artisan queue:work database --sleep=3 --tries=3 --timeout=1800 --max-jobs=100 --max-time=3600
command=php /var/www/api/artisan queue:work database --queue=api,default --sleep=3 --tries=3 --timeout=1800 --max-jobs=100 --max-time=3600
process_name=%(program_name)s_%(process_num)02d
numprocs=1
directory=/var/www/api

View File

@@ -8,7 +8,7 @@ command=/usr/local/sbin/php-fpm
command=nginx -g "daemon off;"
[program:queue-worker]
command=php /var/www/mng/artisan queue:work database --sleep=3 --tries=1 --timeout=1800 --max-jobs=10 --max-time=3600
command=php /var/www/mng/artisan queue:work database --queue=mng,default --sleep=3 --tries=1 --timeout=1800 --max-jobs=10 --max-time=3600
process_name=%(program_name)s_%(process_num)02d
numprocs=2
directory=/var/www/mng