지금까지 로컬에서만 작업을 했는데, 슬슬 배포할 필요성을 느껴서 일단 AWS 프리티어 EC2에 배포하기로 했습니다.
키페어를 발급받고, 사용할 포트들을 인바운드 규칙에 추가했습니다.
ssh를 통해서 인스턴스에 접속하고, github 저장소를 clone하는데 까지는 문제 없이 진행했습니다.
문제 1.
문제는 pip를 통해서 requirements들을 설치하려는데 발생했습니다.
ERROR: Could not find a version that satisfies the requirement psycopg2==2.8.6
ERROR: No matching distribution found for psycopg2==2.8.6
좀 헤매다가 스택오버플로우에서 구원을 받았는데..
sudo apt-get install postgresql
sudo apt-get install libpq5
sudo apt-get install libpq-dev
리눅스에서 PostgreSQL로 DB를 구성하기 위해서는 libpq5, libpq-dev같은 다른 패키지들도 필요하다고 합니다. 설치 후 다시 pip로 requirements.txt를 설치해주니 문제 없이 설치가 완료됐습니다.
문제 2.
기존에 docker-compose 파일을 이미 작성해놨기 때문에 DB 설정 자체가 큰 문제가 없을 거라고 생각했었는데, docker-compose up 명령어까지는 잘 실행이 되는데, 해당 컨테이너에 접속해 psql로 DB에 로그인하려고 하자 문제가 생겼습니다.
psql: FATAL: role "postgres" does not exist
psql: FATAL: role "root" does not exist
psql -U postgres 로 실행하면 위의 에러가, psql로 실행하면 아래 에러가 발생했습니다.
이것 역시 구글링을 좀 하다가 해결책을 찾았습니다.
psql --username [유저이름] --dbname [db이름]
이런식으로 유저 이름과 DB 이름을 명시적으로 실행시키면 postgres에 잘 접속이 되는 모습이었습니다.
원인은 아마 일전에 docker-compose 파일에서 유저 이름을 지정해놓았었는데, 해당 유저만 생성이 되어 있고 'root' 나 'postgres'같은 유저는 생성되지 않아서 발생하는 문제인 것 같습니다.
아무래도 도커 사용법에 특히 능숙치 않다보니 관련된 공부를 더 해야 하지 않을까 하는 생각이 들었습니다.
끝~
'개발' 카테고리의 다른 글
첫 제품을 배포하고 배운 것들 (0) | 2023.04.24 |
---|---|
내가 2022년에 배운 것들 (0) | 2023.02.12 |
Adobe XD의 line-height는 CSS의 그것과 달라요 (0) | 2022.08.11 |
Stack Overflow와 지식 공유의 즐거움에 대한 이야기 (0) | 2022.05.25 |
'멘탈 모델'에 대한 짧은 생각 (0) | 2022.04.21 |
댓글