Próbuję zainstalować apache2, napotkałem ten problem. Daj mi rozwiązania
Ponowne uruchomienie serwera WWW apache2 powoduje błąd:
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
(98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
(98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
AH00015: Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
[fail]
* The apache2 instance did not start within 20 seconds. Please read the log files to discover problems
/etc/apache2/apache2.conf
,/etc/apache2/sites-enabled/000-default.conf
a jeśli już zdefiniowałeś/etc/apache2/sites-available/yourFile.conf
Odpowiedzi:
Biegać
i otrzymasz coś w rodzaju
zanotuj pid procesu nasłuchującego na porcie, w moim przypadku było to 1066. Następnie uruchom
Pamiętaj, aby zmienić pid na ten, który nasłuchuje na porcie, może nie być taki sam jak 1066
źródło
Podobnie jak wiele aplikacji serwerowych, nie można powiązać z portem już powiązanym z inną aplikacją (w tym przypadku z portem 80 dla
http
). Przyczyną tego błędu jest to, że Apache nie może się połączyć z portem 80, ponieważ coś innego już tam nasłuchuje.Uruchom
sudo netstat -tulpn | grep :80
i wyszukaj nazwę procesu nasłuchującego na porcie 80. Następnie ponownie skonfiguruj lub usuń ten program.źródło
Na jakim serwerze używasz tego?
Aby rozwiązać pierwszy błąd
Będziesz musiał edytować
httpd.conf
plik, dodaj ten wiersz:Aby rozwiązać inne błędy, upewnij się, że próbujesz uruchomić Apache z uprawnieniami roota.
źródło
httpd.conf
pliku Czy mogę umieścić tę linięapache2.conf
?ServerName
whttpd.conf
nie ma żadnego wpływu.Mam ten sam problem.
Próbowałem zainstalować LAMP na WSL, postępując zgodnie z tym blogiem: LAMP na WSL, ale kiedy wydałem to polecenie:
Mam ten sam błąd:
Wcześniej próbowałem zainstalować Nginx na Windowsie poprawnie i nie powiodło się, ale przypomniałem sobie, że związałem Nginx z portem 80. Problemem jest to, że nie jestem ekspertem od Linuksa i nie widziałem w pliku conf apache2 obszaru do powiązania z portem.
Próbowałem uruchomić:
i nic nie dostałem. Przekierowałem również port w routerze, więc nie mogłem zrozumieć, jak rozwiązać problem.
Wiem, że Nginx nie działał, więc port 80 powinien być w porządku, z wyjątkiem Chrome, który, jak zakładam, działał również na porcie 80. Z frustracji, nie wiedząc, co się stanie, wykonałem polecenie w
sudo
ten sposób:i mam:
sudo
Kontynuując polecenie start , Apache2 ma uprawnienia do uruchomienia. Jest to rozwiązanie krótkoterminowe, ponieważ nie zaleca się uruchamiania Apache2 z uprawnieniami roota (więc jesteśmy informowani), więc rozwiązanie nadal istnieje, ale na razie mogę przynajmniej kontynuować testy.Jeśli ktoś zna rozwiązanie, daj nam znać.
źródło
sudo
, aby mieć ten format ... mam nadzieję, że to zrozumiałe.Możesz zainstalować nowy serwer WWW lub cokolwiek, rezerwując port 80 sprawdź swoje usługi i to, co nowo zainstalowałeś
źródło
W moim przypadku nie był to problem z logami, ale tak naprawdę z
Listen
dyrektywą - ustawiono na Listen na adres IP, który nie istniał (ponieważ przeniosłem laptopa do innej sieci).Pojawiło się to dopiero po odinstalowaniu usługi, ponownej instalacji i napisaniu:
(OS 10049) The requested address is not valid in its context. : AH00072: make_sock: could not bind to address 0.0.0.0:80 AH00015: Unable to open logs
Właśnie skomentowałem obraźliwą dyrektywę Listen (i zatrzymałem innych) voila.
Wiem, że Q dotyczy Ubuntu, ale niektórzy ludzie mogą tu wylądować, napotykając problem.
źródło