源码安装的apache卸载需手动清理:先停服务并删除--prefix指定的安装目录(如/usr/local/apache2),再清除/etc/init.d或systemd中的启动脚本、apache用户/组、环境变量及端口残留,最后验证httpd命令不存在且无相关文件残留。

源码安装的 Apache 没有包管理器自动记录文件路径,卸载不能靠 yum remove 或 rpm -e,必须手动清理。核心原则是:**删干净安装目录 + 清除启动项 + 移除用户和配置残留**。
确认安装方式和安装路径
先判断是否为源码安装(而非 yum/rpm):
- 运行
whereis httpd或which httpd,看路径是否在/usr/local/apache2、/usr/local/httpd等自定义目录下 - 检查
httpd -V | grep "HTTPD_ROOT",输出的根目录就是实际安装前用--prefix=指定的路径 - 若该路径存在且包含
bin/conf/logs/modules等子目录,基本可确认是源码安装
删除主安装目录
这是最关键的一步。假设安装时用了 --prefix=/usr/local/apache2:
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
- 停止服务:
/usr/local/apache2/bin/apachectl stop - 递归删除:
rm -rf /usr/local/apache2 - 如果不确定路径,可先
ls -l /usr/local/查看是否有类似apache、httpd、apache2的目录
清理关联文件和配置残留
源码安装虽不写入系统标准位置,但可能留下以下痕迹:
-
启动脚本:检查
/etc/init.d/httpd或/etc/systemd/system/httpd.service,存在则rm删除,并执行systemctl daemon-reload -
用户与组:若安装时创建了
apache用户(常见于配置中指定User apache),可用id apache确认,确认无其他服务依赖后执行userdel apache && groupdel apache -
环境变量:检查
/etc/profile.d/下是否有httpd.sh或类似文件,以及~/.bashrc中是否添加了PATH,一并删除或注释 -
端口占用残留:运行
netstat -tuln | grep :80或ss -tuln | grep :80,确认无进程监听;如有,用ps aux | grep httpd找到 PID 后kill -9
验证是否卸载干净
执行以下命令,应全部无输出或报错:
-
httpd -v(或/usr/local/apache2/bin/httpd -v)→ 应提示 command not found -
find / -name "*httpd*" 2>/dev/null | grep -E "(bin|conf|modules)"→ 不应返回安装目录下的路径 -
systemctl list-unit-files | grep httpd→ 不应显示启用/禁用状态










