프로덕션 환경의 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 서비스 파일에서 수행됩니다.