組み込み開発サーバーを使わない理由
本番環境には実際のWSGIサーバーが必要です
「組み込み開発サーバーを使わない理由」はCoddyKit上の無料Flask Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはFlask Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Flask Academyコースには全4レッスンが含まれています。
ここまで動かしてきたサーバー
flask run を実行すると、Flask は小さな組み込みサーバーを起動します。学習には最適ですが、実際のユーザーに公開するためのものではありません。🚦
Flask 自身がそう警告している
起動時に Flask が表示する警告を確認してください。これは開発用サーバーであり、本番のトラフィックには使用しないよう明記されています。
WARNING: This is a development server.
Do not use it in a production deployment.一度に1リクエスト
デフォルトでは、開発用サーバーはほぼシングルスレッドです。1つの遅いリクエストによって、ほかの訪問者も順番を待たされることがあります。
本当の並行処理がない
実際のサイトでは、多数のユーザーを同時に処理します。開発用サーバーには、負荷を CPU コア間に分散する適切な worker モデルがありません。
悪意のある入力向けには作られていない
開発用サーバーは、公開インターネット向けに強化されていません。セキュリティが弱いため、不正なリクエストや悪意のあるリクエストの標的になりやすいです。
エラーが大きく表示される
デバッグモードでは、エラーによって完全なトレースバックがブラウザーに直接表示されることがあります。開発者には便利ですが、本番環境では攻撃者への贈り物になります。
WSGI の登場
Python の Web アプリは、WSGI という規約を通じてサーバーと通信します。Flask は WSGI に対応しているため、準拠したサーバーであればアプリを実行できます。
本番用サーバーが追加するもの
本番用のWSGI サーバーは、複数のワーカー、クラッシュ時の再起動、調整されたタイムアウトを提供します。高い負荷の下でも稼働し続けるように設計されています。
アプリの変更はほとんど不要
良い知らせがあります。ビューはそのまま使えます。flask run を呼び出す代わりに、本番用サーバーからapp オブジェクトを指定するだけです。
# wsgi.py
from myapp import app # the WSGI callableGunicorn という選択肢
このコースの残りでは、実績のあるWSGIサーバーであるGunicornでFlaskを配信し、それをDockerで包みます。
開発用サーバーにも役割があります
だからといって、flask runを削除するわけではありません。ローカルでは、即時リローダーと分かりやすいエラーを利用できる開発用サーバーを使い続けてください。
確認問題
本番環境で組み込みサーバーを避けるべきなのはなぜですか?
まとめ
開発用サーバーは学習用であり、公開用ではありません。本番環境では、WSGIアプリをGunicornのような実際のサーバーに渡します。次は、それを実際に行います。🚀
AI チューターと学ぶ Python — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 30
- レッスン
- 120
よくある質問
「組み込み開発サーバーを使わない理由」レッスンは無料ですか?
はい。「組み込み開発サーバーを使わない理由」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Flask Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Flask Academyコースには全4レッスンが含まれています。
「組み込み開発サーバーを使わない理由」で何を学びますか?
本番環境には実際のWSGIサーバーが必要です ブラウザで直接実行するハンズオンコードでFlask Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Flask Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのFlask Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「組み込み開発サーバーを使わない理由」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このFlask Academyレッスンでコードを書いて実行できますか?
はい。すべてのFlask Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 組み込み開発サーバーを使わない理由
- GunicornでFlaskを実行する
- 本番用Dockerfileを書く
- NginxとComposeを前段に置く