web-dev-qa-db-ja.com

WindowsでNginxの背後にWSGI / Pythonアプリをデプロイする方法は?

Linux環境から来たので、私が明らかに習得していないWindowsの概念をできるだけ正確にしようとします。

これが私の現在の状況です:

  • 機能的なWindows(10プロx64)Nginxセットアップがあります
  • コンピュータ名をFQDNとして使用して、httpsでうまく機能しています(静的ファイルには https:// computer-name/filenames からアクセスできます)
  • 私のPython Flaskアプリはうまく機能し、スタンドアロンで、または waitress のおかげでWSGIとして提供できます。

そして、これが私の問題です:

どのように-可能か-WSGIアプリをNginxのサーバー構成にバインドする方法がわかりません。よく書かれた Linuxのデジタルオーシャンチュートリアル を考えると、私の問題はおそらくステップ5と6の間のどこかにあります。.sockリンク、またはそれは明らかに正しい方法ではありませんか?

それが正しい方法だとしたら、その方法をどこで学べばよいのか、それを達成するための主なステップは何なのかわかりません。たとえば、UNIXソケットは現在Windowsでサポートされているようですが(方法はわかりません)、名前付きパイプを使用する必要があります(しかし...方法がわかりません)。

私が何も見逃さないことを願って、あなたの助けに感謝します。

編集:

この質問 に触発され、プロキシパスを設定することができます。それは固い解決策ですか?

1
Glandalf313

ウェイトレスのドキュメントによると:

unix_socket Unixソケットのパス(文字列)。ソケットパスを指定すると、通常のinetドメインソケットの代わりにUnixドメインソケットが作成されます。

Windowsでは使用できません。

名前付きパイプから実行する代わりに、ローカルポートで実行し、nginxでそのポートをリバースプロキシできます。したがって、DigitalOceanの記事のステップ6を実行する代わりに、これを行うことができます。

location / {
    proxy_pass http://127.0.0.1:8000;
    proxy_set_header Host $Host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Host $Host:$server_port;
    proxy_set_header X-Forwarded-Port $server_port;
}

そして、waitress serve Windowsスケジュールタスクへのコマンド ここを参照


お役に立てれば。

2
Shahriar Shojib