CentOS系统如何完全卸载Nginx与PHP及其所有依赖?

在服务器运维过程中,软件的安装与卸载是基础且频繁的操作,当您不再需要 Nginx 和 PHP 服务,或者需要重新安装、升级到不同版本时,彻底、干净地将它们从 CentOS 系统中移除就显得尤为重要,一个不彻底的卸载可能会导致文件残留、端口冲突,甚至影响新软件的安装,本文将详细介绍如何在 CentOS 系统中,针对不同的安装方式,安全、完整地删除 Nginx 和 PHP。

CentOS系统如何完全卸载Nginx与PHP及其所有依赖?

第一步:准备工作——安全第一

在执行任何卸载操作之前,必须做好充分的准备工作,以防数据丢失或系统异常。

停止相关服务
这是卸载前最关键的一步,正在运行的服务可能会锁定文件,导致卸载失败或产生不完整的结果,使用 systemctl 命令停止 Nginx 和 PHP-FPM 服务。

sudo systemctl stop nginx
sudo systemctl stop php-fpm

(注意:您的 PHP 服务名可能是 php-fpmphp73-php-fpm 等带有版本号的名称,请使用 systemctl status php* 查询准确的服务名。)

备份重要数据
卸载过程通常不会主动删除您的网站数据(如 /var/www/html 目录下的文件)和配置文件,但为了绝对安全,强烈建议您进行备份。

  • 备份网站目录
    sudo cp -r /var/www/html /home/user/website_backup
  • 备份 Nginx 配置
    sudo cp -r /etc/nginx /home/user/nginx_config_backup
  • 备份 PHP 配置
    sudo cp /etc/php.ini /home/user/php.ini_backup
    sudo cp -r /etc/php-fpm.d /home/user/php-fpm.d_backup

确认安装方式
这是决定后续卸载方法的核心,在 CentOS 中,软件主要通过两种方式安装:YUM/RPM 包管理器或源码编译。

  • YUM/RPM 安装:这是最常见的方式,通过 yum installrpm -ivh 命令安装。
  • 源码编译安装:通过下载源代码,手动执行 ./configure, make, make install 命令安装。

您可以通过以下命令来判断 Nginx 的安装方式:

rpm -qa | grep nginx

如果该命令返回了类似 nginx-1.20.1-9.el7.x86_64 的包名,说明是通过 YUM/RPM 安装的,如果没有任何输出,则很可能是源码编译安装的,PHP 的判断方式类似。

安装方式 判断命令 特点
YUM/RPM rpm -qa | grep 软件名 易于管理,可通过包管理器一键卸载
源码编译 rpm -qa 无结果,ps aux 查看进程路径 灵活性高,但卸载相对复杂,需手动处理

第二步:卸载通过 YUM/RPM 安装的软件

如果您的 Nginx 和 PHP 是通过 YUM 或 RPM 安装的,卸载过程将非常直接。

查找已安装的相关软件包
为了确保卸载干净,我们需要列出所有与 Nginx 和 PHP 相关的包。

  • 查找 Nginx 包:
    yum list installed | grep nginx
  • 查找 PHP 包(通常会有很多,如 php-common, php-cli, php-fpm 等):
    yum list installed | grep php

使用 yum remove 命令卸载
yum remove 命令会自动处理软件包之间的依赖关系,将主程序及其依赖的一并卸载。

  • 卸载 Nginx:

    sudo yum remove nginx
  • 卸载 PHP 及其所有模块:

    sudo yum remove php* 

    (使用 php* 通配符可以方便地卸载所有以 “php” 开头的软件包,在执行前,请再次确认列表,避免误卸载其他不相关的软件。)

    CentOS系统如何完全卸载Nginx与PHP及其所有依赖?

清理残留文件
尽管 yum remove 会删除大部分程序文件,但一些配置文件和日志目录可能会被保留(系统为了防止用户误删配置),您需要手动检查并删除它们。

  • Nginx 常见残留目录

    • /etc/nginx/ (主配置目录)
    • /var/log/nginx/ (日志目录)
    • /var/cache/nginx/ (缓存目录)
    • /usr/share/nginx/ (默认网站目录)
  • PHP 常见残留目录

    • /etc/php.ini (主配置文件)
    • /etc/php-fpm.d/ (FPM 配置目录)
    • /var/lib/php/ (Session 目录等)

使用 rm -rf 命令删除这些目录(请务必确认您已备份!):

sudo rm -rf /etc/nginx
sudo rm -rf /var/log/nginx
sudo rm -rf /etc/php.ini
sudo rm -rf /etc/php-fpm.d
# ... 根据您的实际情况删除其他目录

第三步:卸载通过源码编译安装的软件

源码编译安装的软件没有注册到系统的包管理器中,因此无法使用 yumrpm 命令卸载,卸载过程需要更细致的手动操作。

找到安装目录
您需要找到当初编译安装时指定的路径,默认情况下,Nginx 和 PHP 通常被安装在 /usr/local/nginx/usr/local/php

您可以通过以下方式确认:

  • 查看进程信息:
    ps aux | grep nginx
    ps aux | grep php-fpm

    进程路径通常会透露安装位置。

  • 查看 Nginx 可执行文件路径:
    which nginx

