/etc/webmin/virtual-server/bw.pl is run by cron, which loads /usr/share/webmin/virtualmin-nginx/virtualmin-nginx-lib.pl at some point, which complains about the Nginx config I have. (Yes, I have made some customisations to the configs.)
The errors are
Invalid Nginx config line fastcgi_cache_path /var/cache/nginx/fcgicache levels=1:2 keys_zone=fcgicache:100k max_size=10M inactive=3h ;
Invalid Nginx config line listen [2600:3c00::20:c00f] ;
Invalid Nginx config line rewrite ^/code/(.*) /2code/webbzr.php?path=$1 ;
However, these are valid configs. Just because Virtualmin doesn’t know how to handle them (I’m surprised it doesn’t net know how to handle ipv6 listen addresses and rewrites, I understand the fastcgi_cache may be a little out of it’s depth).
Confirming that Nginx understands the valid configs
Testing nginx configuration: nginx.
I believe in previous versions of Virtualmin (errors only started after updating a few days ago) it just ignored config lines it didn’t understand. Ideally it should continue to ignore them, or be modified to understand when they are valid or not.