У нас есть сервер RHEL 6.5, который служит локальным сервером YUM и использует для этой цели httpd. Он работает на порту 6809. И до вчерашнего дня он работал нормально. Один из моих коллег выполнял дополнительное развертывание на другом сервере, который должен был использовать сервер YUM, но yum не смог подключиться. Он признает, что также работал над сервером YUM, но не знает, что делал что-то, связанное с конфигурацией httpd.
Итак, мы поняли, что httpd на сервере YUM не запущен и отказывается запускаться:
# service httpd start
Starting httpd: (98)Address already in use: make_sock: could not bind to address 172.29.84.41:6809
no listening sockets available, shutting down
Unable to open logs
[FAILED]
Мы уже проверили, что порт 6809 не занят lsof и netstat:
lsof -iTCP -sTCP:LISTEN -P -n
и
netstat -tupan | grep -Ei LISTEN
Все ясно, другого процесса нет.
Мы также искали Listen в каталоге / etc / httpd, и есть только одна директива с портом 6809:
httpd# grep -Ri listen *
conf/httpd.conf:# Listen: Allows you to bind Apache to specific IP addresses and/or
conf/httpd.conf:# Change this to Listen on specific IP addresses as shown below to
conf/httpd.conf:#Listen 12.34.56.78:80
conf/httpd.conf:#Listen 80
conf.d/ssl.conf:# When we also provide SSL we have to listen to the
conf.d/ssl.conf:#Listen 443
conf.d/yum.conf:Listen yum-server:6809
logs/test.log:read(4, "Listen yum-server:6809\nServe"..., 4096) = 496
logs/test.log:listen(3, 511) = 0
logs/test.log:write(2, "no listening sockets available, "..., 46no listening sockets available, shutting down
Binary file modules/mod_info.so matches
Binary file modules/mod_wsgi.so matches
Binary file modules/mod_proxy_ftp.so matches
Binary file modules/mod_cgid.so matches
Так что это не дубликат.
IP-адрес является локальным для сервера.
Процесс httpd тоже не запущен.
Мы также переустановили httpd RPM.
SELinux не работает:
# sestatus
SELinux status: disabled
Пожалуйста, что еще может быть не так?
Большое спасибо за ваши советы.
Добавить 2:
К @ André Fernandes:
# lsof -n -P -i :6809
# find /etc/httpd -type f | xargs grep Listen
/etc/httpd/conf.d/ssl.conf:#Listen 443
/etc/httpd/conf.d/yum.conf:Listen yum-server:6809
/etc/httpd/conf/httpd.conf:# Listen: Allows you to bind Apache to specific IP addresses and/or
/etc/httpd/conf/httpd.conf:# Change this to Listen on specific IP addresses as shown below to
/etc/httpd/conf/httpd.conf:#Listen 12.34.56.78:80
/etc/httpd/conf/httpd.conf:#Listen 80
В @MadHatter я сократил вывод и удалил настоящие имена. Но есть псевдоним yum_server:
# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.somewhe.re localhost trap-host
172.29.84.41 <FQDN and name> yum-server <other aliases>
...
Добавить 3:
Вывод ip addr show:
# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP qlen 1000
link/ether 3c:4a:92:ed:c0:28 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP qlen 1000
link/ether 3c:4a:92:ed:c0:28 brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond1 state UP qlen 1000
link/ether 68:b5:99:c6:42:4c brd ff:ff:ff:ff:ff:ff
5: eth3: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond1 state UP qlen 1000
link/ether 68:b5:99:c6:42:4c brd ff:ff:ff:ff:ff:ff
6: eth4: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond2 state UP qlen 1000
link/ether 68:b5:99:c6:42:4e brd ff:ff:ff:ff:ff:ff
7: eth5: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond2 state UP qlen 1000
link/ether 68:b5:99:c6:42:4e brd ff:ff:ff:ff:ff:ff
8: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
link/ether 3c:4a:92:ed:c0:28 brd ff:ff:ff:ff:ff:ff
inet 172.29.84.41/26 brd 172.29.84.63 scope global bond0
9: bond1: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
link/ether 68:b5:99:c6:42:4c brd ff:ff:ff:ff:ff:ff
inet 192.168.1.1/24 brd 192.168.1.255 scope global bond1
10: bond2: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
link/ether 68:b5:99:c6:42:4e brd ff:ff:ff:ff:ff:ff
inet 10.1.212.71/24 brd 10.1.212.255 scope global bond2
Мы нашли причину. Это было скрыто в файле / etc / hosts. IP и все содержимое строки были указаны дважды. Среди других записей, требуемых для наших продуктов, запись была добавлена снова. Когда мы закомментировали вторую запись, httpd начал вести себя так, как ожидалось, и прекратил попытки двойного связывания.