我刚刚使用该命令在Ubuntu 14.04上安装了nginx
sudo apt-get install nginx
Run Code Online (Sandbox Code Playgroud)
现在,当我打开浏览器并输入地址时,localhost
我正确地显示了"欢迎使用nginx"页面.此外,我检查了位于的配置文件,/etc/nginx/nginx.conf
并找到以下日志设置:
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
Run Code Online (Sandbox Code Playgroud)
但是,当我检查这两个文件时,两个文件都是空的.我多次打开localhost
页面,但日志文件仍为空.我的设置可能有什么问题?
inf*_*net 32
将nginx重新安装到较新版本后,我遇到了同样的问题.似乎日志文件所有权已更改,新的nginx无法保存任何内容.
删除日志文件并重新加载nginx对我有用:
$ sudo rm -f /var/log/nginx/*
$ sudo nginx -s reload
Run Code Online (Sandbox Code Playgroud)
看起来默认情况下它们被设置为转到 stdout 和 stderr。
lrwxrwxrwx 1 root root 11 Apr 27 2016 access.log -> /dev/stdout
lrwxrwxrwx 1 root root 11 Apr 27 2016 error.log -> /dev/stderr
Run Code Online (Sandbox Code Playgroud)
所以你可以删除符号链接,应该没问题。
rm -f /var/log/nginx/*
Run Code Online (Sandbox Code Playgroud)
对于所有像我一样来到这里是为了弄清楚为什么日志文件是空的,并且没有意识到您实际上可能在一个 docker 容器内,就像另一个答案中的一个评论所暗示的那样,只需打开一个新的 shell,然后尾随日志
docker logs {your-container-id-here} -f