- deploy/systemd: kintex.service(백엔드 8021) + kintex-nanobanana.service(워커, GEMINI env 워커 한정) - deploy/nginx: kintex.zioinfo.kr vhost(/ static, /api·/ws → 8021) - deploy/deploy_kintex.sh: 검증→원자교체→헬스체크→롤백(WISE 패턴) - deploy/setup_kintex_service.py: 멱등 프로비저닝(유닛·venv·nginx) - deploy/deploy_server_kintex_block.py: 서버 webhook 블록 정본 사본 - Jenkinsfile: push→build(vite+bootJar)→deploy→health - .gitattributes: 배포 산출물 LF 강제 포트 8021 배정(8003~8020 기존 GUARDiA 예약). 시크릿은 서버 env only(미커밋). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
51 lines
1.7 KiB
Plaintext
51 lines
1.7 KiB
Plaintext
# KINTEX 자동전시시스템 — nginx vhost (개발: kintex.zioinfo.kr → 101.79.17.164)
|
|
# / → /var/www/kintex (React/Vite SPA, try_files 폴백)
|
|
# /api/, /health → 127.0.0.1:8021 (Spring Boot 백엔드)
|
|
# /ws → 127.0.0.1:8021 (STOMP/WebSocket 업그레이드)
|
|
# TLS(443)는 certbot --nginx -d kintex.zioinfo.kr 로 후속 주입(80→443 리다이렉트 자동).
|
|
# 운영 도메인 kintex.wise.ai.kr 은 server_name 추가 또는 별도 vhost 로 후속 구성.
|
|
server {
|
|
listen 80;
|
|
listen [::]:80;
|
|
server_name kintex.zioinfo.kr;
|
|
|
|
root /var/www/kintex;
|
|
index index.html;
|
|
client_max_body_size 50m;
|
|
|
|
access_log /var/log/nginx/kintex.access.log;
|
|
error_log /var/log/nginx/kintex.error.log;
|
|
|
|
# 백엔드 API
|
|
location /api/ {
|
|
proxy_pass http://127.0.0.1:8021;
|
|
proxy_http_version 1.1;
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Proto $scheme;
|
|
proxy_read_timeout 120s;
|
|
}
|
|
|
|
# 헬스체크(공개)
|
|
location = /health {
|
|
proxy_pass http://127.0.0.1:8021/health;
|
|
proxy_set_header Host $host;
|
|
}
|
|
|
|
# WebSocket(STOMP) — RenderJob 완료·승인 이벤트 실시간
|
|
location /ws {
|
|
proxy_pass http://127.0.0.1:8021;
|
|
proxy_http_version 1.1;
|
|
proxy_set_header Upgrade $http_upgrade;
|
|
proxy_set_header Connection "upgrade";
|
|
proxy_set_header Host $host;
|
|
proxy_read_timeout 3600s;
|
|
}
|
|
|
|
# 프론트 SPA — 정적 서빙 + 클라이언트 라우팅 폴백
|
|
location / {
|
|
try_files $uri $uri/ /index.html;
|
|
}
|
|
}
|