Install apache2-utils (Debian, Ubuntu) or httpd-tools (RHEL/CentOS/Oracle Linux):
apt install apache2-utils
Create password file:
htpasswd -c /etc/apache2/.htpasswd user1
You can confirm that the file contains paired usernames and hashed passwords:
cat /etc/apache2/.htpasswd
In vhost configuration add condition:
location /my-restricted-directory {
    auth_basic           “Administrator’s Area”;
    auth_basic_user_file /etc/apache2/.htpasswd; 
}
Validate nginx conf:
nginx -t
Reload nginx:
service nginx reload
Done.