nginx 3

아마존 리눅스2 - 아나콘다 - Gunicorn - nginx - git 을 이용한 장고(django)서버 배포(4)

1. 장고가 들어있는 폴더의 소유자와 그룹을 모두 ec2-user 로 바꾸어준다 chown ec2-user:ec2-user {프로젝트 폴더 이름} 2. 장고의 settings.py안의 디버그 모드를 꺼 주어야 한다. DEBUG = False 3. 제대로 실행되는지 확인, 로그가 뜨고 아무런 에러가 나지 않으면 정상 실행되고 있는것이다. gunicorn --bind 127.0.0.1:8000 server.wsgi:application 4. gunicron 소켓파일 생성 , 소켓 유저가 프로젝트 소유자 인지 확인해 준다(기본값은 root) sudo vi /etc/systemd/system/gunicorn.socket [Unit] Description=gunicorn socket [Socket] ListenS..

아마존 리눅스2 - 아나콘다 - Gunicorn - nginx - git 을 이용한 장고(django)서버 배포(1)

회사의 인프라를 대대적으로 교체하면서 ec2 인스턴스는 아마존 리눅스 가상환경은 아나콘다 WSGI 미들웨어로는 Gunicorn 웹 서버로는 nginx를 사용하기로 했다. 현재 회사의 인스턴스 OS는 ubuntu 18버전 으로 지원이 중단된 이미지 이기도 했고, 인프라 및 자료 구조 관리가 제대로 안된탓에(DB와 다른 VPC, 배포를 위한 무수한 삽질의 흔적, 이용하고 있지 않지만 설치되어있는 무수한 가상환경과 라이브러리들, 어느순간부터 git으로 관리되고 있지 않는 프로젝트) 사실상 새로 만들어서 관리하는 편이 성능 개선에 있어 빠를것으로 예상되었다. 가상환경 설정은 고작 웹 서버를 돌리는데 아나콘다는 무겁지 않냐는 생각을 할 수 있으나, 회사의 자동견적 프로젝트가 아나콘다 채널에서 관리되는 python..

Django 리눅스에 배포(우분투)

1. requirements.txt 생성 python freez 2. 우분투 패키지 & 파이썬 설치 sudo apt-get update sudo apt-get install build-essential sudo apt-get install python3 sudo apt-get install python3-pip sudo pip3 install --upgrade pip 3. 키 생성 ssh-keygen -t rsa 4. 생성된 ssh 퍼블릭키(id_rsa.pub) 를 깃헙의 Deploy keys에 등록, 리포지토리를 git clone으로 가져온다. 5. virtualenv 설치 & 실행 sudo apt-get install virtualenv virtualenv -p python3 venv . venv/b..