STEP 1. Git에 프로젝트 업로드
로컬에서 작업한 프로젝트를 git에 업로드한다.
내가 만든 AWS 서버에 가져올 프로젝트는
git에 올라간 프로젝트 소스코드를 clone해서
가져오기 때문이다.
STEP 2. 로컬 프로젝트 RDS 연결
AWS EC2 서버에서 사용할 데이터베이스를
미리 만들어서 로컬 프로젝트에 연결작업을
해놓는다. AWS서버에서 작업을 진행해도 되지만,
미리 셋팅을 다 진행한다.
STET 3. AWS서버에서 git project 가져오기
git clone SSH link
AWS 서버에 프로젝트를 clone해서 가져온다.
새로운 디렉토리가 생기고, 로컬에서 작업하고,
git에 올렸던 프로젝트가 그대로 서버에 담긴다.
STEP 4. 가상환경 구축
sudo apt install virtualenv
AWS 서버에 가상환경을 구축한다.
먼저 virtualevn를 설치해준다.
서버에서 설치하는 모든 작업은
sudo명령어를 붙여서 진행한다.
혹시나 모를 해킹에 대비하기 위해서 최상위
권한을 부여해서 작업하는 것이다.
가상환경을 activate하는 방법은
source bin/activate
명령어를 사용한다.
STEP 5. requirements.txt 일괄 설치
pip install -r requirements.txt
sudo python3 -m pip install --ignore-installed requirements.txt
로컬 프로젝트에서 생성한 설치 txt파일을 불러와서,
필요 모듈들을 일괄적으로 AWS 서버에 설치한다.
이미 설치된 모듈이 존재하면 --ignore-installed 문으로
무시하면서 설치해줘야한다. 이유는 설치되어 있는 모듈을
삭제하는 과정에서 Error를 반환하기 때문이다.
**** psycopg2 에러 핸들링****
만약 데이터베이스를 postgreSQL를 사용한다면
psycopg2 모듈을 설치해야 한다. 일괄적으로 모듈을
설치하는 과정에서 분명 psycopg2 설치 에러가 발생한다.
이 에러가 발생하는 이유는 AWS 서버에 psycopg2모듈을
위한 필수 모듈이 설치되어 있지 않기 때문이다. 보기만 해도
무시무시한 에러메세지가 출력된다.
사전 필요모듈
먼저 가상환경에 설치된 python3에서 pip을 업그레이드해준다.
python3 -m pip install --upgrade pip
root 권한으로 python3-pip 모듈을 설치해준다.
sudo apt-get install python3-pip
해결방법 1
psycopg2 모듈 대신에 psycopg2-binary 모듈을 사용하는 것이다.
pip install psycopg2-binary
해결방법 2
필수 모듈을 설치해주고, 그 다음 psycopg2 모듈을 설치한다.
sudo apt install libpq-dev python3-dev
이제 psycopg2 설치가 정상적으로 진행된다.
STEP 6 서버 테스트
AWS에서 가상환경을 activate 한다.
manage.py 파일을 담고 있는 디렉토리로 이동한다.
python3 manage.py runserver 0.0.0.0:8000
서버를 가동해서 실제 접속가능여부를 확인한다.
메인 페이지가 렌더링 되면 성공이다.
'Programming' 카테고리의 다른 글
AWS에 크롬드라이버 설치 selenium 돌리기 (0) | 2022.01.18 |
---|---|
웹 애플리케이션 서버 생성 및 배포하기 Nginx uWSGI unix socket django python AWS ubuntu server (0) | 2022.01.17 |
Django AWS 배포하기 4 (0) | 2022.01.16 |
Django AWS 배포하기 2 (0) | 2022.01.15 |
Django AWS 배포하기 1 (0) | 2022.01.14 |
[python] django MultiValueDictKeyError (0) | 2022.01.14 |
댓글