0. 준비
- gabia에서 구매한 www.gguldangi.store라는 도메인 사용
- 완성된 react 앱
- 네이버 클라우드 서버
1. ACG 설정
- react 앱 배포를 위해 3000포트 허용
- 3000포트를 80포트로 리디렉션 시키기 위해 80 포트도 허용 (:3000을 지우기 위해)
2. server 환경 구축하기
프로젝트 clone 하기
git clone <주소>
Node.js 와 npm 설치 (NPC는 Ubuntu 20.04 버전 환경)
최신 버전 설치
https://ko.linux-console.net/?p=2949#gsc.tab=0
3. pm2 (무중단으로 Node 프로세스를 유지해주는 관리 도구)
서버가 켜져있다는 전제 하에, ssh를 종료해도 중단되지 않는, '무중단 서비스 배포'를 위한 도구
npm install -g pm2
npx pm2 start npm -- start # 그리고 pm2와 같은 경우는 npm 명령 실행시에 --옵션을 줘야 한다.
기본적인 사용 명령어
pm2 start src/index.js # 실행
pm2 list # 실행중인 pm2 list
pm2 stop [id번호] # 종료
pm2 start [id번호] # 종료된 pm2 다시 실행
npm start라는 이름의 pm2를 설정함.
4. 포트번호 80으로 바꾸기
npm run start로 실행하면 기본적으로 port 3000을 사용
기본포트(80)이 적용되면 포트가 뜨지 않음
기존 규칙 삭제 : 충돌하는 규칙이나 이전에 설정된 규칙이 포트 리디렉션을 방해할 수 있음. 기존 iptables 규칙을 모두 삭제하고 포트 리디렉션 규칙을 다시 적용
sudo iptables -F
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3000
localhost 뒤에 기본포트(80)이 적용되어 포트가 뜨지 않음을 확인
5. DNS으로 가비아 도메인 연결하기
네이버 클라우드의 Global DNS로 이동 - 도메인 추가
레코드 추가
네임 서버 설정
빨간 레코드 값을 가비아 네임 서버에 입력해 준다.
도메인 통합 관리툴로 이동
에러가 처음엔 나는데, 도메인 서버 적용이 최소 12시간에서 48시간 까지도 걸릴 수 있다고 함.
6. 완료 확인
nslookup www.gguldangi.store
Address: 'public ip' 주소가 나오면 잘 연결 된것.
'server' 카테고리의 다른 글
[server][NCP][python] 네이버 클라우드 플랫폼 django 배포하기 (1) | 2023.08.05 |
---|