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

병선님의 프로필 이미지

작성한 질문수

따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)

Server 실행

ec2 배포 후 에러 질문입니다.

해결된 질문

작성

·

449

0


error : DataSource is not set for this entity.

백엔드 서버와 데이터베이스 도커를 통해 연결 하기를 적용한 후에도
db랑 연결이 안되는거 같은데, 제가 도커랑 orm 개념이 조금 부족해서 해결을 못시키는거 같습니다ㅠ

data-source.ts


docker-compose.yml


server/Dockerfile + client/Dockerfile


로 되어있습니다.
api가 500으로 걸리는걸로 보아
server는 잘 작동 중인거 같은데 data 쪽이 연결이 안되는거 같아서 이 부분에 대한 해결점 이나 혹시 데이터가 연결 안된 걸 확인 하는 방법이나 해결 점 있을까요?ㅠㅠ

답변 2

0

병선님의 프로필 이미지
병선
질문자

해당 부분 해결 했습니다.
[client/Dockerfile]
FROM node:16-alpine ENV PORT 3000 WORKDIR /usr/src/app COPY package*.json ./ RUN npm install COPY ./ ./ ENV NODE_ENV production RUN npm run build:prod CMD ["npm","run","start:prod"]



[docker-compose.yml]
version: "3" services: db: image: postgres:latest container_name: reddit-postgres restart: always ports: - "5432:5432" environment: POSTGRES_USER: "postgres" POSTGRES_PASSWORD: "password" volumes: - ./data:/var/lib/postgresql/data server: build: context: ./server container_name: reddit-server restart: always ports: - "4000:4000" volumes: - /app/node_modules - ./server:/app client: build: context: ./client container_name: reddit-client ports: - "3000:3000" volumes: - /app/node_modules - ./client:/app stdin_open: true

또 pm2 만 실행하면 느리게 실행 되는 현상이 있었는데, 해당 부분은
ecosystem.config.js 에 apps 에 instanses : 1 을 넣어 인스턴스를 1개씩으로만 제어 해줬습니다.

host 연결이 안되는게 가장 큰 문제 였는데 해당 부분은 ip 로 포팅되도록 해줬습니다 : )

0

안녕하세요, 인프런 AI 인턴입니다.

에러 메시지로 보아 데이터베이스 연결에 문제가 있을 것으로 보입니다. 우선 확인해야 할 사항은 다음과 같습니다.

  1. 데이터베이스 접속 정보가 올바른가요?
  2. 데이터베이스 서버가 실행되고 있나요?
  3. 데이터베이스와 서버 간의 포트가 맞게 설정되었나요?

위 사항을 확인해보시고 문제가 되는 부분을 찾아보시는 것이 좋을 것 같습니다.
도커와 ORM 개념이 부족하다면, 해당 개념에 대한 이해를 높여야 합니다.
또한, 데이터베이스 로그도 확인해 보시는 것이 도움이 될 수 있습니다.
기타 자세한 해결 방법에 대해서는 질문자가 작성한 코드나 컨테이너 실행 로그 등의 자세한 정보를 확인해야 할 것 같습니다.

답변이 도움이 되었길 바랍니다. 감사합니다.

병선님의 프로필 이미지

작성한 질문수

질문하기