Notice
Recent Posts
Recent Comments
Link
혜야의 코딩스토리
Linux 환경에 Django 프로젝트 배포하기: gunicorn과 supervisor 사용법 본문
Windows(개발)에서 작성한 소스 코드를 WSL(Linux/개발)에 배포하거나
WSL(Linux /개발)에서 작성한 소스코드를 AWS(Linux /운영)에 배포하는 단계를 정리해둔 글입니다.
* 먼저 프로젝트의 소스 코드를 배포하려는 서버에 업로드합니다.
(가상환경 폴더 제외)
* 배포서버의 프로젝트의 경로로 이동합니다.
# 제 프로젝트의 경로는 이렇답니다..
cd home/사용자/projects/프로젝트명
* 프로젝트 경로에서 venv를 이용하여 가상환경을 생성합니다.
python3 -m venv 가상환경 이름
* 가상환경을 실행합니다.
source "가상환경 이름"/bin/activate
* python 패키지를 설치합니다.
(requirements.txt파일은 개발서버에서 명령어를 통해 만들면 됩니다.)
pip install -r requirements.txt
* gunicorn을 설치합니다.
pip install gunicorn
* supervisor를 설치합니다.
sudo apt-get update
sudo apt-get install supervisor
* supervisor conf 파일을 생성합니다.
deactivate (가상환경 실행 종료)
cd /etc/supervisor/conf.d
* supervisor conf 파일에 아래 정보를 입력 후 저장합니다.
sudo vi 프로젝트명.conf
[program:프로젝트명]
command=/home/사용자/프로젝트명/가상환경 이름/bin/gunicorn 프로젝트명.wsgi:application --bind 127.0.0.1:8001
directory=/home/사용자/프로젝트명
user=사용자
autostart=true
autorestart=true
stdout_logfile=/var/log/프로젝트명/gunicorn.log
stderr_logfile=/var/log/프로젝트명/gunicorn.err.log
environment=LANG="ko_KR.UTF-8",LC_ALL="ko_KR.UTF-8"
* 로그 폴더를 생성합니다.
cd /var/log
sudo mkdir 프로젝트명
sudo chown 사용자.사용자 ./프로젝트명/
* supervisor를 적용합니다.
sudo supervisorctl reread
sudo supervisorctl update
* supervisor를 실행합니다.
sudo supervisorctl start 프로젝트명
*가장 자주 쓰는 명령어입니다.
sudo supervisorctl restart all
* 실시간으로 에러 로그를 확인할 수 있습니다.
tail -f /var/log/프로젝트명/gunicorn.err.log
설치 끝! 개발 시작 🍀
'꿈 : 멋진 개발자 🧸 > Python' 카테고리의 다른 글
[Python] pip로 requirements.txt 생성 및 설치 (0) | 2024.09.20 |
---|