Common nginx configuration for static websites with generated files (like hugo), custom installation script and large files stored in different folder.
Nginx Configuration
# /etc/nginx/sites-enabled/xxx.example.com
server {
listen 80;
server_name xxx.example.com;
root /var/www/xxx.example.com/html/public; # generated static websites
index index.html;
rewrite ^/sh$ https://other.company.com/install.sh permanent; # custom installation scripts
location / {
try_files $uri $uri/ =404;
}
location /storage {
root /var/xxx.example.com/html; # large files stored in parent folder.
try_files $uri $uri/ =404;
}
}