- Команды Apache, которые вы должны знать
- Подготовка
- Запустите Apache
- Остановить Apache
- Перезагрузите Apache
- Перезагрузить Apache
- Проверить конфигурацию Apache
- Просмотр статуса Apache
- Проверить версию Apache
- Выводы
- Полезные команды для управления веб-сервером Apache в Linux
- Установить сервер Apache
- Проверить версию апача
- Проверьте синтаксические ошибки конфигурации Apache
- Запустить службу Apache
- Включить службу Apache
- Перезапустите службу Apache
- Просмотр состояния службы Apache
- Перезагрузить службу Apache
- Остановить службу Apache
- Показать справку по командам Apache
Команды Apache, которые вы должны знать
HTTP-сервер Apache — самый популярный веб-сервер в мире. Это бесплатный кроссплатформенный HTTP-сервер с открытым исходным кодом, обеспечивающий мощные функции, которые могут быть расширены с помощью самых разных модулей.
Если вы разработчик или системный администратор, скорее всего, вы регулярно имеете дело с Apache.
В этом руководстве мы рассмотрим наиболее важные и часто используемые команды Apache, включая запуск, остановку и перезапуск Apache.
Подготовка
Мы предполагаем, что вы вошли в систему как root или пользователь с привилегиями sudo. Команды в этом руководстве должны работать в любом современном дистрибутиве Linux, таком как Ubuntu 18.04, CentOS 7 и Debian 9 .
В Ubuntu и Debian служба Apache называется apache2 , тогда как в системе на основе Red Hat, такой как CentOS, имя службы Apache — httpd .
Если вы используете CentOS, просто замените apache2 на httpd в приведенных ниже командах.
Запустите Apache
Запустить Apache довольно просто. Просто введите следующую команду.
sudo systemctl start apache2
В случае успеха команда не производит никакого вывода.
Если вы используете более старый дистрибутив Linux без systemd, для запуска Apache введите:
sudo service apache2 start
Вместо того, чтобы вручную запускать службу Apache, рекомендуется настроить ее запуск при загрузке системы:
sudo systemctl enable apache2
Остановить Apache
Остановка Apache позволяет быстро завершить основной процесс Apache и все дочерние процессы, даже если есть открытые соединения.
Чтобы остановить Apache, выполните одну из следующих команд:
sudo systemctl stop apache2
sudo service apache2 stop
Перезагрузите Apache
Параметр перезапуска — это быстрый способ остановить, а затем запустить сервер Apache.
Используйте одну из следующих команд для перезапуска:
sudo systemctl restart apache2
sudo service apache2 restart
Это команда, которую вы, вероятно, будете использовать наиболее часто.
Перезагрузить Apache
Вам необходимо перезагрузить или перезапустить Apache всякий раз, когда вы вносите изменения в его конфигурацию.
При перезагрузке основной процесс apache завершает работу дочерних процессов, загружает новую конфигурацию и запускает новые дочерние процессы.
Чтобы перезагрузить Apache, используйте одну из следующих команд:
sudo systemctl reload apache2
sudo service apache2 reload
Проверить конфигурацию Apache
Каждый раз, когда вы вносите изменения в файл конфигурации сервера Apache, рекомендуется протестировать конфигурацию перед перезапуском или перезагрузкой службы.
Используйте следующую команду, чтобы проверить конфигурацию Apache на наличие синтаксических или системных ошибок:
Результат будет выглядеть так:
Если есть ошибки, команда выводит подробное сообщение.
Просмотр статуса Apache
Чтобы проверить статус службы Apache, используйте следующую команду:
sudo systemctl status apache2
Результат будет выглядеть примерно так:
● apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: Drop-In: /lib/systemd/system/apache2.service.d └─apache2-systemd.conf Active: active (running) since Wed 2019-05-29 21:16:55 UTC; 6s ago Process: 938 ExecStop=/usr/sbin/apachectl stop (code=exited, status=0/SUCCESS) Process: 956 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCES Main PID: 997 (apache2) Tasks: 55 (limit: 1152) CGroup: /system.slice/apache2.service ├─ 997 /usr/sbin/apache2 -k start ├─ 999 /usr/sbin/apache2 -k start └─1000 /usr/sbin/apache2 -k start
Проверить версию Apache
Иногда вам может потребоваться узнать версию вашего Apache, чтобы вы могли отладить проблему или определить, доступна ли определенная функция.
Вы можете проверить свою версию Apache, запустив:
Server version: Apache/2.4.29 (Ubuntu) Server built: 2019-04-03T13:22:37
Параметр -V (верхний регистр) показывает версию Apache вместе с параметром конфигурации.
Выводы
В этом руководстве мы показали вам некоторые из наиболее важных команд Apache. Если вы хотите узнать больше о командной строке Apache, посетите документацию Apache.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Полезные команды для управления веб-сервером Apache в Linux
В этом руководстве мы опишем некоторые из наиболее часто используемых команд управления службами Apache (HTTPD), которые вы должны знать как разработчик или системный администратор, и вы должны держать эти команды под рукой. Мы покажем команды как для Systemd, так и для SysVinit.
Убедитесь, что следующие команды должны выполняться от имени пользователя root или sudo и должны работать с любым дистрибутивом Linux, таким как CentOS, RHEL, Fedora Debian и Ubuntu.
Установить сервер Apache
Чтобы установить веб-сервер Apache, используйте менеджер пакетов дистрибутива по умолчанию, как показано ниже.
$ sudo apt install apache2 [On Debian/Ubuntu] $ sudo yum install httpd [On RHEL/CentOS] $ sudo dnf install httpd [On Fedora 22+] $ sudo zypper install apache2 [On openSUSE]
Проверить версию апача
Чтобы проверить установленную версию вашего веб-сервера Apache в вашей системе Linux, выполните следующую команду.
$ sudo httpd -v OR $ sudo apache2 -v
Пример вывода
Server version: Apache/2.4.6 (CentOS) Server built: Nov 5 2018 01:47:09
Если вы хотите отобразить номер версии Apache и параметры компиляции, используйте флаг -V , как показано ниже.
$ sudo httpd -V OR $ sudo apache2 -V
Пример вывода
Server version: Apache/2.4.6 (CentOS) Server built: Nov 5 2018 01:47:09 Server's Module Magic Number: 20120211:24 Server loaded: APR 1.4.8, APR-UTIL 1.5.2 Compiled using: APR 1.4.8, APR-UTIL 1.5.2 Architecture: 64-bit Server MPM: prefork threaded: no forked: yes (variable process count) Server compiled with. -D APR_HAS_SENDFILE -D APR_HAS_MMAP -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) -D APR_USE_SYSVSEM_SERIALIZE -D APR_USE_PTHREAD_SERIALIZE -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT -D APR_HAS_OTHER_CHILD -D AP_HAVE_RELIABLE_PIPED_LOGS -D DYNAMIC_MODULE_LIMIT=256 -D HTTPD_ROOT="/etc/httpd" -D SUEXEC_BIN="/usr/sbin/suexec" -D DEFAULT_PIDLOG="/run/httpd/httpd.pid" -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" -D DEFAULT_ERRORLOG="logs/error_log" -D AP_TYPES_CONFIG_FILE="conf/mime.types" -D SERVER_CONFIG_FILE="conf/httpd.conf"
Проверьте синтаксические ошибки конфигурации Apache
Чтобы проверить файлы конфигурации Apache на наличие синтаксических ошибок, выполните следующую команду, которая проверит правильность файлов конфигурации перед перезапуском службы.
$ sudo httpd -t OR $ sudo apache2ctl -t
Пример вывода
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using linux-console.net. Set the 'ServerName' directive globally to suppress this message Syntax OK
Запустить службу Apache
Чтобы запустить службу Apache, выполните следующую команду.
------------ On CentOS/RHEL ------------ $ sudo systemctl start httpd [On Systemd] $ sudo service httpd start [On SysVInit] ------------ On Ubunt/Debian ------------ $ sudo systemctl start apache2 [On Systemd] $ sudo service apache2 start [On SysVInit]
Включить службу Apache
Предыдущая команда запускает службу Apache только на время, чтобы включить ее автоматический запуск при загрузке системы, выполните следующую команду.
------------ On CentOS/RHEL ------------ $ sudo systemctl enable httpd [On Systemd] $ sudo chkconfig httpd on [On SysVInit] ------------ On Ubunt/Debian ------------ $ sudo systemctl enable apache2 [On Systemd] $ sudo chkconfig apache2 on [On SysVInit]
Перезапустите службу Apache
Чтобы перезапустить Apache (остановить и затем запустить службу), выполните следующую команду.
------------ On CentOS/RHEL ------------ $ sudo systemctl restart httpd [On Systemd] $ sudo service httpd restart [On SysVInit] ------------ On Ubunt/Debian ------------ $ sudo systemctl restart apache2 [On Systemd] $ sudo service apache2 restart [On SysVInit]
Просмотр состояния службы Apache
Чтобы проверить информацию о состоянии времени выполнения службы Apache, выполните следующую команду.
------------ On CentOS/RHEL ------------ $ sudo systemctl status httpd [On Systemd] $ sudo service httpd status [On SysVInit] ------------ On Ubunt/Debian ------------ $ sudo systemctl status apache2 [On Systemd] $ sudo service apache2 status [On SysVInit]
Перезагрузить службу Apache
Если вы внесли какие-либо изменения в конфигурацию сервера Apache, вы можете указать службе перезагрузить ее конфигурацию, выполнив следующую команду.
------------ On CentOS/RHEL ------------ $ sudo systemctl reload httpd [On Systemd] $ sudo service httpd reload [On SysVInit] ------------ On Ubunt/Debian ------------ $ sudo systemctl reload apache2 [On Systemd] $ sudo service apache2 reload [On SysVInit]
Остановить службу Apache
Чтобы остановить службу Apache, используйте следующую команду.
------------ On CentOS/RHEL ------------ $ sudo systemctl stop httpd [On Systemd] $ sudo service httpd stop [On SysVInit] ------------ On Ubunt/Debian ------------ $ sudo systemctl stop apache2 [On Systemd] $ sudo service apache2 stop [On SysVInit]
Показать справку по командам Apache
И последнее, но не менее важное: вы можете получить справку о командах службы Apache в systemd, выполнив следующую команду.
$ sudo httpd -h OR $ sudo apache2 -h OR $ systemctl -h apache2
Пример вывода
Usage: httpd [-D name] [-d directory] [-f file] [-C "directive"] [-c "directive"] [-k start|restart|graceful|graceful-stop|stop] [-v] [-V] [-h] [-l] [-L] [-t] [-T] [-S] [-X] Options: -D name : define a name for use in 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 vhost settings -t -D DUMP_RUN_CFG : show parsed run settings -S : a synonym for -t -D DUMP_VHOSTS -D DUMP_RUN_CFG -t -D DUMP_MODULES : show all loaded modules -M : a synonym for -t -D DUMP_MODULES -t : run syntax check for config files -T : start without DocumentRoot(s) check -X : debug mode (only one worker, do not detach)
Дополнительную информацию о systemctl можно найти в статье Как управлять службами и модулями Systemd с помощью Systemctl в Linux.
Вы также можете прочитать следующие статьи, связанные с Apache.
- 5 советов по повышению производительности веб-сервера Apache
- Как отслеживать загрузку веб-сервера Apache и статистику страниц
- Как администрировать веб-сервер Apache с помощью инструмента «Apache GUI»
- Как изменить HTTP-порт Apache в Linux
- 13 советов по безопасности и укреплению безопасности веб-сервера Apache
- Защитите Apache от атак грубой силы или DDoS-атак с помощью модулей Mod_Security и Mod_evasive
Это пока все! В этой статье мы объяснили наиболее часто используемые команды управления службами Apache/HTTPD, которые вам следует знать, включая запуск, включение, перезапуск и остановку Apache. Вы всегда можете связаться с нами через форму обратной связи ниже для любых вопросов или комментариев.