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

11

У меня установлен 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 --list и chkconfig вместе с дистрибутивом Amazon AMI.
Джейсон Азз
chkconfig --listпоказывает httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off... так как мне их включить? Благодарность!
Майк Цалович

Ответы:

34

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

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

JasonAzze
источник
Что если это не сработает?
Пол Шелдрейк
2
@PaulSheldrake вы используете ОС, которая использует systemd случайно? Например, Linux в семействе Red Hat 7 теперь используют systemd. В таком случае вы хотитеsystemctl enable httpd
JasonAzze
@JasonAzze Я использую Centos 6.5.
Пол Шелдрейк
@JasonAzze Если вам интересно посмотреть github.com/paulsheldrake/vagrant/blob/master/scripts/…
Пол Шелдрейк
@PaulSheldrake, что такое режим сбоя? Если вы выдаете chkconfig --list httpd«включено» для уровней запуска 2-5? Интересно, httpd пытается запустить, но сразу останавливается из-за плохой конфигурации httpd. Есть ли доказательства в журналах?
JasonAzze
7

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

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

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

chkconfig --level 2345 httpd on

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


источник