flask に付属の開発 Web サーバーは、パフォーマンスが非常に低く、応答が遅く、nginx を介して直接リバース プロキシを実行するため、リクエストに応答できないことがよくあります。運用環境で使用でき、優れたパフォーマンスを備え、Flask プログラムをサポートする 2 つのサーバー (Gunicorn と uWSGI) がありますが、これら 2 つのモジュールは Windows をサポートしていません。
したがって、 フラスコを Apache にデプロイできるようにするには、mod_wsgi モジュールを使用する必要があります。mod_wsgi モジュールは、Python で書かれた Apache FastCGI モジュールです。 (推奨学習: apache の使用)
ダウンロード後、解凍して Apache24 を取得し、conf ファイルを開いてテキストで開きます。私は Atom を使用して開きます。ここ。
次に、変更する必要があるものを説明します:
1. ServerRoot "c:/Apache24": 独自のディレクトリ アドレスに変更します
2. Listen 8080: ポート番号.構成を変更すると、一部のユーザーは 80 ポートが占有されていることに気づくかもしれませんが、IIS または SQLserver によって占有されている可能性があります。テストを容易にするためにこのポート番号を変更できます
3. ディレクトリ認証の変更
オリジナル:
<Directory /> AllowOverride none Require all denied </Directory>
修正後:
<Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Allow from all </Directory>
4. ドキュメントのルートパスを独自のファイルパスに変更
DocumentRoot "c:/Apache24/htdocs" <Directory "c:/Apache24/htdocs">
5. Modモジュールの構成(ポイント)
(1) まず、ダウンロードした mod.whl ファイルをインストールします:
pip install <絶対ファイル パス>
(2) インストールが成功したら、次のコマンドを実行します:
mod_wsgi-express module-config
(3) 上記のコマンドが正常に実行されると、次の 3 つの情報を取得できます。
(4) 次に、これらの 3 つの情報を使用して .so ファイルを置き換えて追加します。 apache 設定ファイルへ 媒体:
6. 設定サイト (キーポイント):
# <VirtualHost> definition. These values also provide defaults for # any <VirtualHost> containers you may define later in the file.
私は Apache の設定方法を知らない人間なので、最初に見たのは、参考リンクの設定
次の段落を conf ファイルの最後にコピーし、パスを独自のパスに変更します。
<VirtualHost *:8080 > ServerAdmin example@xx.com DocumentRoot E:\Environment\Apache\Apache24\text_web <Directory "E:\Environment\Apache\Apache24\text_web"> Order allow,deny Allow from all </Directory> WSGIScriptAlias / E:\Environment\Apache\Apache24\text_web\test.wsgi </VirtualHost>
上記のサイト構成手順:
(1) プロジェクト パス( Apache ディレクトリに置く必要はありません):
DocumentRoot E:\Environment\Apache\Apache24\text_web
(2) wsgi モジュール起動ファイル (キーポイント):
WSGIScriptAlias / E:\Environment\Apache\Apache24\text_web\test.wsgi
注: ここの「/」は必須であり、 URL プレフィックスを表します。必要に応じて後で変更できます。
(3) プロジェクト パスの権限: すべてを許可するように設定します
<Directory "E:\Environment\Apache\Apache24\text_web"> Order allow,deny Allow from all </Directory>
この時点で、httpd.conf ファイルは構成されました。
2. 以下にフラスコ プロジェクトの構成を入力します:
プロジェクト ディレクトリ:
1、test.wsgi ファイルの説明:
import sys sys.path.insert(0, "E:/Environment/Apache/Apache24/text_web") #项目路径
from test import app #フラスコ プロジェクトを紹介しますプロジェクト名
application = app #applcation は、wsgin がこれを解析しているため、他のものに変更してはいけません
2. flask のメインファイル
from flask import Flask app = Flask(__name__) @app.route('/hello') def hello_world(): return 'Hello World!' if __name__ == '__main__': app.run()
この時点で、プロジェクトの構成はほぼ完了しています ここで特に注意が必要なのは、wsgi ファイルですプロジェクトの紹介。
3. Apache を起動またはインストールします
管理者モードで cmd を起動し、Apache24 の bin ファイル パスを入力します:
システムにサービスを提供するために Apache をインストールします:
httpd -k install
apache を開始します:
httpd -k start
一部のコンピューターでは、httpd をシステム サービスにインストールせずに httpd.exe を開いて直接実行できることがわかりました。
使用できるその他の Apache コマンド:
Apache サービスの停止:
httpd -k stop
Apache サービスの再起動:
httpd -k restart
この時点で、フラスコプロジェクトは wsgi にパスします Apache サービスがビルドされた後にモジュールがビルドされます。localhost:8080/hello を開いて、helloworld が表示されるかどうかを確認します。まだプロジェクトが正常に構成されていない場合は、Apache のエラー出力ログに注意してください。エラー出力ログは、\Apache24\logs\error.lo
にあります。以上がFlaskとApacheを組み合わせる方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。