温馨提示×

Apache如何在CentOS卸载

小樊
46
2026-07-20 08:59:05
栏目: 智能运维

下面按常见场景说明在 CentOS 上如何卸载 Apache(httpd)。


一、确认 Apache 安装方式

1️⃣ 查看是否通过 yum / dnf 安装(最常见)

rpm -qa | grep httpd

如果有类似输出:

httpd-2.4.xx.el7.x86_64
httpd-tools-2.4.xx.el7.x86_64

说明是通过 YUM 安装的,可以直接卸载。


2️⃣ 查看是否源码编译安装

which httpd

如果路径类似:

/usr/local/apache2/bin/httpd

通常是 源码安装,卸载方式不同(见下文)。


二、通过 YUM / DNF 卸载(推荐 ✅)

✅ CentOS 7

sudo systemctl stop httpd
sudo yum remove httpd httpd-tools

✅ CentOS 8 / Stream

sudo systemctl stop httpd
sudo dnf remove httpd httpd-tools

三、清理残留文件(可选但推荐)

1️⃣ 删除配置和网站目录

sudo rm -rf /etc/httpd
sudo rm -rf /var/www/html

2️⃣ 删除日志文件

sudo rm -rf /var/log/httpd

3️⃣ 删除依赖包(如果有)

sudo yum autoremove   # CentOS 7
sudo dnf autoremove   # CentOS 8+

四、源码编译安装的 Apache 卸载

⚠️ 源码安装 没有 uninstall 命令,需手动删除。

1️⃣ 停止服务(如果有)

ps -ef | grep httpd
sudo kill -9 <PID>

2️⃣ 找到安装目录(常见)

/usr/local/apache2

3️⃣ 删除安装目录

sudo rm -rf /usr/local/apache2

4️⃣ 删除启动项 / systemd 服务(如果存在)

sudo rm -f /etc/systemd/system/httpd.service
sudo systemctl daemon-reload

五、验证是否已卸载

httpd -v
# 或
apachectl -v

如果提示:

command not found

✅ 卸载成功。


六、常见问题

❓ 卸载后端口 80 还被占用?

sudo netstat -tulnp | grep :80
sudo lsof -i :80

可能是:

  • nginx
  • 其他 httpd 进程未杀干净

❓ 卸载但保留配置?

只去掉主程序:

sudo yum remove httpd

不删除 /etc/httpd


七、总结(快速版)

✅ YUM 安装

sudo systemctl stop httpd
sudo yum remove httpd httpd-tools
sudo rm -rf /etc/httpd /var/www/html

✅ 源码安装

sudo rm -rf /usr/local/apache2

如果你愿意,可以告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • 是否 nginx、宝塔、Docker 环境

我可以给你最精确的卸载方案

0