среда, 22 июля 2015 г.

Не стартует httpd в CentOS 7

Проблема проявилась в связке ISPmanager 5 Business и CentOS 7.

При попытке перезапуска httpd, выходит ошибка о том, что невозможно перезапустить сервис:
# service httpd status
Redirecting to /bin/systemctl status httpd.service
httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled)
Active: failed (Result: exit-code) since Sat 2015-07-18 09:45:40 MSK; 2min 12s ago
Process: 2471 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=1/FAILURE)
Process: 1401 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE)
Main PID: 1401 (code=exited, status=1/FAILURE)
CGroup: /system.slice/httpd.service

Jul 18 09:45:40 localhost systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
Jul 18 09:45:40 localhost kill[2471]: kill: cannot find process ""
Jul 18 09:45:40 localhost systemd[1]: httpd.service: control process exited, code=exited status=1
Jul 18 09:45:40 localhost systemd[1]: Failed to start The Apache HTTP Server.
Jul 18 09:45:40 localhost systemd[1]: Unit httpd.service entered failed state.

При этом в логах httpd ошибка такая:
# tail -f /var/log/httpd/error_log 
AH00015: Unable to open logs

Проблема в том, что systemd считал, что не хватает файловых дескрипторов для запуска httpd через httpd.service.

Решение:
# ulimit -n
16384

# mkdir -p /etc/systemd/system/httpd.service.d/
# echo -e "[Service]\nLimitNOFILE=16384" >> /etc/systemd/system/httpd.service.d/nofile.conf
# systemctl daemon-reload
# systemctl start httpd.service

2 комментария:

Алексей В комментирует...

>>Проблема в том, что systemd считал, что не хватает файловых дескрипторов для запуска httpd через httpd.service.

Как Вы это определили ?
У меня та же проблема - но из лога на очевидно где искать.

Алексей.

Amet Umerov комментирует...

В error.log вот такая запись:
AH00015: Unable to open logs