강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

권범수님의 프로필 이미지
권범수

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

우분투에 노드 설치하기

배포 시 서버 개수 질문합니다

작성

·

485

0

강좌에서는 하나의 인스턴스에 하나의 서버를 배포하려 두개의 인스턴스를 사용하는데
하나의 인스턴스에 두개의 서버를 배포 시 백엔드 포트를 3000번 포트로 바꾸고 프론트에서 디폴트url을 localhost:3000 으로 변경하면 되는 건가요??

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

아뇨 프론트서버 포트가 3000 백엔드 서버 포트는 3065여야 합니다.

권범수님의 프로필 이미지
권범수
질문자

프론트 서버 포트는 80이 아니라 3000인가요??

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

나중에 나올 nginx 붙이실거면 3000으로 하시고 안 붙이실거면 80으로 하시면 됩니다.

권범수님의 프로필 이미지
권범수
질문자

nginx.conf에서 location을 이렇게 설정하면

server {

                server_name domain.com;

                listen 80;

                location /api {

                        proxy_set_header HOST $host;

                        proxy_pass http://127.0.0.1:3065;

                        proxy_redirect off;

                }

                location / {

                        proxy_set_header HOST $host;

                        proxy_pass http://127.0.0.1:3000;

                        proxy_redirect off;

                }

        }

domain/api/~~ 로 접근시 백엔드에서 주소 처리를 api/user 이런식으로 받아드리는데 이때 api를 빼고 라우팅을 처리하려면 어떻게 설정해야할까요?

혹은 server를 두개 만들어서 하나는 domain.com으로 설정하고 하나는 api.domain.com으로 설정해야 하나요? 만약 그렇다면 이떄 네입서버 설정에서는 api.domain.com에 ip를 어떻게 할당시켜야할까요?

권범수님의 프로필 이미지
권범수
질문자

우선 back쪽 app.js 라우팅 주소에서 앞에 /api추가 하니까 정상적으로 되네요.

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

저렇게 한 서버에 두 개를 띄우시면 다음과 같이 추가하시면 /api 뒷 주소로 넘어갑니다.

rewrite ^/api(/.*)$ $1 break;
제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

서버 두 개로 각각 도메인 따로 주는 경우에는 네임서버에 domain.com과  api.domain.com에 각각 해당하는 인스턴스 ip를 A에 적으시면 됩니다.

권범수님의 프로필 이미지
권범수
질문자

제가 중의적으로 말한 것같네요. 인스턴스는 하나고 nginx http쪽에서 server를 두개 만들면 domain.com과 api.domain.com의 인스턴스ip가 같게 되는데 이 경우에 네임서버 설정을 할 수 있는지 궁금하네요. 예를들면 

server {

                server_name domain.com;

                listen 80;

                location / {

                        proxy_set_header HOST $host;

                        proxy_pass http://127.0.0.1:3000;

                        proxy_redirect off;

                }

        }

server {

                server_name api.domain.com;

                listen 80;

                location /api {

                        proxy_set_header HOST $host;

                        proxy_pass http://127.0.0.1:3065;

                        proxy_redirect off;

                }

        }



이런 식으로요

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

네 바로 그렇게 하시면 됩니다

권범수님의 프로필 이미지
권범수

작성한 질문수

질문하기