最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Nginx 源码安装如何卸载旧版本并清理残留文件
时间:2026-08-28 11:18:49 编辑:袖梨 来源:一聚教程网
源码安装的 Nginx 卸载需手动清除全部残留:先停服务并确认进程与端口释放,再删除安装目录、日志、配置、服务文件及环境变量,清理编译产物后验证命令、路径和端口无 nginx 痕迹。
源码安装的 Nginx 没有包管理器跟踪,卸载必须手动操作。关键不是只删掉 nginx 二进制文件,而是把散落在各处的配置、日志、服务定义、环境变量和编译残留一并清除。
先停服务,确认进程已退出
避免残留进程干扰后续清理:
- 用
ps aux | grep nginx查主进程,若有输出,执行sudo /usr/local/nginx/sbin/nginx -s stop(路径以实际--prefix为准) - 若不确定安装路径,运行
nginx -V 2>&1 | grep "prefix"查看 configure 时指定的根目录 - 执行
sudo lsof -i :80或sudo ss -tuln | grep ':80|:443',确认端口已释放
删主安装目录及关联路径
按 --prefix 路径统一清理,不跳过子目录:
- 删除整个安装目录,例如:
sudo rm -rf /usr/local/nginx(替换成你查到的实际路径) - 清理常见软链或复制的二进制:
sudo rm -f /usr/sbin/nginx /usr/local/sbin/nginx - 删默认日志与缓存位置:
sudo rm -rf /var/log/nginx /var/cache/nginx /var/lib/nginx - 删配置目录(若 configure 时未指定
--conf-path,通常为/etc/nginx):sudo rm -rf /etc/nginx
清系统服务与环境变量
这些残留会影响新部署或命令调用:
- systemd 服务:执行
sudo systemctl disable nginx,再删服务文件sudo rm -f /etc/systemd/system/nginx.service,最后sudo systemctl daemon-reload - init.d 脚本(旧系统):
sudo rm -f /etc/init.d/nginx,并运行sudo chkconfig nginx off - 检查 shell 配置:
grep -n "nginx|local.*nginx" ~/.bashrc ~/.profile /etc/profile,删掉相关export PATH=...行,再执行source ~/.bashrc
清理编译残留与验证是否干净
别忘了当初解压编译的源码目录本身也是“垃圾源”:
- 进入原始源码目录(如
/root/nginx-1.27.0),运行make clean清除objs/下的对象文件 - 手动删掉
Makefile、objs/(若make clean未清空)、auto/下临时头文件等 - 若不再需要源码包,可一并删掉
nginx-*.tar.gz和解压目录 - 验证三要素:
nginx -v报 “command not found”;ls /usr/local/nginx报 “No such file or directory”;sudo lsof -i :80无 nginx 输出