容器中的nginx日志
1. nginx容器中的日志
root@op-web-584664588b-629q2:/var/log/nginx# pwd
/var/log/nginx
root@op-web-584664588b-629q2:/var/log/nginx# ls -l
total 32
lrwxrwxrwx 1 root root 11 Jul 22 10:13 access.log -> /dev/stdout
lrwxrwxrwx 1 root root 11 Jul 22 10:13 error.log -> /dev/stderr
如上可见:
- 日志位置
/var/log/nginx
目录下 - 日志输出
是两个软连接,分别输出到/dev/stdout
和/dev/stderr
两个位置。
这实际是输出到了容器的前台日志。(我们在容器中读这个文件是没有输出的)
2. nginx容器日志持久化
持久化存储只需要将/var/log/nginx 目录挂载出来,两个软连接自然就没有了,日志被保存在文件中。
但此时,容器前台日志也不会输出这些信息了。
- 测试一下
nginx.conf 设置如下(当然k8s是通过configmap挂载出来的)
为了对比,我们保留两个软连接,重新创建两个日志文件
http {
error_log /var/log/nginx/error2.log info;
rewrite_log on;
access_log /var/log/nginx/access2.log;
......
结果
root@op-web-584664588b-629q2:/var/log/nginx# ls -l
total 44
lrwxrwxrwx 1 root root 11 Jul 22 10:13 access.log -> /dev/stdout
-rw-r--r-- 1 root root 35557 Sep 9 03:15 access2.log
lrwxrwxrwx 1 root root 11 Jul 22 10:13 error.log -> /dev/stderr
-rw-r--r-- 1 root root 3596 Sep 9 03:08 error2.log
root@op-web-584664588b-629q2:/var/log/nginx# tail -f error2.log
2021/09/09 03:17:20 [notice] 40#40: sched_setaffinity(): using cpu #10
2021/09/09 03:17:20 [notice] 1#1: start worker process 42
2021/09/09 03:17:20 [notice] 41#41: sched_setaffinity(): using cpu #11
2021/09/09 03:17:20 [notice] 1#1: start worker process 43
2021/09/09 03:17:20 [notice] 42#42: sched_setaffinity(): using cpu #12
2021/09/09 03:17:20 [notice] 1#1: start worker process 44
2021/09/09 03:17:20 [notice] 43#43: sched_setaffinity(): using cpu #13
2021/09/09 03:17:20 [notice] 44#44: sched_setaffinity(): using cpu #14
2021/09/09 03:17:20 [notice] 1#1: start worker process 45
2021/09/09 03:17:20 [notice] 45#45: sched_setaffinity(): using cpu #15
posted on 2021-09-15 19:58 运维开发玄德公 阅读(251) 评论(0) 编辑 收藏 举报 来源