Apache работает?
Я только что взял вебмастери для сайта своей компании и готовлю отчет для моего партнера о стеке LAMP. Но я новый выпускник CS, и единственное, что я действительно хорошо знаю, это Java-кодирование, поэтому мне нужна помощь!
Я пытаюсь выяснить, а) установлен ли Apache и б) какая версия работает.
Моя версия для Linux "Ubuntu 8.04.4 LTS \n \l", как сообщает /etc/issue
,
7 ответов
Это работает?
pgrep apache
Любой вывод хорош, ничего не значит, что он не работает.
Какая версия:
aptitude show apache2
Вы пытались поговорить с ним?
telnet localhost 80
HEAD / HTTP/1.0
<extra carriage return>
Для проверки Apache 1.X см. Ниже, для Apache 2.X см. Ответ wzzrd.
Процесс веб-сервера apache называется httpd, поэтому быстрый способ начать с подтверждения установки и запуска apache:
пс -А | grep 'httpd'
ps -A выводит список всех запущенных процессов. grep 'httpd' фильтрует только строки, содержащие 'httpd'
Если вы не получите никаких результатов, Apache не работает.
Что касается версии, попробуйте:
статус apachectl
на выходе должна быть строка вроде:
Сервер Apache/1.3.41 на www.xyz.com Порт 80
Если он не может найти apachectl, он может не находиться в вашем пути выполнения, попробуйте:
где apachectl
чтобы увидеть, где он находится
Это независимые от распространения способы, поэтому независимо от того, как apache был установлен в системе, вы должны найти его с этими.
Нажмите здесь: http://localhost/ Если вы не получили сообщение об ошибке 404, он работает.
/sbin/service httpd status
Скажу, что у вас его нет | все нормально | это выключено
Для Apache/2.2.22 вы также можете попробовать. Он покажет вам несколько процессов.
ps -A | grep 'apache'
В более новых версиях Ubuntu используется systemd, что означает, что вы можете использовать командуsystemctl
для этой цели:
$ systemctl is-active apache2
active
Если вам не нужны выходные данные, но вы хотите использовать статус в операторе if в сценарии оболочки, вы можете использовать команду--quiet
вариант, вот такой:
if systemctl is-active --quiet apache2 ; then
echo "apache2 is running"
else
echo "apache2 is not running"
fi