Сбои Apache для перезагрузки … Являются там журналом, что я могу заглянуть для деталей?

Мой "человек sudoers" на человечности содержит эту строку в качестве примера

FULLTIMERS ALL = NOPASSWD: ALL

FULLTIMERS является псевдонимом, а не пользователем, но он должен все еще работать при помещении имени пользователя там. Насколько я знаю, NOPASSWD: должен прибыть перед первым упоминанием обо ВСЕХ (после того, как будет равняться знаку) связывать с ним.

12
13.05.2016, 05:48
4 ответа

Вы можете увидеть, где httpd настроен для поиска файлов конфигурации, используя -V переключатель:

$ httpd -V
Server version: Apache/2.2.15 (Unix)
Server built:   Feb 13 2012 22:31:42
Server's Module Magic Number: 20051115:24
Server loaded:  APR 1.3.9, APR-Util 1.3.9
Compiled using: APR 1.3.9, APR-Util 1.3.9
Architecture:   64-bit
Server MPM:     Prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -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=128
 -D HTTPD_ROOT="/etc/httpd"
 -D SUEXEC_BIN="/usr/sbin/suexec"
 -D DEFAULT_PIDLOG="run/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="logs/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"

Вы также можете использовать команду lsof , чтобы узнать, к каким файлам обращается процесс Unix.Моя версия httpd использует стандартный порт 80, поэтому измените 80 на 8443 в вашем случае!

$ netstat -tapn|grep ::80
tcp        0      0 :::80                       :::*                        LISTEN      5338/httpd     

Теперь вы можете запустить lsof , чтобы узнать, куда записываются файлы журнала:

$ lsof -p 5338|grep log
httpd   5338 root  mem    REG  253,0    10440   3141 /usr/lib64/httpd/modules/mod_logio.so
httpd   5338 root  mem    REG  253,0    27200   3139 /usr/lib64/httpd/modules/mod_log_config.so
httpd   5338 root    2w   REG  253,0     2014 395029 /var/log/httpd/error_log
httpd   5338 root    7w   REG  253,0     4140 394789 /var/log/httpd/access_log

Вы сможете определить местоположение access_log , а также файлы конфигурации и просмотрите их, чтобы определить директивы «Каталог» и «Местоположение». Они указывают, какие локальные каталоги следует использовать при сообщении Apache, какие файлы следует обслуживать.

Что теперь?

Затем я бы просмотрел access_log , чтобы убедиться, что там есть записи, соответствующие доступам к серверу. Я имею в виду, что если я просматриваю сервер по адресу http://www.somedom.com/somefile , я увижу этот доступ, записанный в файле access_log следующим образом:

192.168.1.110 - - [17/Jul/2013:14:39:50 -0400] "GET /somefile HTTP/1.1" 200 4303 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/5
37.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36"

Где находятся файлы?

Вы можете взять полученные выше знания и начать применять их следующим образом:

Эти биты из httpd -V сообщают нам корень Apache:

-D HTTPD_ROOT="/etc/httpd"
-D SERVER_CONFIG_FILE="conf/httpd.conf"

Итак, мы знаем, что главный файл конфигурации находится здесь: /etc/httpd/conf/httpd.conf . Поэтому просмотрите этот файл и найдите эти строки:

$ grep -E "DocumentRoot|Directory \"|^Include" /etc/httpd/conf/httpd.conf |grep -v "^#"
Include conf.d/*.conf
DocumentRoot "/var/www/html"
<Directory "/var/www/html">
<Directory "/var/www/icons">
<Directory "/var/www/cgi-bin">
    <Directory "/var/www/error">

Итак, теперь я знаю, что эти каталоги являются потенциальными источниками для файла, который мы видели в access_log . В каталогах DocumentRoot и я бы просматривал файл somefile . Если его нет ни в одном из этих мест, я бы в следующий раз сосредоточился на каталоге Include , упомянутом выше в выводе grep , /etc/httpd/conf.d /*.conf .

Эти файлы представляют собой дополнительные конфигурации, которые использует Apache, поэтому вам нужно будет повторить шаги, используя grep , чтобы также просмотреть эти файлы.

9
27.01.2020, 19:54

Выполнить перезапуск службы apache2 . На экран будет выведено любое сообщение об ошибке (обычно перед остановкой и запуском apache служба выполняет конфигурационный тест)

.
2
27.01.2020, 19:54

Если вы не можете найти лог-файл или лог-файл пуст, вы можете запустить тест конфигурации apache, который распечатает все проблемы с конфигурационными файлами:

apachectl configtest
14
27.01.2020, 19:54

Запустите одну из этих команд:

systemctl status apache2.service
journalctl -xe
0
09.06.2021, 21:39

Теги

Похожие вопросы