温馨提示×

哪里设置Linux日志路径

小樊
67
2026-07-18 10:56:45
栏目: 智能运维

在 Linux 中,“日志路径”具体要看你指的是系统日志某个服务的日志,还是应用程序的日志。下面按常见场景给你说明。


一、系统日志路径(最常见)

1. 使用 rsyslog(大多数发行版)

配置文件:

/etc/rsyslog.conf
/etc/rsyslog.d/*.conf

日志默认路径(常见):

/var/log/messages      # 一般信息(CentOS/RHEL)
/var/log/syslog        # 系统日志(Ubuntu/Debian)
/var/log/secure        # 安全、登录相关
/var/log/cron          # 定时任务

修改日志路径示例:

# 把 auth 日志写到自定义路径
auth.*    /data/logs/auth.log

修改后重启:

systemctl restart rsyslog

2. 使用 systemd-journald(systemd 系统)

日志由 journald 管理,默认不生成普通文件,而是二进制日志。

配置文件:

/etc/systemd/journald.conf

相关参数:

Storage=persistent   # 持久化
Compress=yes

查看日志:

journalctl

⚠️ journald 不直接设置“日志文件路径”,而是控制是否写入 /var/log/journal


二、应用 / 服务日志路径

1. Nginx

/etc/nginx/nginx.conf
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;

2. Apache

/etc/httpd/conf/httpd.conf        # CentOS
/etc/apache2/apache2.conf        # Ubuntu
ErrorLog /var/log/httpd/error_log
CustomLog /var/log/httpd/access_log combined

3. MySQL / MariaDB

/etc/my.cnf
/etc/mysql/my.cnf
[mysqld]
log-error=/var/log/mysql/error.log

4. Docker

/etc/docker/daemon.json
{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m",
    "max-file": "3"
  }
}

三、用户程序 / 自定义程序

通常由程序自身配置:

  • 配置文件(.conf / .yaml / .properties
  • 环境变量
  • 启动参数

例如:

./app --log-path=/data/logs/app.log

四、快速定位某个服务的日志路径

systemctl status 服务名

或:

grep -R "log" /etc/服务名/

五、总结速查表

类型 配置文件
系统日志 /etc/rsyslog.conf
systemd 日志 /etc/systemd/journald.conf
Nginx /etc/nginx/nginx.conf
Apache /etc/httpd//etc/apache2/
MySQL /etc/my.cnf
Docker /etc/docker/daemon.json

如果你能告诉我:

  • ✅ 是 系统日志 还是 某个具体服务
  • ✅ Linux 发行版(CentOS / Ubuntu / Rocky 等)

我可以给你精确到文件 + 行数的修改示例。

0