250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- rebase
- django westagram
- typescript
- status code
- 실행 컨텍스트
- Django
- manytomanyfield
- 장고초기세팅
- CORS
- wecode
- Jest
- pm2
- 호이스팅
- 스코프
- 트랜잭션
- 자바스크립트
- 프로미스
- crud2
- docker
- nodeJS
- westagram
- 노드
- OSI7계층
- JWT
- on_delete
- node
- TypeError: this.boardRepository.createBoard is not a function
- bcrypt
- async/await
- javascript
Archives
- Today
- Total
될때까지
((TURTLE HOME)) 프로젝트 배포해보기 본문
728x90
1. AWS 계정 생성하기
2. Application 배포
EC2 서버 생성하기(가상 서버)
- 지역은 서울 선택
- ubuntu 18.04 64bit 선택
- t2.micro 선택
- 보안그룹 설정
- 키 페어 생성 및 다운로드
- 인스턴스 시작
- .pem파일 권한 변경하기
- .pem파일 있는 폴더로 이동하기
- ls 명령어 후 .pem파일 여부 확인하기
- chmod 400 [pem파일이름.pem]
- ssh -i [pem파일이름.pem] ubuntu@공인ip(ec2 서버의 IP4 퍼블릭IP)
RDS 생성하기(데이터베이스)
파라미터 그룹 설정
- 데이터 베이스 생성하기 전 파라미터 그룹 설정
- 파라미터 그룹 패밀리 : mysql5.7
- 파라미터 그룹 편집
- : character_set 검색 후 utf8mb4 사용
- : collat 검색 후 collation_connection은 utf8mb4_general_ci 선택
- : collat 검색 후 collation_server는 utf8mb4_unicode_ci선택
- 변경 사항 저장
데이터 베이스 생성
- 엔진 옵션 MySQL 5.7.26 선택
- 프리 티어
- DB 인스턴스 식별자 : first-db or wecode-db
- 마스터 사용자 이름 root로 변경
- 스토리지 자동 조정 활성화 체크 해제
- 퍼블릭 액세스 가능 예 선택
- VPC 보안 그룹 새로 생성 및 이름 작성, 가용 영역 2a
- DB 파라미터 그룹 위에서 생성한 파라미터 그룹 선택
- 자동 백업 비활성화
- 생성하면 엔드포인트가 보임
덤프뜨기
- 덤프 뜨기 : mysqldump -u root -p [DB이름] > [파일이름.sql]
- mysql -h [호스트주소] -u root -p
- aws 데이터베이스 비밀번호 입력
- 데이터베이스 생성하기 - DB가 있어야만 밀어넣기 가능
- create database [DB이름] character set utf8mb4 collate utf8mb4_general_ci;
- exit
- 덤프 밀어넣기 : mysql -h [호스트주소] -u root -p [DB이름] < [파일이름.sql]
EC2 + RDS 연동 gunicorn 배포
- pem파일이 있는 폴더로 이동
- pem파일 이용해서 SSH로 EC2에 접속 : ssh -i [pem파일이름.pem] ubuntu@공인ip
- 미니콘다 우분투용 설치(설치 주소 복사)
- wget [복사한 주소]
- ls 명령어로 설치 내역 확인하기 (예 : Miniconda3-latest-Linux-x86_64.sh)
- chmod +x [Miniconda3-latest-Linux-x86_64.sh]
- ./[Miniconda3-latest-Linux-x86_64.sh]
- 미니콘다 설치
- 모두 yes
- source .bashrc 입력하면 명령라인 앞에 (base) 생성
- sudo apt-get update
- sudo apt-get upgrade
- sudo apt-get install gcc
- sudo apt-get install libmysqlclient-dev
- conda create -n [가상환경이름] python=버전이름
- conda activate [가상환경이름]
- git clone [레포지토리 주소]
- pip install -r requirements.txt 로 모두 설치하기
- pip freeze 로 패키지 설치 내역 확인하기
- vi my_settings.py 작성하기
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'DB이름',
'USER': 'root',
'PASSWORD': 'DB 비밀번호',
'HOST': '[SSH주소]',
'PORT': '3306',
}
}
SECRET = {
'secret': '시크릿키',
}
- settings.py의 ALLOWED_HOSTS에 ['*', 'IP주소', 'IP주소:8000'] 추가
- python manage.py runserver 0:8000 후 포스트맨으로 확인하기
구니콘 설치하기
- pip install gunicorn
- nohup gunicorn --bind=0.0.0.0:8000 [프로젝트명].wsgi &
- ps ef | grep python으로 PID가 몇인지 확인할 수 있음
- 포스트맨으로 확인 후 kill [PID번호] 구니콘 꼭 종료하기
- nohup gunicorn --bind=0.0.0.0:8000 [프로젝트명].wsgi 입력해서 구니콘 정상종료 확인 가능
728x90
'프로젝트 > wecode1차 : TURTLE-HOME' 카테고리의 다른 글
((TURTLE HOME)) 프로젝트 코드 살펴보기 (1) | 2022.10.03 |
---|---|
((TURTLE HOME)) 위코드 1차 프로젝트 회고록 (0) | 2022.07.30 |
((TURTLE HOME)) 11일차 : ProductListView filtering refactoring (0) | 2022.07.30 |
((TURTLE HOME)) 10일차 : ProductListView filtering(price) (0) | 2022.07.28 |
((TURTLE HOME)) 9일차 : ProductListView filtering(size) (0) | 2022.07.27 |