- Как запустить, остановить или перезапустить Apache
- Прежде чем вы начнете
- Запустите, остановите и перезапустите Apache в Ubuntu и Debian
- Запустите, остановите и перезапустите Apache на RHEL/CentOS
- Заключение
- Запуск апач 2.4 по расписанию или условию
- Как запустить Apache на Windows
- Настройка Apache на Windows
Как запустить, остановить или перезапустить Apache
Главное меню » Операционная система Linux » Как запустить, остановить или перезапустить Apache
Если вы разработчик или системный администратор, есть вероятность, что вы имеете дело с Apache на регулярной основе.
Запуск, остановка и перезапуск/перезагрузка являются наиболее распространенными задачами при работе с веб-сервером Apache. Команды для управления службой Apache различны в разных дистрибутивах Linux.
Большинство последних дистрибутивов Linux используют SystemD в качестве системы инициализации по умолчанию и менеджера сервисов. Старые дистрибутивы основаны на SysVinit и используют сценарии инициализации для управления сервисами. Еще одно отличие – название сервиса. В Ubuntu и Debian служба Apache называется apache2, а в системах на базе Red Hat, таких как CentOS, имя службы httpd.
В этой статье мы объясним, как запускать, останавливать и перезапускать Apache в самых популярных дистрибутивах Linux.
Прежде чем вы начнете
В инструкциях предполагается, что вы вошли в систему как пользователь root или пользователь с привилегиями sudo.
И служебные модули SystemD, и сценарий SysVinit принимают следующие аргументы для управления службой Apache:
- start: Запускает службу Apache.
- stop: Завершает службу Apache.
- restart: Останавливается, а затем запускается служба Apache.
- reload: Перезапускает службу Apache. При перезагрузке основной процесс Apache завершает работу дочерних процессов, загружает новую конфигурацию и запускает новые дочерние процессы.
- status: Показывает статус сервиса.
Запустите, остановите и перезапустите Apache в Ubuntu и Debian
SystemD – это менеджер систем и сервисов для последних версий Ubuntu ( 18.04 , 16.04) и Debian ( 10 , 9 ).
Выполните следующую команду, чтобы запустить службу Apache:
Выполните следующую команду, чтобы остановить службу Apache:
Всякий раз, когда вы вносите изменения в конфигурацию Apache, вам необходимо перезапускать процессы сервера. Выполните следующую команду, чтобы перезапустить службу Apache:
Более старые (EOLed) версии Ubuntu или Debian используют сценарии init.d для запуска, остановки и перезапуска демона Apache:
Запустите, остановите и перезапустите Apache на RHEL/CentOS
Systemd является менеджером системы и сервиса для RHEL/CentOS 7 и 8.
Запустите сервис Apache:
Остановите службу Apache:
Перезапустите сервис Apache:
Если у вас CentOS 6 (или более ранняя версия), используйте следующие команды для запуска, остановки и перезапуска демона Apache:
Заключение
В этой статье мы показали, как запускать, останавливать и перезапускать веб-сервер Apache в различных системах Linux.
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь комментировать ниже.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Запуск апач 2.4 по расписанию или условию
на пол-пути к установке .
локально в сети работает .
апачи как служба запускается вручную или автоматом.
на боевой машине есть желание настроить для запуска апачи 15:00-17:00 *
сам запускается и останавливается — служба , не программа
не хочется давать права пользователю на ручной запуск или остановку службы
понимаю , что знающему создать условия — 10 минут , а я не спец в этом
прошу помощи для создания правил .
(1) создаете 2 задания в планировщике windows.
Первое на запуск. указываете запускать по времени.
В действия указать «Запуск программы».
Программа: sc
Аргументы: start Apache2.4 (или какой там используете.)
Во втором аналогично на остановку. Только в аргументах указываете:
stop Apache2.4
cd \
cd » c:\web_server\apache\bin»
— старт: httpd — k start
— перезапуск: httpd — k restart
— стоп: httpd — k stop (httpd — k shutdown)
скажите , если я создам батник — не знаю как
первый на запуск службы — через консоль запустилась
второй на остановку — также получилось
и эти батники указать в планировщик заданий
пробовал , но если сохраняю , как start.bat — планировщик видит его как start.bat.txt
и не срабатывает запуск службы
не делал никогда такого.думал не придется 🙂
Значит так и сохраняется, если сделан в блокноте. в свойствах папки включить видеть расширения.
в папке где лежит батник нажать Alt. Вверху появится меню
Сервис-Параметры папок-Вид
Где-то внизу снять галку «Скрывать расширения»
(8) пробую через нотепад++
(12)cd «C:\Program Files (x86)\1cv8\8.3.6.2390\bin»
это тело батника ?
(15)c:
cd \
cd «C:\Web_server\Apache. \bin»
httpd — k start
апач на другом диске
после бин в пути ничего не надо ?
последняя строка -имя службы ?
(17) взял вручную вводить команды
httpd — k start
после нее такое
Usage: httpd [-D name] [-d directory] [-f file]
[-C «directive»] [-c «directive»]
[-w] [-k start|restart|stop|shutdown] [-n service_name]
[-k install|config|uninstall] [-n service_name]
[-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
-n name : set service name and use its ServerConfigFile and ServerRoot
-k start : tell Apache to start
-k restart : tell running Apache to do a graceful restart
-k stop|shutdown : tell running Apache to shutdown
-k install : install an Apache service
-k config : change startup Options of an Apache service
-k uninstall : uninstall an Apache service
-w : hold open the console window on error
-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 -D DUMP_INCLUDES: show all included configuration files
-t : run syntax check for config files
-T : start without DocumentRoot(s) check
-X : debug mode (only one worker, do not detach)
Как запустить Apache на Windows
Веб-сервер Apache – это служба, которая работает в фоне и у которой нет графического интерфейса. Эта служба устанавливается и запускается в командной строке.
Если вам нужен только веб-сервер без дополнительных модулей, то вы можете ограничиться базовой настройкой.
Настройка Apache на Windows
На самом деле, базовая настройка веб-сервера крайне проста – необходимо только правильно указать путь до папки, в которой помещены веб-сайты – этого будет достаточно для запуска веб-сервера.
Кстати, в конфигурационном файле уже прописаны значения многих параметров по умолчанию. К примеру, по умолчанию корневой директорией является c:/Apache24. Поэтому если папку Apache24 из скаченного архива вы разархивируете в корень диска C, то вы можете вообще без настройки запустить веб-сервер следующей командой:
И по адресу http://localhost увидите стандартную страницу веб-сервера, которая сообщает, что он работает:
Кстати, для открытия командной строки в Windows используйте сочетание клавиш Win+x и в открывшемся окне выберите Windows PowerShell (администратор).
Настройка веб-сервера выполняется посредством редактирования текстового файла, который размещён в папке Apache24\conf\ и называется httpd.conf.
Этот файл состоит из директив с определёнными значениями. Эти директивы регулируют поведение веб-сервера. Но больше чем директив в этом файле комментариев – они начинаются с решётки (#) – комментарии нужны для человека, который настраивает веб-сервер. Сам сервер строки начинающиеся с # просто игнорирует. Т.е. вы можете просто удалить их.
Этот файл содержит не все возможные директивы – многие из них здесь отсутствуют, поскольку не требуются для большинства задач. Даже в этой заметки мы рассмотрим не все доступные в файле настройки – если описание чего-то пропущено, значит просто не нужно это трогать.
Как уже было сказано, важно установить путь до папки с веб-сайтами. Если она установлена неправильно (например, отсутствует на компьютере), то веб-сервер не запуститься.
Думаю, вы уже обратили внимание, что веб-сервер отличается от других программ для Windows. Если вы знакомы с Linux или другими аналогичными операционными системами, вам должна быть знакома работа в консоли и редактирование текстовых файлов. Пути до файлов тоже записываются не совсем обычно для Windows. Сейчас главное уяснить два правила:
- используйте абсолютные пути до файла (которые начинаются с буквы диска, затем следуют все вложенные папки), а не относительные – у сервера свои правила интерпретации относительных путей, поэтому вы можете не понять друг друга;
- всегда используйте прямые слеши, а не обратные (т.е., «c:/apache» вместо «c:\apache»).
Итак, откройте файл Apache24\conf\httpd.conf любым текстовым редактором (хоть Блокнотом) и вот мы уже готовы к настройке веб-сервера.
Первой идёт директива ServerRoot – это верхняя директория дерева, в которой хранятся файлы конфигурации сервера и журналов. Не добавляйте слэш на конец пути папки.
Значение по умолчанию устанавливается двумя директивами:
Первая директива присваивает значение переменной SRVROOT, которое по умолчанию «c:/Apache24». Вторая директива присваивает значение переменной $ настройке ServerRoot.
ServerRoot — это та папка, в которой находятся все файлы веб-сервера – поменяйте значение на то, куда вы распаковали файлы веб-сервера. Это можно сделать используя конструкцию из двух переменных:
Либо если вы не планируете снова использовать переменную $
Директива Listen позволяет вам привязать Apache к определённому IP адресу и/или порту. Значение по умолчанию:
Оно означает, прослушивать 80 порт на любом IP адресе (т.е. любом сетевом интерфейсе), доступном в вашей системе. Вы можете указать конкретный IP адрес, который нужно прослушивать и, следовательно, на запросы с которого отвечать:
Можно указать несколько портов:
Или несколько IP и портов:
Вы можете использовать любые сочетания, главное правило – порт на указанном интерфейсе (IP) не должен быть занят другой программой.
Значение по умолчанию вполне подходит для локального веб-сервера – т.е. здесь можно просто ничего не менять.
Далее идёт большой список модулей. Некоторые их них отключены (строки закомментированы, т.е. начинаются с #), а некоторые включены.
На самом деле, всё действительно необходимое уже включено – и для работы большинства веб-сайтов менять ничего не нужно – особенно на локальном веб-сервере. Но есть одно исключение – модуль mod_rewrite по умолчанию отключён. Это очень популярный модуль, например, все ЧПУ (понятные для человека адреса страниц) делаются с помощью него. Вы можете его включить, для этого достаточно найти строку:
и раскомментировать её, т.е. заменить на:
Директива ServerAdmin содержит e-mail администратора, этот адрес электронной почты пишется на некоторых страницах веб-сервера, которые автоматически генерируются в случае возникновения ошибок. Подразумеваются, что по этому адресу можно связаться с администратором.
Директива ServerName – это то, как сервер сам себя идентифицирует (называет). Для локального веб-сервера поменяйте строку
запрещает доступ к файловой системе веб-сервера (пока это не разрешено явно) и запрещает использовать файлы .htaccess (пока это не разрешено явно).
Далее идёт довольно объёмная конструкция, но если удалить из неё комментарии, то получается следующее:
DocumentRoot – это директория, где по умолчанию находятся сайты. По умолчанию именно там ищутся все пришедшие на веб-сервер запросы. Укажите здесь путь до корневой папки в веб-документами. Конечный слэш писать не нужно.
Конструкция … нам уже встречалась. Но здесь указывается конкретная папка, для который делаются настройки. Эти настройки перезаписывают общие, которые указаны ранее.
Пути до папок в DocumentRoot и Directory не забудьте поменять на свои!
Обратите внимание, что для установки настроек вновь используется переменная $ , значение которой было присвоено в самом начале. Если использовать синтаксис с $ , то корневая папка документов должна обязательно находится в корневой папке сервера. Я настраиваю сервер по-другому — у меня исполнимые файлы отделены от файлов сайтов, поэтому вместо переменной, можно просто прописать пути до нужной папки с сайтами:
Директива Options включает разные опции. По умолчанию указаны опции Indexes и FollowSymLinks. Первая (Indexes) означает показывать индексные файлы, если запрос не содержит имени файла. Допустим, пользователь открывает адрес http://localhost/site/, то если в этой папке есть индексный файл (например, index.html или index.php), то будет показан этот файл. Понятно, что если сделан запрос на определённый файл, например, http://localhost/site/page.html, то будет показана запрошенная страница.
Вторая опция (FollowSymLinks) означает следовать символьным ссылкам. Это что-то вроде ярлыков в Windows. В Linux с помощью таких ссылок можно собрать в одном сайте файлы, размещённые в различных папках файловой системы. На самом деле, для начинающих администраторов сервера это не очень нужно.
Директива AllowOverride установлена на None, это означает запрет использовать файлы .htaccess. На своём сервере я разрешаю файлы .htaccess (нужны для mod_rewrite, ограничения доступа), поэтому я заменяю её значение на All, получается так:
А директива Require all granted открывает посетителям доступ для веб-документов.
Я уже упомянул индексные файлы, перечень индексных файлов устанавливается конструкцией:
Там всего один файл — index.html. Можно дописать любое количество своих собственных. Я меняю:
Другие настройки обычно не требуется менять для локального веб-сервера.