公式に載ってるやつだと上手くいかないので特筆。
結論から言うと下記コマンド。
uwsgi --chdir=/path/to/your/project \ --module=mysite.wsgi:application \ --env DJANGO_SETTINGS_MODULE=mysite.settings \ --home=/path/to/virtual/env \ --master --pidfile=/tmp/project-master.pid \ --http=0.0.0.0:8088 \ --processes=5 \ --harakiri=20 \ --max-requests=5000 \ --vacuum \ --buffer-size=32768
socket じゃなくて http。
buffer-sizeの指定が必要。
これやらないと↓のエラーが出る。
# buffer-size指定なしだとuwsgi側のログで↓ invalid request block size: 21573 (max 4096)...skip # httpにしておかないと、ブラウザ側(Chrome)で↓ ERR_EMPTY_RESPONSE
socket指定はnginxでリバースプロキシ構成にしてdjangoにアクセスする場合。
直でブラウザからuwsgi叩く時はhttpにしておかないとダメ。
あとバッファがデフォで4kbで少ないので多めにセットしてあげないとほとんど動かない。
ファイルで指定の場合は↓の感じ。
[uwsgi] chdir=/path/to/your/project module=mysite.wsgi home=/path/to/virtual/env env=DJANGO_SETTINGS_MODULE=mysite.settings http=0.0.0.0:8088 buffer-size=32768 master=true max-requests=5000 processes=3 enable-threads=true vacuum=true env=LANG=en_US.UTF-8