Puncte:0

Apache2 scrie în /dev/stdout în loc de /var/log/apache2/access.log (folosind docker)?

drapel cl

alerg apache2 2.4.10 într-un container debian docker folosind fișierul docker-compose de mai jos:

versiunea: „3.8”
Servicii:
  apache2-php:
    container_name: apache2-php-container
    imagine: apache2-php-image
    construi:
      context: ./docker/apache2
    porturi:
      - „8082:80”
    volume:
      - ./docker/apache2/index.php:/var/www/index.php
 

cu acest site.

<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>

Funcționează foarte bine, dar din anumite motive jurnalele sunt scrise în stdout/stderr în loc de fișierele specificate mai sus. De asemenea, vad:

$ ls -la /var/log/apache2
total 8
drwxrwxrwx 2 www-data www-data 4096 Dec 29 2018 .
drwxr-xr-x 1 rădăcină rădăcină 4096 29 decembrie 2018 ..
lrwxrwxrwx 1 www-data www-data 11 Dec 29 2018 access.log -> /dev/stdout
lrwxrwxrwx 1 www-data www-data 11 Dec 29 2018 error.log -> /dev/stderr
lrwxrwxrwx 1 www-data www-data 11 Dec 29 2018 other_vhosts_access.log -> /dev/stdout

Trebuie să adaug o opțiune pe site-ul meu pentru a forța apache2 să scrie în fișierele reale în loc de a stdout/stderr?

Puncte:0
drapel cc

Din anumite motive, acestea sunt legături simbolice către fișierele dispozitivului pentru stdout și stderr. Pentru a face Apache să scrie în fișierele reale, trebuie pur și simplu să eliminați legăturile simbolice și să reporniți Apache:

sudo rm /var/log/apache2/{access,error,other_vhosts_access}.log
sudo systemctl reporniți apache2
drapel cl
Îmi pare rău că am omis detaliile docker, deoarece am presupus că este irelevant, dar ar putea acest lucru să fie cauzat de o convenție docker că jurnalele sunt întotdeauna scrise în stdout, cu excepția cazului în care este setat ceva de configurare explicit - dacă este posibil?
drapel cc
Nu aș putea spune că nu sunt familiarizat cu Docker.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.