尝试 make uninstall
如果您保留了编译时的源码目录,这是最理想的卸载方式,进入源码目录,执行 make uninstall

cd /path/to/nginx-source-code
sudo make uninstall
cd /path/to/php-source-code
sudo make uninstall

这个命令会读取 Makefile 文件,执行预定义的卸载规则,删除所有安装的文件。

手动删除(make uninstall 不可用)
如果源码目录已被删除,或者 Makefile 中没有 uninstall 规则,那么只能手动删除,这需要您非常清楚哪些文件和目录是被安装的。

  • 删除安装目录:

    sudo rm -rf /usr/local/nginx
    sudo rm -rf /usr/local/php
  • 删除系统服务文件(如果创建了):
    检查 /etc/systemd/system//usr/lib/systemd/system/ 目录下是否有 nginx.servicephp-fpm.service 文件,并将其删除。

    CentOS系统如何完全卸载Nginx与PHP及其所有依赖?

    sudo rm -f /etc/systemd/system/nginx.service
    sudo rm -f /etc/systemd/system/php-fpm.service

    删除后,执行 sudo systemctl daemon-reload 重新加载 systemd 配置。

  • 删除软链接和可执行文件:
    检查 /usr/local/bin/usr/sbin 等目录下是否有相关可执行文件的软链接,并删除。

    sudo rm -f /usr/local/bin/nginx
    sudo rm -f /usr/local/sbin/php-fpm

第四步:验证与最终清理

完成卸载后,进行最后的验证,确保没有遗漏。

检查进程
再次运行 ps 命令,确认 Nginx 和 PHP-FPM 进程已不存在。

ps aux | grep nginx
ps aux | grep php-fpm

正常情况下,应该只返回 grep 命令自身的进程。

检查端口占用
使用 netstatss 命令检查 80 (HTTP)、443 (HTTPS) 和 9000 (PHP-FPM 默认端口) 是否还被占用。

sudo netstat -tlnp | grep :80
sudo netstat -tlnp | grep :9000
# 或者使用更现代的 ss 命令
sudo ss -tlnp | grep :80

没有任何输出表示端口已释放。

清理 YUM 缓存(可选)
如果您是通过 YUM 卸载的,可以清理一下缓存,释放空间。

sudo yum clean all

至此,您已经成功地在 CentOS 系统中彻底删除了 Nginx 和 PHP,整个过程的核心在于:事前充分备份,准确判断安装方式,并采用对应的方法进行卸载和清理。


相关问答 (FAQs)

问1:卸载 Nginx 和 PHP 后,我放在网站目录下的项目文件(WordPress)会丢失吗?
答: 不会,无论是 yum remove 还是手动删除,默认操作都只针对程序本身、配置文件和日志,您的网站数据(通常位于 /var/www/html/usr/local/nginx/html)不会被自动删除,这绝不意味着可以掉以轻心,在执行任何卸载操作前,强烈建议将整个网站目录打包备份,以防误操作或后续需要恢复,这是最稳妥、最安全的做法。

问2:我如何确保卸载得“最彻底”,不留任何痕迹?
答: 要实现“最彻底”的卸载,需要遵循“识别、删除、验证”的原则,通过 rpm -qaps aux 识别所有相关的软件包、进程和文件路径,除了删除程序主体,还要手动清理所有残留的配置目录(如 /etc/nginx)、日志目录(如 /var/log/nginx)、库文件和系统服务文件(.service),使用 psnetstatfind 命令进行全面验证,确保没有相关进程运行、没有端口被占用、系统中没有残留的文件或目录,尽管如此,要达到 100% 的“无痕”是极其困难的,系统日志中可能仍会记录过往的运行信息,但这通常对系统无任何影响,上述流程已经可以满足绝大多数场景下的“彻底卸载”需求。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-07 21:19
下一篇 2025-10-07 21:26

相关推荐

  • 如何确保FTP服务器通过安全组规则配置达到最佳安全性?

    摘要:本文主要介绍了FTP安全配置规则,包括如何配置安全组规则。需要设置强密码策略,禁止匿名访问,限制访问权限。应使用安全的FTP协议,如SFTP或FTPS。定期更新软件和补丁,监控日志文件,以及备份重要数据。这些措施可以有效提高FTP服务器的安全性。

    2024-08-09
    004
  • 服务器iso_ISO镜像合成

    服务器ISO镜像合成是将多个文件或文件夹压缩并打包成一个ISO格式的镜像文件,以便在虚拟机或物理机上安装和部署操作系统及应用程序。

    2024-07-11
    009
  • 如何创建繁体版的云服务器?

    繁体版云服务器是一种虚拟化的计算资源,用户可以通过互联网远程访问和管理。创建云服务器的过程通常包括选择配置、设置操作系统、分配网络资源等步骤。云服务器具有弹性伸缩、按需付费等优点,适用于各种应用场景。

    2024-08-03
    003
  • 福安网站开发_网站备份

    福安网站开发提供全面服务,包括定期网站备份。确保数据安全,防止意外丢失,让网站运行更稳定。选择我们,享受专业、可靠的网站维护。

    2024-07-09
    0014

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

QQ-14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信