Я работаю над убунту. Я получил сообщения об ошибках при попытке перезапустить apache.
root@XXX:/etc/init.d# sudo /etc/init.d/apache2 restart
* Restarting web server apache2 apache2: Could not reliably determine the server's fully qualified domain name, using xxx.xxx.xx.xxx for ServerName
httpd (no pid file) not running
apache2: Could not reliably determine the server's fully qualified domain name, using xxx.xxx.xx.xxx for ServerName
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
При попытке я получил следующее сообщение netstat -pant
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 0 32748 9950/httpd
tcp 429 0 xxx.xxx.xx.xxx:80 xxx.xxx.xx.xxx:xxxxx CLOSE_WAIT 0 0
Из поста некоторых других людей, это связано с тем, что какое-то приложение связывает порт 80, поэтому просто введите killall httpd, затем apachectl start, чтобы все снова стало нормально.
Использовать lsof -i :80
{проверьте правильность параметра). В нем перечислены все приложения, которые прослушивают порт 80.
Также попробуйте запустить apache2 {непосредственно исполняемый файл}, чтобы проверить, что происходит.
использовать pgrep apache2
чтобы получить список процессов
Просто убейте apache pid (я думаю, что это убить 9950)
а затем попробуйте /etc/init.d/apache2 start
По крайней мере, для меня эта проблема была вызвана установкой nginx в том же сеансе (но я передумал и вместо этого установил apache). После того, как я удалил nginx, выключил веб-клиент apache, запустил его снова, а затем перезапустил (не перезагружая и не запускал, не перезапускал) службу, она работала нормально.