NginxでDjangoアプリにBasic認証をかけた話

以前にも一回やってるのにも関わらず覚えてなくて調べ直したのでメモ。
基本的にはこちらの「Nginx で Basic 認証」という記事に書かれている通りなんだけど、
自分の状況としては「uwsgi+DjangoでWebアプリを動かしててその一部(今回は/myapp/以下とする)にBasic認証をかける」というのがやりたかった。

まずはCentOSではhttpd-toolsというのが必要らしい。
rootで実行。
yum install httpd-tools
で、任意のディレクトリに移動して、
htpasswd -c ./.htpasswd username
パスワードを聞いてくるので確認用含めて2回入力。
これでOK。

複数作るときは
htpasswd ./.htpasswd username2
でいけた。

ここで、「あれ?rootで作って良いのか?」ということに気付く。うっかりである。
仕方ないのでchownでnginx:nginx的なものに変えたりした。

で、/etc/nginx/conf.d/以下の書き換えたいコンフィグのところで
    location /myapp/ {try_files $uri @myapp; }
    location @myapp {
      auth_basic "Restricted";
      auth_basic_user_file /path/to/.htpasswd;
      include uwsgi_params;
      uwsgi_pass unix:/path/to/your/socket.sock;
      proxy_request_buffering off;
    }
location / {  # 以下、通常のコンフィグが続く }
で、OK。
ところでuwsgi周りのコンフィグの書き方、合ってるんだろうか。
ググって書いたので未だに不安である。誰か教えて欲しい。