源码编译 nginx 后应清理中间文件:先执行 make clean 删除 objs/ 下构建产物;再手动删除 auto/ 下 configure 生成的临时文件及冗余 makefile;最后检查并清除环境变量中临时 path 及残留解压目录。

源码编译 Nginx 后,中间文件主要留在源码目录里,不清理会占用空间、干扰重编译。关键不是全删,而是分清哪些能删、哪些不能动——已安装的二进制和配置不受影响,只清构建过程产生的“临时痕迹”。
执行 make clean 清理核心构建产物
这是最安全、必须做的第一步,只删 objs/ 下的编译输出,不动源码和脚本:
- 进入当初运行 ./configure 的源码目录(如 /root/nginx-1.24.0)
- 运行 make clean —— 它会自动删除 objs/ 中所有 .o、.d 文件及生成的 nginx 可执行文件
- 注意:它不会删 Makefile、auto/ 下的自动生成头文件或检测结果,也不会影响 /usr/local/nginx 下已安装的内容
手动清除 configure 生成的构建痕迹
./configure 运行后会在源码根目录留下非原始文件,建议一并清理:
- 检查并删除 auto/headers、auto/options、auto/types/ 等子目录中由 configure 自动生成的临时文件
- 确认是否还保留了 Makefile 和 objs/Makefile;若不再需要该版本源码,可直接删掉整个 Makefile
- 如果源码包只是临时解压(如在 /tmp/nginx-1.24.0),解压目录本身也可一并删除
检查并清理环境变量中的临时路径
编译时常会临时加 PATH(比如把 nginx 二进制路径前置),残留会影响命令查找和磁盘空间判断:
- 搜索相关配置:grep -n "nginx\|local.*nginx" ~/.bashrc ~/.bash_profile ~/.profile /etc/profile
- 编辑对应文件,删掉含 export PATH= 的行(尤其是类似 export PATH=/usr/local/nginx/sbin:$PATH 的)
- 执行 source ~/.bashrc(或你修改的文件),再用 echo $PATH 确认路径已移除
快速扫尾,避免遗漏隐藏残留
最后花一分钟过一遍常见位置,确保没有漏网之鱼:
- 检查是否有遗留压缩包或解压目录:ls -d /root/nginx-*/ /usr/src/nginx-*/ /tmp/nginx-*/ 2>/dev/null
- 确认无构建缓存:运行 find . -name "*.o" -o -name "*.d" -o -name "nginx" -path "./objs/*" 2>/dev/null | head -5,应无输出
- 若已切换到其他版本或不再维护该源码,整份源码目录可直接删除











