백그라운드에서 VPS의 가상 환경(VENV)을 사용하여 Python Flask 애플리케이션을 실행합니다.

백그라운드에서 VPS의 가상 환경(VENV)을 사용하여 Python Flask 애플리케이션을 실행합니다.

프로덕션 환경의 VPS에서 Flask 애플리케이션을 실행하려고 합니다. 문제는 VPS 패키지를 변경할 수 없으며 python3.5기본적으로 인터프리터를 사용한다는 것입니다. 내 애플리케이션을 실행하는 데 필요한 버전 python3.6은 이상입니다.

해결책은 가상 환경을 사용하여 운영 체제의 종속성을 건드리지 않고 필요한 종속성을 제공하는 것입니다.

venv내 질문은 내 플라스크 응용 프로그램을 서비스로 활성화하고 실행하는 방법입니다 (시작 및 중지). 애플리케이션을 시작하는 데 사용하는 명령은 간단합니다.

source venv/bin/activate
FLASK_APP=app.py flask run --host 0.0.0.0  

노트:내 VPS는 우분투 18.04 LTS를 실행합니다.

답변1

필요한 Python 버전에 대한 가상 환경을 추가하여 생성된 심볼릭 링크를 사용하여 솔루션을 찾았습니다.

에프

ExecStart=/root/project/venv/bin/python3.6 -m flask run

그리고 환경 변수를 지정합니다.

Environment=FLASK_APP=app.py

이는 작업 디렉터리이기도 합니다(app.py를 식별해야 함).

이 모든 작업은 systemd 서비스 파일에서 수행됩니다.

관련 정보