본문 바로가기
반응형

backend20

[NestJS] EC2 배포 시 secretOrPrivateKey must have a value 해결 현재 개발 중이던 프로젝트를 ec2에 올려 테스트 배포를 시도 했다. ec2 인스턴스를 열고 nodejs를 설치하고 깃헙에서 코드를 받아 배포를 했는데... 이런 에러가 떴다. 쉽게 말하면 .env에 있는 jwtConstant라는 환경 변수를 읽는 과정에서 발생한 에러로 JWT 토큰 발행 시 있어야 하는 secret key를 읽지 못해 발생하는 에러이다. 로컬에서는 잘 되었는데... 아마 환경변수를 읽어 오기 전 시크릿 키가 먼저 register 되는 것 같았다. //기존 코드 @Module({ imports:[ JwtModule.register({ global: true, secret: jwtConstants.secret, signOptions: { expiresIn: '1d' }, }), ], con.. 2024. 4. 23.
[Prisma] EC2에서 Property does not exist on type 배포 실패 진행하던 express 프로젝트에서 기능을 추가해 깃허브에 커밋을 하고 ec2에 pull을 받아 다시 build 해서 pm2로 배포하려 하였다. 그랬더니 새로 추가된 부분에서 대량으로 에러가 발생했다. 내충 보자면 Schema Property가 없다는 에러가 발생했다. 해당 에러는 로컬에서 실행할 때에는 발생되지 않는 에러였기 때문에 구글링을 해봤는데 'vscode를 다시 실행해라' 뭐 그런 답변들 밖에 없었다. 결국엔 답을 찾아낼 수 있었는데 npm install 시 prisma가 schema.prisma의 스키마 중 일부를 읽지 못해 정상적으로 property가 세팅되지 않은 상태라고 한다. 따라서 npx prisma generate를 실행시켜 prisma-client를 생성하도록 수정하였다. 이렇게.. 2024. 3. 15.
[NestJS] NestJS Docker 이미지 빌드 기존 진행하던 프로젝트를 도커로 빌드하기 위한 시도. 간단하게 이미지를 만드는거라 어렵진 않다. 먼저 프로젝트 루트 디렉토리에 도커파일을 만들어준다. D는 대문자여야 한다. 그리고 다음과 같이 입력 FROM node:20 WORKDIR /usr/src/app COPY package.json ./ RUN npm install --legacy-peer-deps COPY ./ ./ CMD ["npm","run","start:dev"] 라인 하나하나 설명하자면 제일 첫번째 줄은 베이스 이름을 명시해준다. 도커 이미지를 만들 때는 아예 아무것도 없는 상태에서 만드는게 아니라 어느 정도 기본적인 구성 요소들이 갖추어진 상태의 이미지를 토대로 만들게 되며 이를 베이스 이미지라고 한다. FROM에서 베이스 이미지를 지.. 2023. 12. 19.
[Express]ExpressJS란? Express는 Node.js를 위한 빠르고 개방적인 간결한 웹 프레임워크이다. Node.js의 등장으로 원래는 브라우저 안에서만 쓰이던 자바스크립트가 브라우저 바깥에서도 사용할 수 있게 되었다. 따라서 자바스크립트로 서버도 만들 수가 있게 되었는데 이러한 개발자들이 서버를 쉽게 구성할 수 있게 만든 프레임워크가 바로 Express라고 할 수 있다. 상당히 빠르고 유연하며 개방적이기 때문에 초심자들이 많이 선택하는거 같다. 기본적으로 프레임워크 안에 웹 어플리케이션 서버 구축을 위한 각종 라이브러리와 미들웨어가 내장되어 있기 때문에 개발하기가 편하고 가장 대중화 되어 있어 배우기가 쉽다. 그럼 express를 시작해보자. nodejs가 깔려있다는 가정하에... 먼저 적당한 디렉토리를 연다. 그리고 터미널.. 2023. 12. 6.
반응형