Вот, ковыряясь с возможностями Apache, решил осветить тему утилиты управления Apachectl. Сразу отметим, что утилита Apachectl может работать в двух режимах. В любом из режимов Apachectl возвращает значение 0 в случае успешного выполнения сценария, и значение больше ноля, в случае ошибки.
В первом режиме Apachectl выступает как интерфейс для получения HTTPD-команд. Просмотреть доступные команды можно с помощью ключа -h, либо же выполнив команду Apachectl без аргументов:
# apachectl -h
Usage: /usr/local/sbin/httpd [-D name] [-d directory] [-f file] [-C "directive"] [-c "directive"] [-k start|restart|graceful|graceful-stop|stop] [-v] [-V] [-h] [-l] [-L] [-t] [-S] Options: -D name : define a name for use in <IfDefine name> directives -d directory : specify an alternate initial ServerRoot -f file : specify an alternate ServerConfigFile -C "directive" : process directive before reading config files -c "directive" : process directive after reading config files -e level : show startup errors of level (see LogLevel) -E file : log startup errors to file -v : show version number -V : show compile settings -h : list available command line options (this page) -l : list compiled in modules -L : list available configuration directives -t -D DUMP_VHOSTS : show parsed settings (currently only vhost settings) -S : a synonym for -t -D DUMP_VHOSTS -t -D DUMP_MODULES : show all loaded modules -M : a synonym for -t -D DUMP_MODULES -t : run syntax check for config files |
Для примера, воспользуемся двумя самыми простыми коммандами:
# apachectl -v
Server version: Apache/2.2.17 (FreeBSD)
Server built: Dec 18 2010 20:45:37
# apachectl -t
Syntax OK |
Первая команда - узнали версию програмного обеспечения web-сервера. Вторая - проверили конфигурационный файл на наличие ошибок.
Советую поэкспериментировать с остальными ключами.
Во втором режиме Apachectl работает как сценарий инициализации, позволяя запустить, остановить и перезапустить web-сервер. Доступные ключи:
- start - запуск демона Apache HTTPD. Выдает ошибку, если он уже запущен. Аналог apachectl -k start.
- stop - останов демона Apache HTTPD. Аналог apachectl -k stop.
- restart - перезапуск демона Apache HTTPD. Если демон не запущен, он запускается. Эта команда автоматически проверяет файлы конфигурации (запуск Apachectl с ключем configtest) перед началом перезапуска, чтобы убедиться, что демон не будет остановлен вследствии ошибки конфигурации. Аналог apachectl -k restart.
- fullstatus - отображает полный рапорт о состоянии с помощью модуля mod_status. Необходимо, чтобы mod_status был включен в конфигурации демона Apache. Также необходима поддержка текстового браузера (например lynx). URL-адрес используется для отчета о статусе и может задаваться переменной STATUSURL.
- status - отображение базового отчета о статусе демона Apache. Похоже на fullstatus, только список запросов на данный момент не отображается.
- graceful - "мягкий" перезапуск демона Apache HTTPD. Если демон не запущен, он запускается. Отличие от restart в том, что уже открытые соединения не разрываются. Побочным эффектом является то, что старые файлы журналов не будут немедленно закрыты. Эта команда автоматически проверяет файлы конфигурации (запуск Apachectl с ключем configtest) перед началом перезапуска, чтобы убедиться, что демон не будет остановлен вследствии ошибки конфигурации. Аналог apachectl -k graceful.
- configtest - проверка синтаксиса файла конфигурации. Анализирует файлы конфигурации и в случае положительной проверки, выводит "Syntax OK". Если же в файле конфигурации присутствует ошибка, то будет выведена подробная информация о ошибке.
Последние комментарии
17 недель 3 дня назад
41 неделя 5 дней назад
2 года 42 недели назад
3 года 12 недель назад
3 года 35 недель назад
3 года 50 недель назад
3 года 51 неделя назад
4 года 2 недели назад
4 года 13 недель назад
4 года 17 недель назад