nginx日志如果不加限制,会把服务器空间写满,这时候如果直接rm删除log文件,磁盘空间不会直接释放。
未释放磁盘空间原因:
在Linux或者Unix系统中,通过rm或者文件管理器删除文件将会从文件系统的目录结构上解除链接(unlink).然而如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也一直被占用。而我删除的是nginx的log文件删除的时候文件应该正在被使用。
解决方法:
重启nginx服务,或者用echo "" > /usr/local/nginx/logs/access.log清空日志文件,而不是直接删除。/usr/local/nginx路径替换成实际的nginx路径。
该解决方法对其它应用产生的日志文件也有效
如果已经删除文件,nginx -s reload不会生效,需要:
1 |
nginx -s stop && nginx #重启nginx |
当nginx日志文件占满磁盘,直接删除不会释放空间,因文件可能仍被使用。解决方案包括重启nginx服务或使用`echo>/usr/local/nginx/logs/access.log`清空日志,而非直接删除。若已删除文件,需通过`nginx-sstop&&nginx`重启服务来释放空间。
218

被折叠的 条评论
为什么被折叠?



