I have a server using Ubuntu Server 22.04 LTS with nginx and php supported for a long time. Today, after I fire a regular update by using apt update, apt upgrade and a reboot, my web server is down.
When checking the status of nginx, it reports that port 80 is taken:
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Unknown error)
And the lsof command
lsof -i -P -n | grep LISTEN
reports that port 80 is used by apache2. That’s really weird. This server never has apache configured or started. Who wanna run apache aside nginx in a production environment, uhh?
By checking the log of apt, I found that php8.1 is upgraded with a library named libapache2-mod-php8.1 installed automatically. I don’t find any log related to apache installation. Maybe the apache2 is preinstalled for a very long time but never initiated but the libapache2-mod-php8.1 upgrading process triggered it on.
After I purge apache2* and libapache2-mod-php8.1, the nginx can be restarted without any problem.