[장고] 리액트 연동하기 (배포편) - 파이썬애니웨어
PythonAnywhere는 이러한 배포 작업을 쉽게 수행할 수 있는 플랫폼입니다. 이 글에서는 PythonAnywhere를 사용하여 장고와 리액트 기반의 포럼 사이트를 배포하는 단계를 자세히 설명합니다. 각 단계별로 필요한 설정과 명령어를 포함하고 있어, 초보자도 쉽게 따라 할 수 있습니다.
1. 파이썬애니웨어에서 장고 프로젝트 설정
파이썬애니웨어 계정 생성 및 로그인
먼저, PythonAnywhere에서 계정을 생성하고 로그인합니다.
새로운 장고 웹 애플리케이션 설정
- PythonAnywhere 대시보드에서 "Web" 탭을 클릭합니다.
- "Add a new web app" 버튼을 클릭합니다.
- Python 3.8(또는 원하는 Python 버전)을 선택합니다.
- 장고를 선택하고 **"manual configuration"**을 선택합니다.
2. 장고 프로젝트 업로드
프로젝트 파일 업로드
"Files" 탭을 클릭합니다.
로컬 컴퓨터에서 프로젝트 파일을 업로드하거나, GitHub 저장소에서 프로젝트를 클론합니다.
- GitHub에서 프로젝트를 클론하는 경우:
git clone <repository-url>
가상 환경 설정
"Consoles" 탭을 클릭하고 Bash 콘솔을 엽니다.
가상 환경을 생성하고 활성화합니다.
python3.8 -m venv myenv source myenv/bin/activate
필요한 패키지를 설치합니다.
pip install django djangorestframework gunicorn pip install -r requirements.txt # requirements.txt 파일이 있는 경우
3. 장고 설정 파일 수정
settings.py
수정
데이터베이스 설정: SQLite를 사용하거나, MySQL 등의 데이터베이스를 설정합니다.
ALLOWED_HOSTS 설정:
ALLOWED_HOSTS = ['your-username.pythonanywhere.com']
wsgi.py
설정
PythonAnywhere의 WSGI 설정에 맞게 wsgi.py
파일을 수정합니다.
4. 정적 파일 설정
정적 파일 수집
python manage.py collectstatic
5. 리액트 빌드 파일 업로드
리액트 프로젝트 빌드
로컬에서 리액트 프로젝트를 빌드합니다.
npm run build
빌드 파일 업로드
파이썬애니웨어 파일 관리 탭을 사용하여 frontend/build
디렉토리의 파일을 장고 프로젝트의 적절한 위치에 업로드합니다.
6. 파이썬애니웨어 웹 애플리케이션 설정
WSGI 파일 설정
PythonAnywhere 대시보드의 "Web" 탭에서 **"WSGI configuration file"**을 엽니다. 기본 설정을 다음과 같이 수정합니다.
import sys
import os
# 가상 환경 설정
path = '/home/your-username/your-project'
if path not in sys.path:
sys.path.append(path)
os.environ['DJANGO_SETTINGS_MODULE'] = 'your_project.settings'
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
7. 데이터베이스 마이그레이션 및 슈퍼유저 생성
데이터베이스 마이그레이션
Bash 콘솔에서 다음 명령어를 실행합니다.
python manage.py migrate
슈퍼유저 생성
python manage.py createsuperuser
8. 웹 애플리케이션 재시작
PythonAnywhere 대시보드의 "Web" 탭에서 "Reload" 버튼을 클릭하여 웹 애플리케이션을 재시작합니다.
요약
- 파이썬애니웨어에서 새로운 장고 웹 애플리케이션을 설정합니다.
- 프로젝트 파일을 파이썬애니웨어에 업로드하고, 가상 환경을 설정합니다.
- 장고 설정 파일을 수정하고, 정적 파일을 수집합니다.
- 로컬에서 리액트 프로젝트를 빌드하고, 빌드 파일을 파이썬애니웨어에 업로드합니다.
- 파이썬애니웨어의 WSGI 설정 파일을 수정하고, 데이터베이스 마이그레이션 및 슈퍼유저를 생성합니다.
- 웹 애플리케이션을 재시작하여 배포를 완료합니다.
이 과정을 통해 장고와 리액트 기반의 포럼 사이트를 파이썬애니웨어에 성공적으로 배포할 수 있습니다.
결론적으로, 이 가이드는 PythonAnywhere를 사용하여 장고와 리액트 기반의 웹 애플리케이션을 배포하는 전 과정을 다루고 있습니다. 단계별로 제공된 지침을 따르면, 누구나 쉽게 자신만의 포럼 사이트를 온라인에 배포할 수 있을 것입니다. 이제 여러분도 이 가이드를 참고하여 PythonAnywhere에서 손쉽게 웹 애플리케이션을 배포해 보세요!