У меня установлен Debian 9 (устройство Bitnami) с системой обучения Moodle и темой Lambda. У нас включен https. Я попытался защитить сервер apache в соответствии с лучшими практиками, и последние две вещи, которые я изменил, - это добавление «FileETag None» в некоторые файлы конфигурации и установка apachetop для мониторинга веб-сервера. Я полагаю, что установка apachetop вызвала эту проблему. Когда я ввожу ip в браузере, я получаю начальный экран веб-сервера apache, но веб-страница не работает.
Когда я пытаюсь запустить apache, я получаю следующее:
root@debian:/etc# sudo /opt/bitnami/ctlscript.sh start apache
Syntax OK
(98)Address already in use: AH00073: make_sock: unable to listen for
connections on address [::]:80
(98)Address already in use: AH00073: make_sock: unable to listen for
connections on address 0.0.0.0:80
no listening sockets available, shutting down
AH00015: Unable to open logs
/opt/bitnami/apache2/scripts/ctl.sh : httpd could not be started
Monitored apache
Я попытался найти решение в Интернете, но не нашел точно такого же сообщения об ошибке. Большинство ответов на аналогичные проблемы с привязкой касалось убийства вторых процессов apache, но я обнаружил, что прослушивает только один apache2. Я пробовал это:
root@debian:/etc/apache2/sites-enabled# sudo netstat -ltnp | grep ':80'
tcp6 0 0 :::80 :::* LISTEN
475/apache2
root@debian:/etc/apache2/sites-enabled# netstat -tulpn | grep apache2
tcp6 0 0 :::80 :::* LISTEN
475/apache2
root@debian:/etc/apache2/sites-enabled# sudo netstat -ltnp | grep ':443'
root@debian:/etc/apache2/sites-enabled#
Я также меняю владельца журнала на www-data, но ничего не изменилось. Когда я остановлю apache с этим
root@debian:/# /opt/bitnami/ctlscript.sh status apache
apache not running
root@debian:/# netstat -tulpn | grep apache2
tcp6 0 0 :::80 :::* LISTEN
475/apache2
Я все еще могу получить доступ к «странице по умолчанию Apache2 Debian», когда я ввожу ip в браузере. Это нормально?
Что ж, теперь работает,
root@debian:/home/bitnami# ps aux | grep apache
root 462 0.0 0.4 75612 4268 ? Ss 09:04 0:00 /usr/sbin/apache2 -k start
www-data 463 0.0 0.3 364772 4036 ? Sl 09:04 0:00 /usr/sbin/apache2 -k start
www-data 464 0.0 0.3 364772 4036 ? Sl 09:04 0:00 /usr/sbin/apache2 -k start
root 1179 0.0 0.0 12784 960 pts/0 S+ 09:05 0:00 grep apache
root@debian:/home/bitnami# kill 462
root@debian:/home/bitnami# kill 463
bash: kill: (463) - No such process
root@debian:/home/bitnami# kill 464
bash: kill: (464) - No such process
root@debian:/home/bitnami# kill 1179
bash: kill: (1179) - No such process
root@debian:/home/bitnami# /opt/bitnami/ctlscript.sh start apache
Syntax OK
/opt/bitnami/apache2/scripts/ctl.sh : httpd started at port 80
Monitored apache
Я думаю, что kill первого процесса заставил его работать, но после перезапуска сервера я получаю то же сообщение об ошибке, и необходимо убить процесс и запустить apache :(
Это ключ к разгадке.
(98) Адрес уже используется:
Это подтверждает то, что подсказывает.
tcp6 0 0 ::: 80 ::: * СЛУШАТЬ 475 / apache2
Apache уже прослушивает порт 80, поэтому команда запуска не работает.
Просто мысль ... Возможно, было бы неплохо остановить текущий apache перед запуском нового.
Сначала я бы попытался регулярно останавливать Apache
root @ debian: / etc # sudo /opt/bitnami/ctlscript.sh остановить apache
После этого полезно проверить, действительно ли apache был отключен
ps aux | grep apache
Если вы увидите идентификатор процесса с apache, попробуйте сначала отправить сигнал уничтожения
убийство process_id
Опять же, перечислите процессы с пс command, и если вы видите apache, убейте его с помощью SIGKILL
убить -9 process_id
Теперь вы либо увидите, что apache все еще работает -> это означает, что что-то перезапускает его, и вам нужно выяснить, почему. Или вы больше не увидите никаких процессов. В таком случае запустите apache еще раз.
root @ debian: / etc # sudo /opt/bitnami/ctlscript.sh запустить apache
Если вы снова получите ошибку, это означает, что apache запущен дважды. Так что, вероятно, проблема со сценарием запуска /opt/bitnami/ctlscript.sh но я в этом очень сомневаюсь.
Как только вы определите, связана ли проблема с тем, что apache перезапускается автоматически, когда вы его убиваете, или запускается дважды, вы сможете более глубоко изучить проблему, но я сомневаюсь, что правильная отладка может быть выполнена через такой сайт QA, как этот, и скорее будет рекомендую опытного админа через.