Запуск apache не удается (не удалось привязать к адресу 0.0.0.0:80)
Update: уже исправлено, кажется, что один из файлов конфигурации VirtualHosts был неправильным в разрешенных сайтах.
у меня Ubuntu 11.10
когда я запускаю команду для запуска apache2:
sudo /etc/init.d/apache2 start
Я получаю следующее сообщение об ошибке:
запуск веб-сервера apache2
apache2: не удалось достоверно определить полную квалификацию сервера доменное имя, используя 127.0.1.1 для адреса Имя_сервера (98)уже в использование: make_sock: не удалось выполнить привязку к адресу 0.0.0.0:80 не слушал сокеты доступны, выключение невозможно открыть журналы действие "пуск" неудачный.
я запускаю эту команду, чтобы получить процесс, который использует порт 80:
sudo netstat -ltnp | grep ':80'
который возвращает этот вывод:
tcp6 0 0 :::80 :::* LISTEN 1176/
чтобы узнать, какой процесс я запускаю эту команду:
ps -wlp1176
что возвращает:
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
5 D 33 1176 1 0 80 0 - 0 exit ? 00:00:00 apache2
но если я попытаюсь убить процесс:
sudo kill -9 1176
это не убейте его, если я снова запустил команду netstat, все еще появляется прослушивание и запуск apache не удается.
какие предложения?
12 ответов
это может быть skype или nginx с использованием порта 80.
попробуйте выключить skype или запустить: sudo /etc/init.d/nginx stop
У меня была такая же ошибка, и просто хочу, чтобы подтвердить, что работает
sudo netstat -ltnp | grep ':80'
помог мне указать, что веб-сервер Hiawatha был на пути Apache2.
удаление Hiawatha Исправлена проблема (sudo dpkg --purge hiawatha). Сервер Ubuntu 12.04.2.
У меня была та же проблема
для меня apache уже работал, но он работал неправильно.
убивает процессы не работают, потому что демон держал reinstantiating его.
apachectl stop
проблема решена.
перейдите в Диспетчер устройств, выберите" Показать скрытые устройства "из меню/Вид, перейдите в"драйвер без подключи и играй" /HTTP, дважды щелкните его, чтобы отключить его (и отключить или вручную некоторые услуги зависели от него). Перезагрузитесь и наслаждайтесь!
попробуйте это, это работает для меня...
sudo netstat -ltnp | grep ':80'
это вернет следующее:
tcp6 0 0 :::80 :::* LISTEN 1047/apache2
затем
sudo kill -9 1047
затем я смог перезапустить Apache, и все работало нормально.
Я бы просто проверил, установлено ли следующее в вашем /etc/apache2/sites-available/your-domain-name.com.conf
SSLEngine on
SSLCertificateFile /your/path/to/your-domain.com.crt
SSLCertificateKeyFile /your/path/to/your-domain.com.key
SSLCACertificateFile /your/path/to/your-domain.com.ca-bundle
и нет никаких ошибочных каталогов или чего-либо еще, что не должно быть в вашем .файл conf. Это сделал трюк для меня как повторный запуск и убийство процессов не помогает вообще. Все равно ничего не началось.
похоже, что другой процесс использует порт 80.
$ netstat -anp | grep
например. $ netstat -anp | grep 80
выше вы получить имя процесса, если вы хотите использовать порт, то вам нужно остановить этот процесс или изменить порт
это произойдет из-за повторной установки apache или порт используется другой службой
sudo lsof -i | grep "httpd"
вы найдете идентификатор процесса и порт прослушивания службы. Тогда проверьте
cd /proc/(process id of http)
затем убить этот процесс с помощью команды
kill -9 pid
теперь
sudo netstat -nltp
снова убить процесс
синтаксис:-
kill -9 pid
а теперь запустите apache
sudo ./apachectl start
я исправил это, используя приведенную ниже процедуру. Выполните следующую команду как пользователь root.
root# ps aux |grep apache
Он покажет вам Apache PID, просто убейте эти PIDs и перезапустите сервер Apache.
У вас может быть только номер порта прослушивания только в одном файле .conf. Не помещайте его в несколько файлов. Попробуйте :)
использовать
sudo killall httpd
или
sudo killall apache2
проверьте, если кто-то использует порт 80
sudo netstat -tulpn| grep :80
перезагрузка
sudo service httpd start
затем перезапустите сервер.Мне потребовался целый день, чтобы понять проблему