小皮面板如何清理网站日志文件
学会这篇,你就能自己找到小皮面板里的网站日志、安全地清空它,并配好自动轮转,让日志不再把磁盘撑爆。
日志文件不会自己变小,跑上几个月,一个访问量中等的站点攒出几个 G 的 access.log 很常见。下面按「先定位、再清理、后自动化」的顺序来。
第一步:先确认日志文件到底在哪
这一步要拿到日志的真实路径,不然清理就是瞎找。
如果你用的是 小皮面板 Linux 版(xp 面板),日志默认集中在 /www/wwwlogs/ 目录,每个站点对应两个文件:你的域名.log(访问日志)和 你的域名.error.log(错误日志)。
如果你用的是 Windows 版 phpstudy_pro(v8.x),路径取决于你选的环境:
- Nginx:
D:\phpstudy_pro\Extensions\Nginx1.25.3\logs\access.log和error.log - Apache:
D:\phpstudy_pro\Extensions\Apache2.4.39\logs\access.log和error.log - 盘符和版本号以你本机实际安装目录为准
最稳的办法是让面板告诉你:登录面板后进入 「网站」→ 找到对应站点 → 点「设置」(齿轮图标)→ 「日志」 选项卡,页面上会直接显示日志文件路径。也可以在「网站」列表页点站点的 「日志」 按钮,直接预览最近的访问记录。
注意:不同小版本的面板菜单文字略有差异,找不到「日志」就先看「设置」里有没有「配置文件」,从
access_log那一行读出路径。
第二步:用面板自带的清理功能(优先用这个)
这一步做完,日志内容会被清空,文件本身保留。
在小皮面板 Linux 版的 「网站 → 站点 → 日志」 页面里,找到 「清空日志」 按钮,点一下即可。Windows 版 phpstudy_pro 的「网站」管理界面如果没这个按钮,就跳过,直接进第三步。
注意:部分版本的「清理日志」是删除整个文件,之后需要重启一次 Web 服务(Nginx/Apache)才会重新生成,站点会短暂中断 1~2 秒,选低峰期操作。
第三步:命令行手动清空(通用做法)
面板没按钮、或者日志文件被拆得很散时,用命令行最干脆。
Linux(SSH 登录后执行):
truncate -s 0 /www/wwwlogs/example.com.log
# 批量清空所有站点日志
find /www/wwwlogs/ -name "*.log" -exec truncate -s 0 {} \;
# 查看清空效果
du -sh /www/wwwlogs/
Windows(管理员身份打开 PowerShell 或 CMD):
# PowerShell
Clear-Content "D:\phpstudy_pro\Extensions\Nginx1.25.3\logs\access.log"
# CMD
type nul > "D:\phpstudy_pro\Extensions\Nginx1.25.3\logs\access.log"
注意:不要直接
rm掉正在被 Nginx 写入的日志文件。Linux 下删了文件,Nginx 仍持有句柄,磁盘空间不会释放,df -h看着还是满的;必须执行nginx -s reload或重启服务才能真正回收。Windows 下文件被占用时更会直接删除失败。
第四步:配置 logrotate 自动轮转(Linux 必做)
前面都是手工活,这一步让它以后自动干。
新建配置文件 /etc/logrotate.d/xp-wwwlogs,写入:
/www/wwwlogs/*.log {
daily
rotate 7
missingok
notifempty
compress
delaycompress
copytruncate
}
含义是:每天切割一次,保留 7 份,压缩旧文件。执行 logrotate -d /etc/logrotate.d/xp-wwwlogs 可以干跑测试语法,去掉 -d 才会真正执行。
注意:
copytruncate这一行很关键。不加它,logrotate 靠重命名文件轮转,Nginx 会继续往旧句柄写;加上它则是「复制一份再清空原文件」,不需要 reload 服务,对面板环境最省事。
第五步:不想留日志就干脆关掉
如果你的站点不需要访问日志(比如纯静态展示站),可以直接关。
在面板 「网站 → 站点 → 设置 → 配置文件」 里,找到对应站点的 server 块,在 server { 内部加一行:
access_log off;
保存后点 「重载配置」 或 「重启」 使配置生效。错误日志建议保留,排查问题时全靠它。
注意:改配置文件前先复制一份备份,写错一个分号就会导致 Nginx 启动失败,整个面板下的站点都会 502。
小结
- 日志位置:Linux 版在
/www/wwwlogs/;Windows 版在phpstudy_pro\Extensions\<环境>\logs\,以面板「设置 → 日志」显示为准 - 优先用面板「网站 → 站点 → 日志 → 清空日志」,省事且不用 reload
- 命令行清空用
truncate -s 0 文件名,Windows 用Clear-Content或type nul > - 别直接删除正在写入的日志文件,空间不会立刻释放,需要 reload Nginx
- Linux 上配
/etc/logrotate.d/xp-wwwlogs实现每天自动轮转,记得加copytruncate - 不需要访问日志时,在 server 块里加
access_log off;并备份配置
原文链接:https://www.gj0.com/thread-943.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。