Flask 앱을 Digital Ocean의 앱 플랫폼에 배포하는 방법
4074 단어 pythondigitaloceantutorialflask
1부: Flask 앱의 환경 설정
1단계: 컴퓨터에 가상 환경 만들기
$ virtualenv venv -p Python3
2단계: 가상 환경 활성화
$ source venv/bin/activate
3단계: Flask 및 gunicorn 설치
$ pip install Flask gunicorn
4단계: requirements.txt 파일에서 요구 사항 고정
이제 Flask 패키지를 설치했으므로 App Platform이 나중에 설치할 수 있도록 이 요구 사항과 해당 종속 항목을 저장해야 합니다. 이제 pip를 사용하여 이 작업을 수행한 다음 정보를 requirements.txt 파일에 저장합니다.
$ pip freeze > requirements.txt
5단계: app.py에 Flask 앱용 코드를 작성합니다. 다음은 간단한 "hello world"앱입니다.
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
파트 2: Gunicorn 구성 설정
프로덕션 환경에서는 Flask의 내장 서버를 사용할 수 없으므로 Gunicron 웹 서버Why Nginx/Gunicorn/Flask?를 사용하겠습니다.
While lightweight and easy to use, Flask’s built-in server is not suitable for production as it doesn’t scale well and by default serves only one request at a time.
Source: Flask's docs
1단계: gunicorn 구성 파일 만들기
$ touch gunicorn_config.py
2단계: gunicorn_config.py 파일에 이 구성 추가
# inside gunicorn_config.py
bind = "0.0.0.0:8080"
workers = 2
파트 3: GitHub에 사이트 푸시
Digital Ocean 앱 플랫폼이 작동하는 방식은 GitHub 리포지토리와 동기화된다는 것입니다. 이 GitHub 리포지토리에 대한 모든 변경 사항은 Digital Ocean의 앱 플랫폼에 있는 앱에 자동으로 푸시됩니다.
1단계: GitHub.com에서 새 리포지토리 만들기
브라우저를 열고 GitHub로 이동하여 프로필로 로그인하고 flask-app이라는 새 리포지토리를 만듭니다.
2단계: 그런 다음 .gitignore 파일을 만들고 이 파일이 GitHub에 푸시되지 않도록 .pyc를 추가합니다.
$ git init
$ nano .gitignore
# inside .gitignore
.pyc
3단계: 리포지토리에 파일 추가 및 변경 사항 커밋
$ git add app.py gunicorn_config.py requirements.txt .gitignore
$ git commit -m "Initial Flask App"
4단계: 이전에 생성한 GitHub 리포지토리를 원격 리포지토리로 추가
$ git remote add origin https://github.com/your_username/flask-app
예: git remote add originhttps://github.com/ajot/hbb-flask-webhook
5단계: GitHub에 푸시
$ git branch -M main
$ git push -u origin main
4부: Digital Ocean의 앱 플랫폼에 배포
보너스 팁: Digital Ocean에서 환경 변수를 설정한 다음 다음과 같이 코드에서 액세스할 수도 있습니다.
airtable_api_key = os.environ.get('airtable_api_key')
airtable_base = os.environ.get('airtable_base')
자원:
How To Deploy a Flask App Using Gunicorn to App Platform | DigitalOcean
Reference
이 문제에 관하여(Flask 앱을 Digital Ocean의 앱 플랫폼에 배포하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ajot/how-to-deploy-a-flask-app-to-digital-oceans-app-platform-goc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)