Điểm:0

Apache2 ghi vào /dev/stdout thay vì /var/log/apache2/access.log (sử dụng docker)?

lá cờ cl

tôi đang chạy apache2 2.4.10 trong bộ chứa docker debian sử dụng tệp docker-compose bên dưới:

phiên bản: '3.8'
dịch vụ:
  apache2-php:
    container_name: apache2-php-container
    hình ảnh: apache2-php-hình ảnh
    xây dựng:
      ngữ cảnh: ./docker/apache2
    cổng:
      - "8082:80"
    khối lượng:
      - ./docker/apache2/index.php:/var/www/index.php
 

với trang web này.

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

Nó vẫn chạy tốt nhưng vì một số lý do, nhật ký được ghi vào thiết bị xuất chuẩn/thiết bị xuất chuẩn thay vì các tệp được chỉ định ở trên. Tôi cũng thấy:

$ ls -la /var/log/Apache2
tổng số 8
drwxrwxrwx 2 www-data www-data 4096 ngày 29 tháng 12 năm 2018 .
drwxr-xr-x 1 root root 4096 29/12/2018 ..
lrwxrwxrwx 1 www-data www-data 11 ngày 29 tháng 12 năm 2018 access.log -> /dev/stdout
lrwxrwxrwx 1 www-data www-data 11 ngày 29 tháng 12 năm 2018 error.log -> /dev/stderr
lrwxrwxrwx 1 www-data www-data 11 ngày 29 tháng 12 năm 2018 other_vhosts_access.log -> /dev/stdout

Tôi có cần thêm một số tùy chọn trong trang web của mình để buộc apache2 ghi vào các tệp thực thay vì vào thiết bị xuất chuẩn/thiết bị xuất chuẩn không?

Điểm:0
lá cờ cc

Vì một số lý do, đó là các liên kết tượng trưng đến các tệp thiết bị cho thiết bị xuất chuẩn và thiết bị xuất chuẩn. Để làm cho Apache ghi vào các tệp thực tế, bạn chỉ cần xóa các liên kết tượng trưng và khởi động lại Apache:

sudo rm /var/log/apache2/{access,error,other_vhosts_access}.log
sudo systemctl khởi động lại apache2
lá cờ cl
Xin lỗi đã bỏ qua các chi tiết docker vì tôi cho rằng nó không liên quan nhưng điều này có thể do một số quy ước docker gây ra rằng nhật ký luôn được ghi vào thiết bị xuất chuẩn trừ khi có cấu hình rõ ràng nào đó được đặt - nếu có thể?
lá cờ cc
Tôi không thể nói, tôi không quen thuộc với Docker.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.