You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

nginx/1.22.1无法写入自定义access.log日志求助

Nginx自定义访问日志无法写入的排查方向

我安装了nginx/1.22.1,主配置/etc/nginx/nginx.conf里的access.log能正常写入,但/etc/nginx/conf.d/default.conf中配置的自定义访问日志却无法写入。日志文件权限看起来没问题,求排查方向。

相关信息如下:

nginx -v
nginx version: nginx/1.22.1

cat /etc/nginx/conf.d/default.conf
server {

    listen       80;
    server_name  www.knowscore.de;

    access_log /var/log/nginx/default-access-logs.log;

    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    add_header Proxy pi5;

    location / {
        proxy_pass http://127.0.0.1:8008;
    }

}

ls -al /var/log/nginx/
total 16
drwxr-xr-x  2 www-data www-data 4096 Nov 17 07:59 .
drwxr-xr-x 12 root     root     4096 Nov 16 16:03 ..
-rw-r-----  1 www-data www-data 4035 Nov 17 08:19 access.log
-rw-r--r--  1 www-data www-data    0 Nov 17 07:59 default-access-logs.log
-rw-r-----  1 www-data www-data   78 Nov 16 16:03 error.log

排查方向:

  • 验证配置并重载:执行nginx -t检查配置语法是否正确,无报错后执行nginx -s reload确保配置生效
  • 确认请求命中目标server:测试时指定Host头访问,比如curl -H "Host: www.knowscore.de" http://你的服务器IP,确保请求被该server块处理
  • 检查Nginx worker进程用户:执行ps aux | grep nginx,确认worker进程运行用户为www-data
  • 查看错误日志详情:检查/var/log/nginx/error.log,寻找日志写入相关的报错(如SELinux限制、文件系统问题)
  • 显式指定日志格式:在自定义access_log后添加格式,比如access_log /var/log/nginx/default-access-logs.log combined;,避免格式缺失导致的隐性问题
  • 手动测试写入权限:切换到www-data用户(su - www-data -s /bin/bash),执行echo "test" >> /var/log/nginx/default-access-logs.log,验证文件是否可写
  • 检查目录特殊权限:确认/var/log/nginx/目录没有设置特殊权限(如chattr),导致无法创建或写入文件

内容的提问来源于stack exchange,提问作者Christian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 02:33:26