Назад | Перейти на главную страницу

Apache / httpd не запускается автоматически при загрузке

У меня установлен apache2 на Amazon Linux AMI выпуска 2012.03. Я могу запустить его вручную, без ошибок, используя /etc/init.d/httpd start. Однако он не запускается автоматически при загрузке машины.

Похоже, что в моих каталогах rc * .d все настроено правильно. Вот результат find /etc/rc.d -name "*httpd*" | xargs ls -l:

-rwxr-xr-x 1 root root 3371 Feb 16  2012 /etc/rc.d/init.d/httpd
lrwxrwxrwx 1 root root   15 Apr 14  2012 /etc/rc.d/rc0.d/K15httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root   15 Apr 14  2012 /etc/rc.d/rc1.d/K15httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root   15 Apr 14  2012 /etc/rc.d/rc2.d/K15httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root   15 Apr 14  2012 /etc/rc.d/rc3.d/K15httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root   15 Apr 14  2012 /etc/rc.d/rc4.d/K15httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root   15 Apr 14  2012 /etc/rc.d/rc5.d/K15httpd -> ../init.d/httpd
lrwxrwxrwx 1 root root   15 Apr 14  2012 /etc/rc.d/rc6.d/K15httpd -> ../init.d/httpd

Я понимаю, что могу поставить /etc/init.d/httpd start командовать в /etc/rc.local, но разве это не обходной путь? Почему он не запускается автоматически? Другие вещи в каталогах rc * .d запускаются при загрузке нормально (mongod, postfix и т. Д.). Спасибо!

Используйте chkconfig для управления уровнями выполнения, на которых вы хотите запускать эту службу.

Обычно chkconfig httpd на делает свою работу.

У вас нет S-ссылок. Все «К» отключены только. Добавьте ссылки с тем же именем, просто замените K на S.

«Как правило, система запускает команды, начинающиеся с буквы« S », и останавливает команды, начинающиеся с буквы« K ». Команды, начинающиеся с буквы« K », выполняются только тогда, когда система меняет уровни выполнения с более высокого на более низкий уровень. Команды, начинающиеся с буквы «S», выполняются во всех случаях ».

Если вы используете chkconfig, см. "Man chkconfig". Для вашего случая:

chkconfig --level 2345 httpd on

стоит сделать.