Я установил Apache 2 из исходного кода на моем компьютере с Linux. apachectl -k start
работает просто отлично, но как мне заставить Apache запускаться во время загрузки?
Это в дистрибутиве Red Hat Linux:
Linux <hostname> 2.6.9-55.ELsmp # 1 SMP пт 20 апреля 17:03:35 EDT 2007 i686 i686 i386 GNU / Linux
linux
apache-2.2
startup
Скорбный
источник
источник
Ответы:
Вы хотите добавить его скрипт инициализации на соответствующий уровень выполнения. Сценарий инициализации обычно находится
/etc/init.d/apache2
там, где вы можете запустить/etc/init.d/apache2 start
его вручную .На Gentoo вы бы написали:
В Ubuntu / Debian это работает:
В Red Hat Linux / Fedora / CentOS небольшое прибегание к поиску показывает следующее:
Это немного варьируется от распределения к распространению, но идея обычно та же самая. По сути, все эти команды создают символическую ссылку
/etc/init.d/
на соответствующую папку уровня выполнения в/etc/
.источник
Вот что наконец-то сработало для меня. Это предполагает, что вы являетесь пользователем root.
Содержимое /etc/init.d/apache2:
Вы можете получить уровень запуска, запустив / sbin / runlevel, который в моем случае был 3. И, конечно, вам нужно вызвать вашу версию apachectl, которая в моем случае была / usr / local / apache2 / bin / apachectl
Благодаря следующему:
источник
Проверьте, есть ли у вас
httpd
сценарий инициализации в/etc/rc.d
каталоге. Если да, то вы можете просто запустить следующую команду, которая позволяет службе httpd запускаться во время загрузки.Если у вас нет сценария инициализации, просто добавьте
/etc/rc.local
файл с помощьюapachectl -k start
(команда для запуска Apache).источник
Поскольку вы установили источник, в каталоге /etc/init.d/ не будет установлен скрипт инициализации. Двоичный файл apachectl спроектирован так, чтобы быть совместимым со стандартными параметрами сценария инициализации, поэтому вы вполне можете просто ссылаться на него, а не создавать сценарий оболочки (например, ln -s / usr / local / sbin / apachectl /etc/init.d/ апач)
Затем вы можете следовать процедурам, описанным в других публикациях, для добавления ссылок для вызова сценария инициализации с правильными уровнями выполнения.
Образец цитирования: Документация Apache http://httpd.apache.org/docs/2.2/invoking.html
источник
chkconfig --levels 345 httpd
запустит httpd на уровнях запуска 3,4,5.
chkconfig --list покажет все сервисы и их текущие уровни запуска. 345 типично для сетевого сервиса.
источник
В Red Hat Linux есть полезная утилита ntsysv, которая позволяет вам выбрать, какие службы вы хотите запустить на текущем уровне запуска. Вы также указываете, какой уровень выполнения вы хотите редактировать при запуске утилиты
--level
.Прокрутите вниз до httpd и нажмите, Spaceчтобы в левой части окна появилась звезда. Тогда Tabв ОК. Нажмите, Returnчтобы сохранить и вернуться в оболочку.
Я обнаружил, что он устанавливается по умолчанию. Я никогда не был в положении, где он не был установлен.
Сначала вам нужно будет установить службу, скопировав сценарий службы в /etc/init.d, а затем запустить:
источник
Это зависит от вашего вкуса Linux. Предполагая, что файл /etc/init.d/apache2 был создан, попробуйте:
или
Один из них должен работать.
источник