#Flask は、学習と使用が簡単で、非常に強力で柔軟なスケーラビリティを備えた軽量の Python Web フレームワークであるため、多くの Web 開発者の最初の選択肢となっています。 Web 開発に Flask を使用してアプリケーションを完成させたら、アプリケーションをサーバーにデプロイする必要があります。この記事では、Flask アプリケーションのデプロイメントの手順とテクニックを紹介し、すぐに開始できるように具体的なコード例を示します。
sudo apt-get update sudo apt-get install python3 python3-pip python3-venv
python3 -m venv venv
このうち、venv
は仮想環境の名前であり、アプリケーションのニーズに応じて置き換えることができます。作成が成功したら、次のコマンドを使用して仮想環境をアクティブ化できます。
source venv/bin/activate
pip install -r requirements.txt
このうち、requirements.txt
は、依存ライブラリの名前とバージョン番号を格納するファイルです。次のコマンドを使用して、依存ライブラリのリストを生成できます。
pip freeze > requirements.txt
config.py
ファイルを作成し、そこに構成情報を書き込むことができます。 class Config: DEBUG = True SECRET_KEY = 'secret key' SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://username:password@localhost/db_name'
このうち、SQLALCHEMY_DATABASE_URI
はデータベースに接続するための URL です。実際の状況に応じて変更する必要があります。
さらに、サーバーにデプロイする場合、アプリケーションを運用モードで構成し、デバッグ モードを無効にする必要があります。次の構成を config.py
ファイルに追加できます。
class ProductionConfig(Config): DEBUG = False config = ProductionConfig()
サーバー上でも、ファイアウォール設定を変更し、アプリケーション ポートを開く必要があります。次のコマンドを使用してルールを追加できます。
sudo ufw allow 5000
このうち、5000
はアプリケーションのデフォルトのポート番号であり、必要に応じて変更できます。
flask run --host=0.0.0.0 --port=5000
このうち、--host
パラメータはアプリケーションの IP アドレスを指定し、--port
パラメータはアプリケーションのポート番号を指定します。応用。外部ネットワークからアプリケーションにアクセスするには、0.0.0.0
をサーバーのパブリック IP アドレスに置き換える必要があります。
sudo apt-get install nginx
インストールが完了したら、/etc/nginx/sites-available
ディレクトリに myapp
などの構成ファイルを作成できます。
server { listen 80; server_name example.com; root /path/to/app; location / { proxy_pass http://127.0.0.1:5000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } location /static { alias /path/to/app/static; } }
このうち、example.com
はサーバーのドメイン名または IP アドレス、/path/to/app
はアプリケーションのルート ディレクトリです。 。構成ファイル内の location /static
は静的ファイルのパスを表しており、アプリケーションのニーズに応じて変更する必要があります。
構成ファイルを作成した後、それを /etc/nginx/sites-enabled
ディレクトリにリンクし、Nginx を再起動する必要があります。
sudo ln -s /etc/nginx/sites-available/myapp /etc/nginx/sites-enabled/ sudo nginx -s reload
sudo apt-get install supervisor
インストールが完了したら、/etc/supervisor/conf.d
ディレクトリに myapp.conf
などの構成ファイルを作成します。
[program:myapp] directory=/path/to/app command=/path/to/venv/bin/gunicorn -w 4 -b 127.0.0.1:5000 app:app user=user autostart=true autorestart=true redirect_stderr=true
このうち、/path/to/app
はアプリケーションのルート ディレクトリ、/path/to/venv
は仮想環境のルート ディレクトリです。 , user
は、サービスを実行しているユーザーです。
設定ファイルを作成した後、次のコマンドを使用してスーパーバイザを起動できます。
sudo supervisorctl reread sudo supervisorctl update sudo supervisorctl start myapp
このうち、myapp
は設定ファイルのプログラム名です。
pip install gunicorn
インストールが完了したら、次のコマンドを使用してアプリケーションのルート ディレクトリで Gunicorn を起動できます。
gunicorn -w 4 -b 0.0.0.0:5000 app:app
其中,-w
参数表示工作进程的数量,-b
参数表示绑定的IP地址和端口号,app:app
表示应用的模块名和应用对象。
以上がすぐに始めましょう: Flask アプリケーションのデプロイメントの手順とヒントの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。