ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Понедельник, 31 марта, 2025
Сегодня у нас 1 праздник:
Международный День Резервного Копирования (World Backup Day). Пользователи сайта социальных новостей reddit предложили сделать дату 31.03 Международным днём резервного копирования, аргументируя это тем, что никогда заранее нельзя узнать, какие сюрпризы преподнесёт 1.04

Две распространенные ошибки при запуске сервера Apache в Linux

Две распространенные ошибки при запуске сервера Apache в Linux

Помните, что правильный способ запуска сервера apache — использовать команду apachectl.

apachectl stop
apachectl start
apachectl graceful

 

Вы также можете проверить свои файлы конфигурации с помощью apachectl configtest.

 

Адрес, который уже используется

(98)Address already in use: make_sock: could not bind to address 0.0.0.0:443
no listening sockets available, shutting down

 

Это вызвано одним или несколькими процессами, запущенными на порту 443 (secure socket). Вы можете получить все идентификаторы процессов, запущенных на этом порту, с помощью команды fuser или более классической ps auxww с менее читаемым форматом.

[andreyex@host ~]$ fuser 443/tcp
443/tcp: 7977 6815 9819 35217
# Now you just have to do a **kill** on those process.
[andreyex@host ~]$ kill -9 7977 6815 9819 35217
# Or in a single line:
[andreyex@host ~]$ kill -9 $(fuser 443/tcp 2>/dev/null)

 

На устройстве не осталось свободного места

(28)No space left on device: Couldn't create accept lock
# or
(28)No space left on device: mod_rewrite: could not create rewrite_log_lock Configuration Failed

 

Когда вы проверяете свое хранилище, вы обнаруживаете, что у вас еще достаточно свободного места. Итак, что происходит? Проблема возникает из-за того, что apache не был выключен должным образом и оставил много семафорных массивов. Семафорные массивы используются для межпроцессного взаимодействия (ipc). Итак, вот ipcs команда. ipcs предоставляет информацию о средствах ipc, доступ к которым был получен вызывающим процессом.

[andreyex@host ~]$ ipcs -s | grep www-data
0x00000000 163840 www-data 600 1  
0x00000000 196609 www-data 600 1  
0x00000000 229378 www-data 600 1

 

Перед перезапуском вашего apache вы должны удалить все эти массивы семафоров с помощью ipcrm команды. ipcrm удаляет очередь сообщений, набор семафоров или идентификатор общей памяти.

[andreyex@host ~]$ ipcs -s | grep www-data | perl -e "while () { @a=split(/\s+/); print \`ipcrm sem $a[1]\`}"
Exit mobile version