Setting up basic authentication in Nginx is pretty easy, you need to first add couple of directives in block config, you can out them directly in the server if you want the whole site not be accessible or just on some parts-
auth_basic "Restricted Content"; auth_basic_user_file /etc/nginx/.htpasswd;
Then in the .htpasswd file add the user and use openssl to generate hash for the chosen password –
echo "password" | openssl passwd -apr1 -stdin