[NestJS] 기본 설치 및 폴더구조 알아보기
·
BE
이번 포스팅에서는 간단히 NestJS 폴더 설치하는 방법과 초기 보일러 플레이트 구조에 대하여 설명해보겠다. 🤔 NestJS 가 무엇인지??NestJS는 Backend 프레임워크 중 하나이며, 자바스크립트 환경에서 돌아간다. 자바스크립트 기반으로는 node express가 가장 대표적이지만 NestJS는 express에서 지원하는 기능들을 다 지원받을 뿐 아니라 DI 를 지원해주는 프레임워크이기에 express보다 더 큰 규모에서 많이 쓰인다고 볼 수 있다.무엇보다 스프링 부트의 많은 기능들을 가져와 쓰고 있기에 (70% 정도) 스프링 부트를 하던 사람들이 NestJS 를 접했을 때 상당히 유사하다고들 한다..! ❕들어가기전에 다른 백엔드 프레임워크도 알아보자자바, 파이썬, 자바스크립트의 대표적인 백엔..
[GCP/배포]scp 사용하여 배포 스크립트 작성하기
·
BE
서버 내에서 npm run build 를 통하여 배포를 하는 것보다는 로컬에서 해당 명령어를 사용하여 빌드된 파일을 서버 안에 덮어 씌어주는 방법이 더 안정적이라 생각하여 관련 스크립트를 만들게 되었다.로컬의 파일을 서버 내로 전송해주는 명령어가 scp 라고 한다. full command 로는 다음과 같다.scp -i ~/.ssh/[ssh_key] -r [빌드 된 폴더] [서버계정명]@[서버IP]:/[전송해줄경로(절대경로)]예를 들어, ssh 키 명이 test이고, 빌드된 폴더가 /dist 폴더, 서버 내부에 덮어쓸 경로가 /home/project/dist 라고 하면 다음과 같이 적을 수 있을 것이다.scp -i ~/.ssh/test -r ./dist test@0.0.0.0:/home/project프로젝..
[GCP/nginx] SSL 인증서 발급받아 직접 로드밸런서 설정해주기
·
BE
이전편에서는 gcp 내 부하분산을 이용하여 로드밸런서 ip 를 발급받는 방법에 대하여 설명하였다.해당 메뉴를 이용하면 인스턴스 그룹에 대한 인증서를 발급받고, backend 의 특정포트로 연결시킬 수 있다. 그런데...개인적으로 로드밸런서 비용이 나가는 것을 참을 수 없었다 (꽤 비싼..🤑)그래서 웹 서버 내에서 nginx로 cerbot 인증서를 발급 받아 로드밸런서 설정을 직접 해주기로 결정하였다! 다음은 내가 참고한 블로그 글들이다.curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443 Nginx에서 SSL 적용해서 https 로 접속 되게 해볼까? 🌈 1) Nginx로 certbot 설치 및 인증서 발급나..
[GCP/DNS] 도메인 DNS사용하여 등록하기 (+로드밸런서 생성)
·
BE
도메인 생성이 되었다면, 이제는 해당 도메인을 누군가가 입력하였을 때에 해당 도메인을 할당된 ip 특정 포트로 연결해 주는 로드밸런서를 설정할 차례이다! GCP의 경우 '부하분산'이라는 메뉴로 이해하면 된다!DNS 를 설정하려면, 먼저 GCP에서 제공되는 앱을 사용하여야 한다. (사용하게 되면 소정의 요금이 발생한다는 점을 유의하라) GCP 콘솔 Cloud DNS API 바로가기 Google Cloud consoleGoogle Cloud 콘솔에서 www.gstatic.com의 자바스크립트 소스를 로드할 수 없습니다. 가능한 원인은 다음과 같습니다. 네트워크 관리자가 www.gstatic.com 또는 IP 주소를 차단합니다.과도한 자동 요청으로console.cloud.google.com 내가 참고했던 블로..
[GCP/Domain] GCP 에서 도매인 구매하고 등록하기 (미국 리전으로..)
·
BE
구글 도메인에서 나와있는 안내대로 도메인을 구매하려고 스터디하였다.결론부터 말하자면,….. 구글 도메인 등록이 아직 한국은 지원이 안된다… 스터디한 것을 토대로 작성 중이기 때문에, 구매하는 방법 등은 아래에 정리해 두겠다. Google Cloud 튜토리얼 - Cloud DNS를 사용하여 도메인 설정 튜토리얼: Cloud DNS를 사용하여 도메인 설정  |  Google Cloud의견 보내기 튜토리얼: Cloud DNS를 사용하여 도메인 설정 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 이 가이드에서는 도메인 등록, 샘플 웹 서버 설정, Clocloud.google.com 도메인을 구매하기 전, 프로젝트 생성, 결제 설정, API 사용 설정이 올바르게 되어있는지 확인해 ..
[GCP]방화벽 설정 및 연결 테스트
·
BE
스스로 삽질하며🥲 겪었던 일들을 정리하는 기분으로 기록해 보겠다.GCP에 대한 전반적인 내용들은 앞선 포스팅에 다 기록해 두었으니 참고하기에 좋을 것이다 😉GCP 서버에 ssh 접속을 하였고, pm2로 서버를 실행하였다면 이제는 해당 서버가 잘 동작하는지 확인해 보자.나의 경우, Node 서버의 포트번호를 7000번으로 설정하였다. 👻 1) 서버 접속 후 pm2 실행 명령어 플로우 정리앞서 정리하였던 것들은 다음의 플로우로 다시 적어보겠다.//ssh 로 서버 접속하기.ssh -i ~/.ssh/[ssh 키 이름] [ssh 만들었던 계정명]@[GCP 외부 아이피]// 혹은 ssh [프로젝트명]//서버 접속 후, 프로젝트 폴더로 접근 후 pm2 실행pm2 start ecosystem.config.js /..
[GCP/PM2] pm2로 Node.js 에 대한 프로세스 관리하기 (2)
·
BE
pm2는 Node.js 데몬 프로세스 매니저로 무중단 서비스를 제공하거나 클러스터링, 원격관리, 모니터링 등 관리에 필요한 유틸들을 함께 제공해 준다고 한다.익숙하지 않은 사람들에게는 간단히... 서버가 에러로 인해 꺼졌을 때 다시 켜주는 점..? 등등의 이점이 있다고 설명드릴 수 있다.다음 블로그에서도 아주 잘 설명이 되어있다.https://engineering.linecorp.com/ko/blog/pm2-nodejs 🌟 1) pm2 설치해 주기pm2를 설치하기 전에, 프로젝트 환경에서 먼저 빌드를 해준 후 설치해 보자.npm run build // 실행해주어 dist/main.ts 를 생성해주자npm install -g pm2@latest // 최신 버전으로 설치하기위까지 진..
[GCP] Node.js 및 웹 서버 배포하기 (1)
·
BE
ssh 키의 경우 rsa 방식으로 공개키/개인키를 만들어준다. GitHub이나 서버 접속할 때, 개인의 공개키를 해당 서버에 등록해 둔 후, 개인키로 복호화하여 접근할 수 있는 방식이다.이번에는 GCP에 ssh 키를 생성하여 등록한 후, 맥북 터미널에서도 GCP에서 생성한 VM 인스턴스에 접근하는 방법에 대하여 포스팅해 보겠다.  ☁️ 1) ssh 키 생성하기다음과 같이 퍼블릭 키와 프라이빗 키를 생성한다.ssh-keygen -t rsa -f ~/.ssh/ssh_key -C "이메일 계정"//간단하게는 단순히 ssh-keygen 후 키가 생성될 때까지 enter 치면 된다. (비밀번호x, 그 외 등등 생성 무시하기)위 경로를 통해 새로 만들었거나, 기존에 있었다면 다음의 명령어로 확인이 가능하다.ls -..
[GCP/SSH] 맥북 터미널(iTerm2) 로 GCP SSH 접속하기
·
BE
ssh 키의 경우 rsa 방식으로 공개키/개인키를 만들어준다. GitHub이나 서버 접속할 때, 개인의 공개키를 해당 서버에 등록해 둔 후, 개인키로 복호화하여 접근할 수 있는 방식이다.이번에는 GCP에 ssh 키를 생성하여 등록한 후, 맥북 터미널에서도 GCP에서 생성한 VM 인스턴스에 접근하는 방법에 대하여 포스팅해 보겠다. 😎 1) ssh 키 생성하기다음과 같이 퍼블릭 키와 프라이빗 키를 생성한다.ssh-keygen -t rsa -f ~/.ssh/ssh_key -C "이메일 계정"//간단하게는 단순히 ssh-keygen 후 키가 생성될 때까지 enter 치면 된다. (비밀번호x, 그 외 등등 생성 무시하기)위 경로를 통해 새로 만들었거나, 기존에 있었다면 다음의 명령어로 확인이 가능하다.ls -a..
[GCP] Compute Engine의 VM 인스턴스 생성하기
·
BE
나의 개인 프로젝트이기도 한 커리어허브의 백엔드를 GCP로 올렸었는데, 이번 시리즈부터는 GCP에 가입하고 Nodejs 환경을 세팅하고, 로드밸런서 설정, 배포까지의 모든 기록들을 포스팅해보고자 한다.(여담이지만 프런트의 경우 Netlify로 올렸다...ㅎ) 그럼 바로 들어가겠다!🤟🏻 1) GCP 접속하여 가입해 주고 결제정보 등 등록하기최초로 가입했을 경우, 3개월 간 300 크레디트를 제공해 준다. 🤟🏻 2) 프로젝트 수정하기 / 만들기처음에는 my-first-project로 되어있을 텐데, 하위 경로를 통하여 이름을 편집할 수 있다.시작페이지 > 우측 상단 '더보기' > 프로젝트 설정 > 프로젝트명 수정 프로젝트를 새로 만들고 싶다면 아래 경로에서 만들 수 있다.좌측 '더보기' > IAM 및..