これ何度かハマってます。。。
今回はDockerコンテナ内のルートディレクトリの階層を動かしてハマりました。
原因なのですが、文字通り「Pythonアプリケーション(DjangoやFlask)が見つからなかったよ」と言っています。
uwsgiってnginxとDjangoを繋ぐものなので、リクエストがNginxまでは行き着いたものの、Djangoまでは行けませんでしたという感じですね。
これの原因は、基本的にはuwsgi.iniにあるようです。
・・・ここまではすぐにわかるんですよね。
問題は、「じゃあuwsgi.iniってどう書くのが正解なんだ??」と調べてみると何やら書き方が多種多様
どれをやれば動くか試行錯誤するしかなく・・・
いまだにどれが正解だかはわかっていません。
が、今回はどうやって解決したかというと
chdirで、mysite_project(Djangoの一番上の階層。その下にmysite_appがあって、その階層の中にsettings.pyなどが入ってる構成です)を指定しました。
ちなみになぜかchdirを絶対pathで書いても動かなかったです。(謎)
↓実際に動いたuwsgi.iniの参考です。
[uwsgi]
chdir=mysite_project
module=mysite_app.wsgi
socket=:8001
py-autoreload=1
daemonize=/etc/uwsgi/log/mysite_app.log
buffer-size=65536