Перезапуск Apache в Ubuntu: 3 рабочих способа, о которых вы не знали

Перезапуск Apache в Ubuntu: 3 рабочих способа, о которых вы не знали

Ваш сайт на Apache внезапно "завис" после изменения настроек? Не спешите паниковать и перезагружать весь сервер! Есть куда более элегантные решения, которые сохранят нервы вам и бесперебойную работу вашим пользователям.

Мы часто вносим правки в конфигурационные файлы, настраиваем модули PHP или меняем глобальные параметры веб-сервера. Но после этого Apache необходимо перезагрузить, иначе изменения просто не вступят в силу.

Знаете ли вы, что существует два принципиально разных подхода к перезапуску? Жесткий `restart`, который обрывает все соединения, и "мягкий" `reload` или `graceful`, позволяющий серверу плавно применить новые настройки, не прерывая текущие сессии пользователей.

В этом материале мы разберем не один, а целых три рабочих способа перезапуска Apache в Ubuntu. Вы узнаете, как использовать современный `systemctl`, классический `service` и рекомендованный разработчиками `apachectl`. Мы покажем, как выполнить эту операцию как через командную строку, так и через популярные панели управления, например, VestaCP.

Вы научитесь проверять статус службы после перезагрузки, чтобы убедиться, что все прошло успешно и ваш сайт снова работает как часы. Готовы сделать администрирование вашего веб-сервера более осознанным и профессиональным? Тогда начинаем!


Apache - это один из самых популярных веб-серверов, которые используются для размещения сайтов. Наверное, он даже популярнее, чем Nginx, поскольку его намного проще настроить и есть поддержка изменения конфигурации для каждой отдельной папки с помощью файлов htaccess, причем сразу же, на лету. Но когда вы поменяли глобальные настройки Apache или изменили параметры PHP, Apache необходимо перезагрузить.

В этой небольшой статье мы рассмотрим какими способами выполняется перезапуск apache ubuntu и как это делать более правильно.


Содержание статьи

Перезапуск Apache в Ubuntu

Как и в большинстве других дистрибутивов, в Ubuntu используется система управления службами systemd. Именно ее мы и будем использовать для решения наших задач. Сначала давайте посмотрим запущен ли Apache и не выдает ли он каких ошибок:

sudo systemctl status apache2

Перезапуск Apache в Ubuntu: 3 рабочих способа, о которых вы не знали

 

 

В отличие от CentOS и других RedHat дистрибутивов, здесь Apache называется не httpd, а apache2. Поэтому если вы попытаетесь делать что-то с httpd, то у вас ничего не выйдет.

У нас есть два различных пути перезапуска Apache и несколько команд для выполнения нужных операций:

  • Вы можете полностью перезапустить Apache, программа закроется и откроется заново, собьется вся статистика и оборвутся соединения. Некоторое время, пока сервис будет перезагружаться, пользователи не смогут получить к нему доступ. restart (stop start);
  • Можно инициировать обновление конфигурационных файлов. В таком случае программа рекомендует своим дочерним процессам завершиться, когда они закончат обработку соединений и обновит свою конфигурацию без фактического перезапуска. Такой способ позволяет минимизировать потери пользователей. reload, graceful.

Для перезагрузки можно использовать три команды, это systemd, service и apachectl. Разработчики Apache рекомендуют использовать apachectl, но все другие команды просто являются оболочками для этой. Сначала systemctl:

sudo systemctl restart apache2
sudo systemctl reload apache2

Перезапуск Apache в Ubuntu: 3 рабочих способа, о которых вы не знали

Если вы хотите использовать service, то можно не писать sudo, тогда система спросит вас пароль сама:

service restart apache2
service reload apache2

Последний способ перезагрузки Apache - использовать apachectl:

apachectl -k restart
apachectl -k graceful

В каждой паре первая команда означает жесткую перезагрузку, а вторая - обновление конфигурации без перезагрузки сервиса. Вместо apachectl еще можно использовать ее алиас - apache2ctl. После перезагрузки посмотрите все ли правильно работает:

sudo systemctl status apache2

 

Более подробную информацию можно увидеть выполнив:

apachectl status

Перезапуск Apache в Ubuntu: 3 рабочих способа, о которых вы не знали

Если вас интересует ответ на вопрос, как запустить apache, то используйте команду start:

$ sudo systemctl start apache2

 

Перезапуск Apache в панели управления

Если вы используете панель управления сервером через веб-интерфейс, например, VestaCP, это сделать достаточно просто. Сначала откройте вкладку "Server":

Перезапуск Apache в Ubuntu: 3 рабочих способа, о которых вы не знали

Затем просто найдите в списке Apache и нажмите "Restart":

Перезапуск Apache в Ubuntu: 3 рабочих способа, о которых вы не знали

Выводы

В этой статье мы рассмотрели как выполняется перезапуск apache ubuntu, несмотря на то, что это очень просто и вряд ли может вызвать проблемы, есть несколько способов, и теперь вы их знаете. Если у вас остались вопросы, спрашивайте в комментариях.

Оставить комментарий


Кликните на изображение чтобы обновить код, если он неразборчив