1. GCP (Google Cloud Platform)
Goolgle의 클라우드 플랫폼 서비스
2. GCP 프로젝트 생성
① Compute Engine -> VM 인스턴스 메뉴 클릭 -> 프로젝트 생성
② 프로젝트 안에 인스턴스 생성
③ 부팅 디스크 (운영체제) 설정
④ 방화벽 설정
⑤ Cloud 서비스로 VM 인스턴스(가상머신)가 실행됨
1. 인스턴스 실행
2. GCP 서버 구성
sudo yum -y install epel-release
sudo yum -y install https://repo.ius.io/ius-release-el7.rpm
sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
② python 3.6 버전 설치 (django project는 3.7)
sudo yum -y install python36u python36u-devel python36u-pip
③ django_practice.zip 업로드 및 압축해제
sudo yum -y install unzip
unzip django_practice.zip
④ virtualenv 가상환경 구축
sudo pip3 install virtualenv
python3 -m virtualenv virtualenv
source virtualenv/bin/activate
⑤ 필요 패키지 설치 (django, DRF)
pip install django==2.1.*
pip install djangorestframework==3.10.2
⑥ settings.py DB 설정
str(BASE_DIR / 'db.sqlite3') # 또 다른 해결방법
1. GCP 외부 IP
2. GCP runserver
python3 manage.py runserver 0.0.0.0:8000
3. GCP CentOS 7 방화벽 설정
sudo systemctl stop firewalld
4. GCP 클라우드 방화벽 설정
5. Django 배포 설정
1. WSGI (Web Server Gateway Interface)
Python 의 표준 Gateway Interface
2. UWSGI
WSGI 규칙을 따라서 만들어진 소프트웨어이며 정적인 웹 서버(Apache / Nginx)와 Python으로 작성된 Web Framework(Flask / Django) 사이의 통신을 지원
3. Djnago 동작 과정 (원리)
Client <-> Nginx <-> uWSGI <-> Django
4. uwsgi 설치
sudo yum -y install gcc
pip install uwsgi
5. 데몬 실행
nohup uwsgi --http :8000 --home ~/virtualenv --chdir ~/django_practice --module django_practice.wsgi &
6. 접속 화면