| 1x | Установка и настройка сервера FreeBSD apache php mysql. Пошаговая инструкция. | 300.00 руб |
Перезапуск apache сервера (apache restart)
Приветствую!
Сегодняшнее поговорим о том, как правильно перезапускать apache сервер
Иногда бывает нужно перезапустить веб сервер — скажем, если какой-то скрипт зациклился и съедает все процессорное время, или если нужно внести какие-то изменения в конфигурацию веб-сервера.
В случае с apache сервером есть несколько вариантов — правильные и не-правильные (но работающие :).
Начнем с правильных вариантов:
Команда 'apachectl start' запускает веб-сервер, если он в данный момент не запущен.
Команда 'apachectl stop' останавливает веб-сервер, если он в данный момент запущен.
Команда 'apachectl restart' перезапускает веб-сервер, если он в данный момент запущен. Если он не запущен — тогда она просто выдаст сообщение об ошибке и запустит его.
Все эти действия приводят к отключению всех клиентов, которые в данный момент пользуются сервером.
Если всего-лишь нужно считать новую конфигурацию — тогда достаточно команды 'apachectl graceful'.
Вроде все просто? А как просмотреть, есть ли работающие процессы apache в данный момент?
Можно запустить команду 'ps -ax' (в Linux — 'ps ax') и отфильтровать оттуда строчки, относящиеся к вебсерверу.
Окончательная команда получится 'ps -ax | grep httpd | grep -v grep'.
Если эта команда выдает вам какой-то результат — то у вас запущен apache.
Другой способ проверить, работает ли у вас apache — это просто присоединиться к нему с консоли. Для этого можно использовать команду telnet. Выглядеть сессия будет следующим образом:
@aldan ~> telnet localhost 80
Trying 127.0.0.1...
Connected to aldan.
Escape character is '^]'.
GET / HTTP/1.0
HTTP/1.1 200 OK
Date: Fri, 07 Nov 2008 22:44:25 GMT
Server: Apache/2.2.9 (Ubuntu) PHP/5.2.6-2ubuntu4 with Suhosin-Patch
Content-Length: 7634
Connection: close
Content-Type: text/html;charset=UTF-8
<html> ..... текст страницы </html>
Самое важное здесь — это команда 'telnet localhost 80', которая устанавливает соединение с вашим веб-сервером и строчка, которую вы должны ввести - 'GET / HTTP/1.0', которая вызывает загрузку основной странички. После ввода этого заголовка 2 раза нажмите Enter.
Другой правильный способ контролировать статус веб сервера
Самым правильным способом перезапуска веб сервера, все-таки, является .... как вы и догадались - использование скриптов запуска.
Поскольку в FreeBSD они лежат в /usr/local/etc/rc.d/, то и запускать их нужно оттуда-же.
Запуск сервера - /usr/local/etc/rc.d/httpd start
Остановка сервера - /usr/local/etc/rc.d/httpd stop
Перезапуск сервера - /usr/local/etc/rc.d/httpd restart
Только это все не будет работать, если у вас не прописана следующая строчка в /etc/rc.conf
httpd_enable=YES
Добавьте ее в /etc/rc.conf и после этого можете смело использовать скрипт запуска apache.
Нецивилизованный метод контроля apache
Если вам нужно остановить работу всего httpd сервера, то от имени пользователя root сделайте команду 'killall -9 httpd' — это напрочь убьет ВСЕ процессы веб-сервера. После этого поможет только его старт заново. Если при этом у вас клиенты что-то качали с сайта — то .... до свидания, клиенты — все будут отсоединены.
Пожалуй на сегодня все с перезапуском apache :)
Больше подробностей вы можете найти в моей книжке по настройке веб сервера - «Создай вебсервер своему чертенку»
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии


![Раскрыть блок корзины. []](/sites/all/modules/ubercart/uc_cart/images/bullet-arrow-up.gif)