I use systemctl restart nginx to start nginx and yes it is installed at the default location for Debian 12 which is /etc/nginx
sudo ps -eF | grep nginx
root 1990573 1 0 21665 49384 3 03:12 ? 00:00:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
www-data 1990574 1990573 0 21981 59648 0 03:12 ? 00:00:51 nginx: worker process
www-data 1990575 1990573 0 21981 59924 3 03:12 ? 00:00:51 nginx: worker process
www-data 1990576 1990573 0 21981 59588 3 03:12 ? 00:00:51 nginx: worker process
www-data 1990577 1990573 0 21981 60064 3 03:12 ? 00:00:50 nginx: worker process
root 2052306 2052279 0 1584 2156 1 05:42 pts/0 00:00:00 grep nginx
systemctl status -l --no-pager nginx
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; preset: enabled)
Active: active (running) since Thu 2025-05-15 03:12:10 UTC; 2h 31min ago
Docs: man:nginx(8)
Process: 1990571 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 1990572 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 1990573 (nginx)
Tasks: 5 (limit: 9484)
Memory: 210.2M
CPU: 3min 27.681s
CGroup: /system.slice/nginx.service
├─1990573 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
├─1990574 "nginx: worker process"
├─1990575 "nginx: worker process"
├─1990576 "nginx: worker process"
└─1990577 "nginx: worker process"
May 15 03:12:09 localhost systemd[1]: Starting nginx.service - A high performance web server and a reverse proxy server...
May 15 03:12:10 localhost systemd[1]: Started nginx.service - A high performance web server and a reverse proxy server.
I think i sort of might have hit upon the root cause.
Today i re-ran certbot certificates which you had shared yesterday, and after successfull run, when i scrolled up and saw through the complete logs, i see plenty of errors saying...
Renewal configuration file /etc/letsencrypt/renewal/some-subdomain.floristtouch.com.conf produced an unexpected error: expected /etc/letsencrypt/live/some-subdomain.floristtouch.com/cert.pem to be a symlink. Skipping.
Possibly this might have been caused while migrating servers. Although i would have expected scp to migrate symlinks correctly, but looking at that error, maybe i was mistaken and should have instead taken a tar.gz or rsync for migrating the /etc/letsencrypt folder from the old server to the new one.
As today morning, i again tried to run the same command that failed yesterday after removing all other virtualhosts/server blocks from the server...
certbot renew --dry-run --cert-name www.theflowershop.ie
and it renewed successfully! Infact since dry-run succeeded, i actually went ahead and force renewed it and even that went through successfully.
Now i think its just time for me to clean up some junk and create some automation to force auto renew domains which are failing and cleanup the /etc/letsencrypt/live and /etc/letsencrypt/renewal directories.
Will keep you posted on how things proceed again when i get the maintenance window tomorrow early morning UTC hours.
Appreciate all your help and continous support in coordinating with me to get to the root of this issue.