I have same issue, I upgrade from catalina to big sur, apache is well for a month, then a restart, apache isn't working.
I follow above,
Change Listen 80 to Listen 127.0.0.1:80 in /usr/local/etc/httpd/httpd.conf
This only make things worse.
I reinstall apache use brew https://getgrav.org/blog/macos-bigsur-apache-multiple-php-versions
same problem, not works above.
Finally, I change back Listen 10,
and
sudo apachectl -k restart
make it works again.
Brew services list is wrong, misleading, not trust.
if I run
brew services list
I got :
Name Status User Plist
httpd error root /Library/LaunchDaemons/homebrew.mxcl.httpd.plist
mysql started gemini /Users/gemini/Library/LaunchAgents/homebrew.mxcl.mysql.plist
You can see httpd is error, in fact, my apache runs well,
so the info here is all wrong.
!!!!!! if apache is not working !!!!!!
run following to fix:
sudo apachectl -k stop
sudo apachectl -k start
or
sudo apachectl -k restart
Check log:
tail -f /usr/local/var/log/httpd/error_log
!!!!!! if apache is not working !!!!!!
change default port to 10:
edit file:
/usr/local/etc/httpd/httpd.conf
change to Listen : 10
server root directory:
DocumentRoot "/usr/local/var/www"