centos删除nginx
CentOS系统卸载Nginx:从安装包到配置文件的全流程指南
在CentOS系统中,Nginx作为常用的Web服务器,有时因版本升级、站点迁移或故障修复需要卸载。但卸载过程若操作不当,可能残留配置文件或依赖包,影响后续系统维护。本文将详细介绍不同安装方式下的Nginx卸载方法,以及如何彻底清理残留文件,避免数据丢失。
一、卸载前的准备工作
无论通过何种方式安装Nginx,备份配置文件都是首要步骤。Nginx的核心配置文件(如主配置文件nginx.conf、站点配置文件、SSL证书等)通常位于/etc/nginx目录,而用户自定义的站点配置(如/etc/nginx/conf.d/*.conf)可能分散在不同子目录。建议提前执行:
# 备份Nginx配置目录
cp -r /etc/nginx /etc/nginx_backup
若Nginx运行在非默认端口或有自定义模块,也需记录nginx.conf中include的所有配置文件路径,避免遗漏。
二、不同安装方式的卸载方法
1. 通过yum/dnf安装(最常见方式)

CentOS 7及以上默认使用yum或dnf管理软件包,若Nginx是通过yum/dnf安装,可按以下步骤操作:
(1)停止Nginx服务
# 停止Nginx服务
systemctl stop nginx
# 确认服务状态
systemctl status nginx # 应显示"inactive"
(2)彻底卸载Nginx
使用yum或dnf命令卸载:
# CentOS 7用yum
yum remove nginx
# CentOS 8+用dnf(推荐)
dnf remove nginx
执行后,系统会提示是否确认卸载,输入y并回车。若提示“未找到nginx”,可能是服务已被删除,无需处理。
(3)清理残留依赖
卸载后检查是否有残留包:
rpm -qa | grep nginx # 若无输出,说明已完全卸载
若有残留包(如nginx-all-modules等),用yum remove <残留包名>强制删除。
2. 通过源码编译安装
若Nginx是通过源码编译(如./configure --prefix=/usr/local/nginx安装),需手动清理安装目录:
(1)停止并删除Nginx进程
# 停止Nginx服务(若仍在运行)
killall nginx # 或找到进程PID后kill -9 <PID>
(2)删除源码安装目录
源码安装默认路径为/usr/local/nginx(可通过./configure时的--prefix参数确认),直接删除:
rm -rf /usr/local/nginx
若安装路径非默认,需先通过which nginx或whereis nginx定位可执行文件位置,再删除整个目录。
3. 通过第三方源或rpm包安装
若Nginx是通过rpm -ivh或第三方yum源安装(如EPEL源),需用rpm命令卸载:
# 查看已安装的Nginx包
rpm -qa | grep nginx
# 卸载指定包(替换为实际包名)
rpm -e nginx-1.20.1-1.el7.x86_64
三、卸载后彻底清理
无论何种安装方式,卸载后需检查并删除以下残留:
1. 配置文件残留
yum/dnf安装的Nginx默认配置目录/etc/nginx可能未被完全删除,需手动清理:
rm -rf /etc/nginx
2. 日志文件残留
Nginx日志默认路径为/var/log/nginx,卸载后可删除:
rm -rf /var/log/nginx
3. 系统服务残留
若yum安装时生成了systemd服务文件(如/etc/systemd/system/nginx.service),需删除:
rm -f /etc/systemd/system/nginx.service
systemctl daemon-reload # 刷新systemd配置
四、常见问题与解决方法
问题1:卸载后Nginx仍显示“未安装”但无法重新安装
原因:yum/dnf缓存未清理,导致安装时读取旧缓存。
解决:执行yum clean all或dnf clean all清理缓存,再重新安装。
问题2:源码安装后make uninstall失败
原因:源码编译时未生成uninstall目标(部分版本无此选项)。
解决:直接删除安装目录(需确认路径,避免误删其他程序):
rm -rf /usr/local/nginx # 若安装路径为/usr/local/nginx
五、总结
卸载Nginx的核心是“分情况处理安装方式+彻底清理残留”:
- yum/dnf安装:先停服务,再用yum/dnf卸载,最后清理配置目录;
- 源码安装:直接删除安装目录,或通过
make uninstall; - 第三方rpm包:用
rpm -e指定包名。
操作前务必备份配置文件,避免因误操作导致站点无法恢复。完成后,通过nginx -v或nginx -t验证是否已完全卸载。

上一篇





