Рейтинг:0

Apache2 пишет в /dev/stdout вместо /var/log/apache2/access.log (используя докер)?

флаг cl

я бегу апач2 2.4.10 в контейнере debian docker, используя следующий файл docker-compose:

версия: '3.8'
Сервисы:
  apache2-php:
    имя_контейнера: apache2-php-контейнер
    изображение: apache2-php-изображение
    строить:
      контекст: ./docker/apache2
    порты:
      - "8082:80"
    тома:
      - ./docker/apache2/index.php:/var/www/index.php
 

с этим сайтом.

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName localhost
    ServerAlias localhost
    DocumentRoot /var/www
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Он работает нормально, но по какой-то причине журналы записываются в stdout/stderr вместо указанных выше файлов. Также я вижу:

$ ls -la /var/log/apache2
всего 8
drwxrwxrwx 2 www-data www-data 4096 29 декабря 2018 г. .
drwxr-xr-x 1 root root 4096 29 декабря 2018 г. ..
lrwxrwxrwx 1 www-data www-data 11 29 декабря 2018 г. access.log -> /dev/stdout
lrwxrwxrwx 1 www-data www-data 11 29 декабря 2018 г. error.log -> /dev/stderr
lrwxrwxrwx 1 www-data www-data 11 29 декабря 2018 г. other_vhosts_access.log -> /dev/stdout

Нужно ли мне добавить какую-то опцию на мой сайт, чтобы заставить apache2 писать в фактические файлы, а не в stdout/stderr?

Рейтинг:0
флаг cc

По какой-то причине это символические ссылки на файлы устройств для stdout и stderr. Чтобы заставить Apache писать в реальные файлы, вам просто нужно удалить символические ссылки и перезапустить Apache:

sudo rm /var/log/apache2/{доступ,ошибка,other_vhosts_access}.log
sudo systemctl перезапустить apache2
флаг cl
Извините, что упустил детали докера, так как я предполагал, что это не имеет значения, но может ли это быть вызвано каким-то соглашением о докере, согласно которому журналы всегда записываются в стандартный вывод, если не задана какая-либо явная конфигурация - если возможно?
флаг cc
Не могу сказать, я не знаком с Docker.

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

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.