JAN's History
React 앱을 Nginx로 배포하는 방법 과정 본문
1. React 앱 빌드하기
React는 개발할 때는 npm start로 개발 서버를 띄우지만, 실제 배포할 땐 정적 파일로 빌드해줍니다.
npm run build
이 명령어를 실행하면 build/ 폴더가 생기고, 여기에 index.html, JS, CSS 등 실제로 서비스될 정적 파일이 들어있어요.
2. 서버 준비 (Nginx 설치)
- 서버 환경: Ubuntu 같은 리눅스 서버(혹은 Docker 컨테이너)
- Nginx 설치하는 명령어
sudo apt update
sudo apt install nginx -y
설치 후 동작 확인!
sudo systemctl status nginx
active (running)이면 정상!
3. React 빌드 결과물을 서버로 옮기기
- build/ 폴더를 서버에 업로드 (예: /var/www/react-app 폴더에 넣기)
- 예시
sudo mkdir -p /var/www/react-app
sudo cp -r build/* /var/www/react-app/
4. Nginx 설정하기
React는 SPA(Single Page Application)이기 때문에 모든 경로를 index.html로 리다이렉트해야 해요.
Nginx 설정 파일 예 (/etc/nginx/sites-available/react-app):
server {
listen 80;
server_name example.com; # 도메인이 없으면 서버 IP
root /var/www/react-app;
index index.html;
location / {
try_files $uri /index.html;
}
}
설정 활성화
sudo ln -s /etc/nginx/sites-available/react-app /etc/nginx/sites-enabled/
sudo nginx -t # 설정 파일 문법 검사
sudo systemctl reload nginx
5. 브라우저에서 접속
- 서버 IP나 도메인으로 접속하면 React 앱이 뜹니다.
- http://your-server-ip 또는 http://example.com
6. HTTPS (선택 사항)
실서비스는 HTTPS가 필수에요.
Certbot을 이용해 무료 SSL 적용 가능
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx
7. (옵션) CDN이나 캐시 추가
- Cloudflare 같은 CDN을 Nginx 앞에 두면 더 빠르고 안전해질 수 있습니다!
'개발용어' 카테고리의 다른 글
| 메시지 큐 시스템 완전 정복: Pub/Sub과 Producer/Consumer 패턴의 차이와 활용법 (3) | 2025.08.23 |
|---|---|
| 3 tier 환경의 전반적인 프로세스 심화과정 (DNS, L7, LB, CDN까지) (0) | 2025.08.21 |
| 기본적인 웹 환경의 아키텍처 설명하기 (이것만 알아도 아키텍처는 끝!!) (2) | 2025.08.11 |
| 프론트엔드 개발에서의 build, 번들러, 그리고 배포의 모든 것 (0) | 2025.04.09 |
| HTTP와 HTTPS의 차이점은 무엇인가요? + OpenSSL (0) | 2025.04.02 |