源码安装 nginx 后清理编译垃圾需三步:先在源码目录执行 make clean 清除 objs/ 下 .o、.d 和 nginx 二进制;再手动删除 makefile、auto/ 下自动生成文件;最后清理 path 环境变量及临时解压目录。

源码安装 Nginx 后,编译过程会在源码目录生成大量中间文件(如 .o、.d、objs/ 目录、Makefile 等),这些不参与运行但占磁盘空间,也干扰后续重编译。清理关键是分清“编译残留”和“已安装文件”,只删前者。
回到源码目录执行 make clean
这是最安全、最标准的第一步,仅清除构建产物,不碰源码和配置脚本:
- 进入当初解压并运行
./configure的目录,例如/root/nginx-1.24.0或/usr/src/nginx-1.24.0 - 运行
make clean—— 它会删除objs/下所有.o、.d文件及生成的nginx二进制 - 注意:
make clean不会删Makefile、auto/下自动生成的头文件或检测结果,也不会影响已安装到/usr/local/nginx的内容
手动清理 configure 生成的构建痕迹
./configure 运行后会在源码根目录留下非源码文件,建议一并移除:
- 删除
Makefile和残留的objs/(若make clean没清干净) - 检查
auto/headers、auto/options等子目录,删掉里面由 configure 自动生成的临时头或标记文件 - 如果不再需要该版本源码包,可直接
rm -rf nginx-*.tar.gz nginx-*/
检查并清理环境变量中的路径引用
编译时若临时加过 PATH(比如 export PATH=/usr/local/nginx/sbin:$PATH),残留会影响命令查找和磁盘空间误判:
- 搜索相关配置:
grep -n "nginx\|local.*nginx" ~/.bashrc ~/.bash_profile ~/.profile /etc/profile - 编辑对应文件,删掉含
export PATH=的行 - 执行
source ~/.bashrc(或你修改的文件),再用echo $PATH确认路径已消失
验证是否还有隐藏编译残留
快速扫一遍常见位置,避免遗漏:
- 检查是否有遗留压缩包或解压目录:
ls -d /root/nginx-*/ /usr/src/nginx-*/ /tmp/nginx-*/ 2>/dev/null - 确认无构建缓存:
find /usr/src -name "nginx*" -type d 2>/dev/null - Debian/Ubuntu 用户可顺带查 apt 缓存:
apt clean(虽不相关,但常被误认为 nginx 残留)











