перезапуск послуги httpd / (98) Адреса вже використовується


11

Я не можу перезапустити apache на своєму веб-сервері CentOS 6.8:

# service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd: (98)Address already in use: make_sock: could not bind to address [::]:7080
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:7080
no listening sockets available, shutting down
Unable to open logs
                                                           [FAILED]

Я спробував купу речей, які я читав в Інтернеті, включаючи видалення файлів блокування.

Я вирішив спробувати перезавантажити сервер. Після перезавантаження спроба завантажити будь-які розміщені веб-сайти призведе до "502 Bad Gateway".

# service httpd status
httpd is stopped

# service httpd start
Starting httpd:                                            [  OK  ]

# service httpd status
httpd dead but subsys locked

Незважаючи на статус "мертвого", я зараз можу завантажувати веб-сайти!

Іноді сервіс httpd перезапуск працює ...

# service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]

Але в інших випадках це призводить до першої помилки вище. У такому випадку я можу це виправити за допомогою:

# killall -9 httpd
# service httpd start

Тож я можу обійти це, але мені дуже цікаво, що відбувається, і цікаво, чи варто мене турбувати.


Повна ваша файлова система? І: коли з’являється помилка, запустіть netstat -tulpenі шукайте все, що слухає на порту 7080. Ви запускаєте лише apache, правда? Порт 7080 не помилка?
Ленні

tcp 0 0 :::7080 :::* LISTEN 0 5626801 3829/httpd
stevland

Відповіді:


12

Можливо, ви десь визначили свого слухача на цьому порту двічі у своїх конфігураціях.

Слухай *: 7080

Якщо ви запустите тест конфігурації Apache, він скаже, що конфігурація в порядку, поки ви фактично не перезапустите службу, вона не вдасться з аналогічною помилкою, яку ви бачите.

Також переконайтесь, що ваше місце реєстрації існує та є в ньому доступним для запису, і в ньому є місце для запису. Це повідомлення в кінці підозріло.


9

SSH на сервері та запустіть наступне:

setenforce 0

Це дозволить вимкнути selinux до наступного перезавантаження

Потім спробуйте перезавантажити Apache

service httpd restart

Якщо це працює якось, увімкнено selinux.

Щоб назавжди відключити, перейдіть за цим посиланням:

https://kb.plesk.com/en/115626


Наскільки я люблю прості відповіді, на жаль, це не вийшло. :(
stevland

Чи можете ви запустити ці команди, щоб побачити, що використовує які порти. Будь ласка, додайте вихідний запитання або пастібін. "netstat -ano | grep 80" "netstat -ano | grep 7080" "кішка / тощо / послуги | grep -w 80" "кішка / тощо / послуги | grep -w 7080" "nmap localhost | grep 80" "nmap localhost | grep 80 "" nmap localhost "
Ентоні Форніто
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.