Apachectl - утилита управления web-сервером Apache
Apachectl - утилита управления web-сервером Apache
Вот, ковыряясь с возможностями 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". Если же в файле конфигурации присутствует ошибка, то будет выведена подробная информация о ошибке.