django15 Django, gunicorn + nginx를 사용하여 안정적으로 배포(Ubuntu) 0. 개요 Django로 웹 애플리케이션을 개발했다면, 이제 프로덕션 환경에서 안정적으로 배포하고 사용자에게 서비스를 제공해야 할 때입니다. 개발 서버인 python manage.py runserver로는 충분하지 않습니다. 이 블로그 게시물에서는 Django 애플리케이션을 Gunicorn과 Nginx를 사용하여 프로덕션 환경으로 안전하게 배포하는 방법을 소개합니다. 거의 필수 겠지만 AWS EC2 등과 같은 클라우드 환경에서 진행하셔야 24시간 구동 가능한 서버를 만들 수 있습니다. 1. Gunicorn Gunicorn(Green Unicorn)은 Python 웹 애플리케이션을 서빙하기 위한 WSGI HTTP 서버 개발 서버보다 안정적이며 병렬 처리를 지원하여 높은 트래픽을 처리 2. Nginx Ngi.. 2024. 4. 7. Django 배포의 시작, 웹 서버 선택하기:Ngnix vs Apache(Ubuntu, Apache 에러날 경우 아래 링크 확인) 0. 개요 Django애플리케이션 배포를 도와는 툴에는 Nginx와 Apache가 있다고 한다. 이 두 툴은 무엇을 하는지 차이는 무엇인지 알아보자. 1. Apache 1) Apache란? 인터넷을 통해 액세스되는 웹 콘텐츠를 제공하기 위해 개발 월드 와이드 웹의 초기 성장에 핵심적인 역할 개방형 개발자 커뮤니티에서 개발 및 유지 관리하는 오픈소스 소프트웨어 연결을 수락하고 동시성을 관리 특정 Apache 배포는 보안 기능, 동적 콘텐츠 관리 또는 기본 HTTP 요척과 같은 다양한 모듈을 포함하도록 구성할 수 있다. 2. Nginx 1) Nginx이란? Apache 웹 서버의 성능 제한을 해결하기 위해 특별히 자성 성능과 확장성은이벤트 드라이브 n 아키텍처에서 비롯. Apache의 연결당 프로세스 또는 .. 2024. 4. 7. EC2, Django 연동 1. EC2 인스턴스는 키고 끌 때마다 IP 주소가 변경되기 때문에, 고정 IP를 위해서 elastic IP주소를 할당 탄력적 IP 주소 할당 2. SSH접속 Bitvise SSH Client를 사용, 키페어 import, 할당받은 IP주소와 22번 포트, username ubuntu EC2 환경구성 sudo apt-get update sudo apt-get upgrade sudo apt-get install python3-pip sudo pip install django virtuallenv를 사용하기 위해 EC2에서 virtualenv를 구성 pip install virtualenv virtualenv -p python3 venv_for_django source venv_for_django/binac.. 2024. 4. 7. Django, 사용자가 로그인 했는지 확인하는 decorator 0. 인증과 인가 인증: 사용자의 신원을 증명하는 것 인가: 인증과 달리 액세스 권한을 확인하는 프로세스 Django에서 권한 확인을 도와주는 데코레이터에 대해서 알아보자. 1. view.py 1) 적용된 데코레이터 @login_required(login_url='accounts:login') 을 작성해주면된다. ..... ..... from django.contrib.auth.decorators import login_required @login_required(login_url='accounts:login') def answer_create(request, question_id): """ pybo 답변 등록 """ question = get_object_or_404(Question, pk=questi.. 2024. 4. 7. Django, 탬플릿 태그를 활용하여 DB에 등록된 데이터 출력 및 페이징네이션 0. 개요 DB에 데이터를 저장하는 부분은 생략합니다. models.py from django.db import models from django.contrib.auth.models import User # Create your models here. class Question(models.Model): author = models.ForeignKey(User, on_delete=models.CASCADE) subject = models.CharField(max_length = 200) content = models.TextField() create_date = models.DateTimeField() def __str__(self): return f'{self.subject}' 1. view.py fr.. 2024. 4. 7. Django, Django 프로젝트의 환경 및 구성 설정을 담고 있는 중요한 파일 settings.py 0. 개요 Django 프로젝트를 시작하면 생성된 파일 중 settings.py를 볼 수 있다. 제목에 설명한 것과 같이 settings.py는 Django 프로젝트의 환경 및 구성 설정을 담고 있는 중요한 파일이다. setting.py의 주요 설정 요소에 대해 알아보자 1. 주요 설정 요소 1) DEBUG 개발 중에는 True로 설정하여 디버깅 정보를 표시 프로덕션 환경에서는 보안을 위해 Flase로 설정 2) INSTALLED_APPS 프로젝트에서 사용하는 Django 앱을 나열 기본 앱과 사용자가 만든 앱 또는 서드 파티 챕을 여기에 추가 3) MIDDELWARE 요청과 응답 사이에서 동작하는 미들웨어를 정의 보안, 세션 관리, CORS등 다양한 기능을 위한 미들웨어를 설정 4) DATABASES .. 2024. 4. 7. 이전 1 2 다음