uwsgi (4) 썸네일형 리스트형 [Flask] python-dotenv로 개발/배포 환경 분리하기 python-dotenv 패키지로 개발/배포 환경 분리하기 개발 과정중에 환경변수를 매번 변경해주는 작업은 여간 귀찮은게 아니다. python-dotenv를 사용하면 개발 환경과 배포 환경의 환경변수를 자동으로 세팅할 수 있다. 간단한 Flask 어플리케이션을 예제를 통해 환경변수를 설정해보자. 개발환경 설정 다음과 같은 파일 구조를 가진 Flask 어플리케에션에 환경 변수를 설정해보자. . ├── myproject ├── __init__.py └── function1.py └── run.py Flask 어플리케이션이 잘 작동하는지 확인하기 위해 route에 글자를 띄우는 어플리케이션을 만들어보자. # myproject/__init__.py from flask import Flask def app(): .. [Nginx] ubuntu 환경에서 Flask 배포하기 (Github, uWSGI, Socket) ubuntu 환경에서 Flask 배포하기 (Github, uWSGI, Socket) 사전준비 패키지 매니징 툴 apt(Advance Packging Tools) 업데이트 $ sudo apt update Git에서 소스코드 다운로드 1. Git 설치 $ sudo apt install git 2. Git 초기화 프로젝트를 시작하고 소스 코드를 Git으로 관리하고자 한다면 먼저 git init으로 저장소를 초기화 해야 한다. 저장소로 사용하고자 하는 디렉터리로 이동한 다음 git init을 실행한다. $ git init 3. 소스코드 주소 복사 GIhub 홈페이지에서 가져올 프로젝트 주소 복사 (프로젝트 화면 > Code > Code > Clone > HTTPS) 4. git clone $ git clone .. [WSGI] WSGI란? WSGI (Web Server Gateway Interface) python으로 작성한 Django, Flask와 같은 웹 프레임워크에서 Apache, Nginx 같은 웹 서버와 통신할 때 사용하는 프로토콜이다. WSGI 특징 1. 파이썬 스크립트가 웹 서버와 통신하도록 도와준다. 2. 웹 서버와 웹 애플리케이션 사이에 위치한다. 🔮 웹 서버 - Apache, Nginx - 웹 서버는 html, image등 정적인 파일, 소스 등을 처리함 🔮 웹 앱 - Django, Flask와 같은 파이썬 프레임 워크 - 동적인 요청을 처리해서 웹 서버에 처리한 결과를 돌려줌 WSGI는 서버와 앱 사이에서 callable object를 통해 웹 서버 요청해 대한 정보를 웹 앱에 전달 CGI 2003년까지 사용하던 파이.. [Nginx] 504 Gateway Time-out 504 Gateway Time-out Nginx의 uwsgi time_out 은 디폴트 설정이 60s이다. 불러올 데이터가 많은 특정 API를 부르는 도중에 60초가 초과되어 사이트에서 에러를 뿜었다. 임시방편으로 Time-out 시간을 별도로 설정해주었다. Time-out 시간은 Client와 Nginx의 통신, uWSGI와 Flask 서버의 통신 두 경우 모두 설정해주었다. Nginx 설정 파일 수정 (nginx.conf) 리눅스 서버에서 sudo 명령어를 사용해서 nginx.conf 파일을 수정 가능한 상태로 열어주고, /etc/nginx$ sudo nano nginx.conf 다음과 같이 타임아웃 관련 명령문을 추가해했다. http{ proxy_connect_timeout 300; proxy_re.. 이전 1 다음