Dash : <waitress>Windows Serverで動かすには?
| 登録日 | :2023/04/09 11:42 |
|---|---|
| カテゴリ | :python dash |
<メモ1 waitress>
参考になるかわからいが、DjangoをWindows Serverで動かす方法のヒントが下記サイトにあり
https://www.rinsymbol.net/entry/2022/03/13/191249
基本的には、Dashもgunicornで動かしているので同じ手法がつかえるかも。
上記さいとでは"waitress"というものを使ている。
pip install waitress
my_projectをポート8000で起動する
$ waitress-serve X:\any_folder\my_project --port=8000 my_project.wsgi:application
(WindowsPCでテストした結果)
上記では少々問題ありでした
https://stackoverflow.com/questions/62788628/modulenotfounderror-no-module-named-fcntl
$ waitress-serve --listen=*:8000 wsgi:application
結果的に上記のコマンドでうまくいきました。
(Flaskでのwaitress利用だが、ヒントになりました)
https://qiita.com/enya314/items/eda0c76842d6b59b4280
ところで、waitressはWindowsの場合ではPowerShellなどで立ち上げる必要がありそうです。
サービス化出来ないかも考えましたが、githubにある実行ファイルを使ってやる方法しか今のところ
調べられていません。
本番環境でのセキュリティルールなどを考えると使いにくいなと思うので、
PowerShellをバックグラウンド実行することで運用するのはどうかな、と考えています。
https://cheshire-wara.com/powershell/ps-cmdlets/system-service/start-process-window/
・waitressインストール
pip3 install waitress
PS C:\Users\user\OneDrive\Desktop\Study\my_study\python\dash> C:\Users\user\AppData\Local\Programs\Python\Python39\Scripts\waitress-serve --listen=*:8000 wsgi:application
INFO:waitress:Serving on http://[::]:8000
INFO:waitress:Serving on http://0.0.0.0:8000
ヒントとして、gunicornはWindowsPCでは使えませんでした。やはりwaitressが必要。
ただし、wsgi.pyファイルや、Dashコードの書き方は全く同じでOKです。