• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

한 서버에 백엔드와 프론트 둘 다 배포하려면 어떻게 해야하나요?

20.10.06 12:17 작성 조회수 2.15k

0

하나의 서버에 배포하기 이런 식으로 검색을 해보고 있는데요.

참고할만한걸 찾지 못해서 여쭤봅니다.

조언좀 부탁드립니다.

답변 3

·

답변을 작성해보세요.

0

 location = / {

                        # handle root

                        if ($request_uri != "/") {

                                # ensure $query_string and $is_args are not allowed

                                return 403 "<h1>403: query_string not allowed</h1>\n";

                        }

                 }

이 부분이 굳이 필요한가요?? 이 부분을 제거하고 nginx 서버 재시작하면 실행될 것 같습니다.

0

최종호님의 프로필

최종호

질문자

2020.10.06

한 서버에 둘 다 두고 pm2로 각각 실행시켰습니다.

그리고 nginx로 아래와 같이 설정했는데요.

아래 주소로는 들어가지는데요

http://dev-life.kr/api/

아래 주소로는 들어가지지 않는 상황입니다.

http://dev-life.kr/

이게 강의영역은 아니라서 물어보는게 실례지만

조언좀 부탁드립니다.

server {

                server_name dev-life.kr;

                 location = / {

                        # handle root

                        if ($request_uri != "/") {

                                # ensure $query_string and $is_args are not allowed

                                return 403 "<h1>403: query_string not allowed</h1>\n";

                        }

                 }

                location / {

                            proxy_set_header HOST $host;

                            # proxy_set_header X-Forwarded-Proto $scheme;

                            proxy_pass http://127.0.0.1:3060;

                            proxy_redirect off;

                }

                 location /api/ {

                             # 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 Host $http_host;

                                proxy_set_header X-NginX-Proxy true;

                             rewrite ^/api/?(.*) /$1 break;

                            # proxy_set_header X-Forwarded-Proto $scheme;

                             proxy_pass http://127.0.0.1:3065;

                             proxy_redirect off;

                 }

        }

0

일단 제 강좌에서 nginx와 letsencrypt까지 보셨다는 전제 하에 설명드리겠습니다. 하나의 서버에 프론트와 백엔드 소스 둘다 두시고 프론트는 3060 백엔드는 3065로 제 강의처럼 실행하시면 됩니다.

그 후 nginx 설치하시고 도메인 발급받으시고 certbot으로 https발급받으신 후 제 블로그 글

https://www.zerocho.com/category/NodeJS/post/5ef450a5701d8a001f84baeb

대로 /etc/nginx/nginx.conf 또는 /etc/nginx/sites-available/default 수정하시면 됩니다.