gunicorn + nginxの設定については、も重要であり、最終的にどのような構成が正しいことを確認するために、それらの間の関係は非常に重要であることを理解し、
nginxの設定ファイル:
設定ファイルには便利な3つを持って変更します。
サーバ自体を想定すると、IPアドレスIP-Aと呼ばれ、gunicornはフラスコのIPはIP-Bで表される、127.0.0.1で始めたとき、私は書くのに使用されます
1.私は、ブラウザのHTTPに入力すると:// IP-A:// IP-B:ポート(nginxのポート)、nginxのは、HTTPにアドレスポイントを訪問するポート(ポートを開始gunicorn)
だから我々は、ページの内容が実際に甲斐フラスコルートページをgunicornされていることがわかり
そのビュー機能app.route(「/」)デコレータに装飾機能は、ページの内容を返します。
そして、この関係はnginx.conf設定ファイルにそれを設定する方法体を反映しますか?
メインはproxy_passを設定することです
パラメータ:
- ポートをリスニング聞く必要があります
- server_nameはドメイン名が、バインドされるIPを使用し、一時的にドメインなし
- 場所/時間のルートへのアクセスは、転送127.0.0.1:8000へのすべての要求が、そう、中間の構成は、上記の最も基本的なニーズを満たすために、コンテンツを転送される始めgunicornジャンゴアプリケーションを本明細書に転送する場合、特別な要件については、自分自身のnginxの上の公式ドキュメントを参照してください。
- 場所/静的/静的ファイル、処理による静的ファイルのnginxのは、ダイナミックではなく、すべてが参照サイトを見つけることができませんCSS設定JS場合、Djangoに転送パスを設定
ここでバックアップを作成するには、完全な設定ファイル:
1 #コンフィギュレーションの詳細については、以下を参照してください。 2 # *公式英語ドキュメント:http://nginx.org/en/docs/ 3 # *公式ロシアのドキュメント:http://nginx.org/ru/docs/ 4 5 ユーザーnginxの。 6 worker_processes自動; 7 error_logには/ var / log / nginxの/ error.logで。 8 PID /実行/ nginx.pid。 9 10 位動的モジュールをロードします。/usr/share/nginx/README.dynamicを参照してください。 11が挙げを/ usr / share / nginxの/モジュール/ * の.conf。 12の 13 イベント{ 14 worker_connections 1024; 15 } 16 17 HTTP { 18 LOG_FORMAT主 ' $ REMOTE_ADDR - $ REMOTE_USER [$ time_local "$要求" ' 19 'の$状態の$ body_bytes_sent "$ HTTP_REFERER" ' 20 ' "$ HTTP_USER_AGENT" "$ HTTP_X_FORWARDED_FOR" ' 。 21 22 のaccess_logの/ var / / nginxの/ログメインのaccess.log。 23 24 sendfileの上。 25 TCP_NOPUSH上。 26 ;上のTCP_NODELAY 27 keepalive_timeout 65 。 28 types_hash_max_size 2048 ; 29 30 の/ etc / nginxの/含むのmime.typesと、 31 default_typeアプリケーション/ octet- ストリーム。 32個の 33 #/etc/nginx/conf.dディレクトリからロードモジュール構成ファイル。 34 位http://nginx.org/en/docs/ngx_core_module.html#include参照 35 #の詳細については。 図36は /etc/nginx/conf.d/*含むの.confと、 37 38 サーバ{ 39 8001聞くDEFAULT_SERVER。 40は [::]聞く:8001 DEFAULT_SERVERを。 41 SERVER_NAME 10.2.1.92 。 42 ルートを/ usr / share / nginxの/ HTML。 43個の 44 #デフォルト・サーバ・ブロックのためのロード設定ファイル。 45は /etc/nginx/default.d/*含むの.confと、 46 47 位置/ { 48 proxy_pass http://127.0.0.1:8000 。 49 proxy_set_headerホスト$ホスト; 50 proxy_set_header X-Forwarded- $ proxy_add_x_forwarded_forについては、 51 } 52 53 error_page 404分の404 の.html。 54 位置= / 40x.html { 55 } 56 57 error_page 500 502 503 504 / 50x.html。 58 位置= / 50x.html { 59 } 60 } 61の 62 #のTLS対応サーバーの設定。 63 # 64 #の サーバー{ 65 位 443 SSL HTTP2 DEFAULT_SERVERを聞きます。 66 位 聞く[::]:443 SSL HTTP2 DEFAULT_SERVER。 67 # SERVER_NAME _; 68 # ルートは、/ usr / share / nginxの/ htmlの。 69 # 70 # ssl_certificate "/etc/pki/nginx/server.crt"。 71 # ssl_certificate_key "/etc/pki/nginx/private/server.key"。 72 # ssl_session_cache共有:SSL:1メートルを。 73 #の ssl_session_timeoutの10メートル。 74 # のssl_ciphers HIGH:aNULL:!MD5; 75 # ssl_prefer_server_ciphersに。 76 # 77 # デフォルト・サーバ・ブロックのための#ロードの設定ファイル。 78 位 /etc/nginx/default.d/*.confを含みます。 79 # 80 # 場所/ { 81 # } 82 # 83 # error_page 404 /404.html。 84 # 位置= /40x.html { 85 # } 86 # 87 # error_page 500 502 503 504 /50x.html。 88 # 位置= /50x.html { 89 # } 90 # } 91 92 }
これは重要なデバッグコマンドであります:
設定エラーを避けるために、元のファイルをバックアップするための設定ファイルnginx.conf 1.フロント、できないことも、ソース
2.構文の問題があるかどうか、変更したファイルをnginx.confチェックするためのコマンドを使用します
nginxの-t sudoの#設定を確認します
設定が正しいことを確認
gunicornによってフラスコプロジェクトを開始
まず、フラスコプロジェクト、およびプロジェクトがすでにwsgi.py起動ファイルを設定されているディレクトリに切り替えます。
次のようにwsgi.py文書が読み取ります。
アプリインポートcreate_appの アプリケーション = create_app() もし __name__ == ' __main__ ' : application.run()
gunicornと仮想環境をアクティブ化
[ルート@ 67ボトルデモ] #lsvirtualenv automationVenv ============== flaskApi ======== rlcVenv ======= [ルート@ 67ボトルデモ] #のworkon flaskApi
正しいことを確認するためにnginxの設定(ワードが正しく設定され成功を表してご覧ください)
[67 nginxの@ルート] #nginxの-t 構文/etc/nginx/nginx.conf設定ファイルは:nginxのですOK nginxの構成ファイルの /etc/nginx/nginx.confテストがあり成功
お使いのブラウザはhttpに入力します:// IP:ポートを実行しているnginxのは、nginxのは、スタートページを参照して成功した実行のnginxを示し、
nginxの再起動のコマンドを実行します。
[ルート@ 67 nginxの] #のサービスnginxの再起動 / binに/ systemctl再起動nginx.serviceへのリダイレクト
設定を確認する次へ:
お使いのブラウザでIPアドレスを入力します。http://10.2.1.92:8001 /ユーザー
/ユーザIは、ページフラスコプロジェクトを定義しました。
プロジェクトビュー定義されたコンテンツをfalsk参照してください、それはつまりnginxの+ gunicorn良い構成との間の関係:
flaskDemoプロジェクト住所:
https://github.com/wangju003/flaskDemo.git
参照文献:
https://baijiahao.baidu.com/s?id=1616440047552092518&wfr=spider&for=pc
https://www.jianshu.com/p/5600af9ff238