Помните, что правильный способ запуска сервера 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]\`}"