バックグラウンドで、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はUbuntu 18.04 LTSを実行しています。

答え1

必要なバージョンのPythonの仮想環境を追加して作成されたシンボリックリンクを使用してソリューションを見つけました。

F

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

そして環境変数を指定します。

Environment=FLASK_APP=app.py

これは作業ディレクトリでもあります(app.pyを識別する必要があります)。

これはすべてsystemdサービスファイルで行われます。

関連情報