После размещения моего проекта Laravel на сервере разработки я, похоже, больше не могу запустить Apache 2.
После запуска командной строки:
sudo systemctl статус apache2
Я получаю следующую ошибку:
● apache2.service — HTTP-сервер Apache Загружено: загружено (/lib/systemd/system/apache2.service; включено; предустановка поставщика: включено) Активно: не удалось (результат: код выхода) с пн 2020-02-03 02:17:48 UTC; 1 мин 17 с назад Процесс: 1631 ExecStart=/usr/sbin/apachectl start (код=выполнено, статус=1/СБОЙ)
После небольшого поиска в Google выяснилось, что Apache не может запуститься, поскольку несколько процессов используют порт 80.
Однако после запуска командной строки:
судо lsof -i tcp:80
Я получаю список следующих процессов:
КОМАНДА PID ПОЛЬЗОВАТЕЛЬ ТИП FD РАЗМЕР УСТРОЙСТВА/ВЫКЛ ИМЯ УЗЛА google_ne 716 root 7u IPv4 18497 0t0 TCP экземпляр-разработки-webapp-eatology.c.webapp-eatology.internal:34086->metadata.google.internal:http (УСТАНОВЛЕНО) google_ac 717 root 5u IPv4 18475 0t0 TCP экземпляр-разработки-webapp-eatology.c.webapp-eatology.internal:34082->metadata.google.internal:http (УСТАНОВЛЕНО) google_cl 719 root 5u IPv4 18478 0t0 TCP экземпляр-разработки-webapp-eatology.c.webapp-eatology.internal:34084->metadata.google.internal:http (УСТАНОВЛЕНО) google_cl 719 root 6u IPv4 18402 0t0 TCP экземпляр-разработка-webapp-eatology.c.webapp-eatology.internal:34080->metadata.google.internal:http (CLOSE_WAIT)
Проблема в том, что я не понимаю, как завершить каждый из этих процессов. Я перепробовал множество командных строк, но безуспешно.
Спасибо за вашу помощь !
решение1
Бегать :
netstat -tulpn | grep 80
Посмотрите на строку, где у вас есть:
Proto : tcp
Local address : *.*.*.*:80
Получите значение столбца Pid или Process Name:
<pid_or_process_name>:80
Завершите процесс, который удерживает порт 80, используя его pid или имя процесса:
pkill -9 <process_name>
Или
kill -9 <pid>
Наконец, это все еще обходной путь: вам нужно выяснить процесс, который отвечает за открытие порта 80, и отключить его или просто изменить его файл конфигурации, чтобы он указывал на другой порт, а не на TCP/80, поскольку после перезагрузки вы столкнетесь с той же проблемой.