温馨提示×

LNMP如何卸载

小樊
41
2025-11-08 11:11:46
栏目: 编程语言

一、卸载前的准备工作
卸载LNMP前,务必完成数据备份

  • MySQL数据:备份/var/lib/mysql(默认数据目录)或自定义数据目录中的所有数据库文件;
  • Nginx配置:备份/etc/nginx(默认配置目录)中的nginx.conf及站点配置文件(如vhosts/*.conf);
  • PHP配置:备份/etc/php.ini(主配置文件)及/etc/php.d/(扩展配置目录)中的自定义配置。
    备份完成后,建议重启服务器,确保所有服务处于停止状态,避免卸载过程中残留进程干扰。

二、根据安装方式选择卸载方法
LNMP的卸载主要分为一键安装脚本卸载手动编译安装卸载两类,需根据初始安装方式选择对应步骤。

(一)一键安装脚本卸载(推荐)

若LNMP是通过lnmp-install.sh等一键脚本安装的(如官方或第三方提供的脚本),可使用脚本自带的卸载功能,步骤如下:

  1. 进入安装包目录
    通常一键安装包会存放在/root/home目录下,名称类似lnmp0.9-full(版本号可能不同)。使用root权限进入该目录:
    cd /root/lnmp0.9-full  # 替换为实际安装包目录
    
  2. 执行卸载脚本
    运行脚本并跟随提示操作:
    ./uninstall.sh
    
    脚本会自动停止LNMP相关服务(Nginx、MySQL、PHP-FPM),并删除安装的软件包、配置文件及数据目录。执行过程中需确认是否备份数据(脚本会提示),确认无误后按任意键继续。

(二)手动编译安装卸载

若LNMP是通过源码编译安装的(如手动下载Nginx、MySQL、PHP源码编译),需逐个组件手动卸载,步骤如下:

1. 停止所有LNMP服务

确保所有服务已停止,避免卸载时残留进程:

# 停止Nginx
systemctl stop nginx    # systemd系统(如CentOS 7+、Ubuntu 16.04+)
# 或 service nginx stop # sysvinit系统(如CentOS 6)

# 停止MySQL/MariaDB
systemctl stop mariadb  # MariaDB(常见于CentOS)
# 或 systemctl stop mysql # MySQL
# 或 service mysqld stop # sysvinit系统

# 停止PHP-FPM
systemctl stop php-fpm  # systemd系统
# 或 service php-fpm stop # sysvinit系统

使用ps -ef | grep -E 'nginx|mysql|php'命令检查进程是否全部停止,若有残留进程,用kill -9 <PID>强制终止。

2. 卸载Nginx

  • 删除Nginx安装目录
    Nginx默认安装在/usr/local/nginx,执行以下命令删除:
    rm -rf /usr/local/nginx
    
  • 删除Nginx配置文件和日志
    rm -rf /etc/nginx      # 配置文件目录
    rm -rf /var/log/nginx  # 日志目录
    
  • 清理系统服务(若注册了systemd服务):
    若Nginx通过systemctl管理,删除服务文件:
    rm -f /usr/lib/systemd/system/nginx.service  # systemd服务文件路径
    systemctl daemon-reload  # 重新加载systemd配置
    

3. 卸载MySQL/MariaDB

  • 停止MySQL服务
    若未停止,执行systemctl stop mariadbsystemctl stop mysql
  • 删除MySQL软件包
    • RPM系统(如CentOS)
      yum remove mysql mysql-server mysql-common -y
      
    • Debian/Ubuntu系统
      apt-get remove --purge mysql-server mysql-client mysql-common -y
      apt-get autoremove -y  # 删除依赖包
      apt-get autoclean      # 清理缓存
      
  • 删除MySQL配置文件和数据
    rm -f /etc/my.cnf        # 主配置文件
    rm -f /etc/mysql/my.cnf  # MariaDB配置文件
    rm -rf /var/lib/mysql    # 数据目录(默认路径)
    
  • 清理残留服务
    若注册了系统服务,删除服务文件:
    rm -f /usr/lib/systemd/system/mariadb.service  # MariaDB服务文件
    rm -f /usr/lib/systemd/system/mysql.service    # MySQL服务文件
    systemctl daemon-reload
    

4. 卸载PHP

  • 停止PHP-FPM服务
    若未停止,执行systemctl stop php-fpmservice php-fpm stop
  • 删除PHP安装目录
    PHP默认安装在/usr/local/php,执行以下命令删除:
    rm -rf /usr/local/php
    
  • 删除PHP配置文件
    rm -f /etc/php.ini         # 主配置文件
    rm -rf /etc/php.d/         # 扩展配置目录
    
  • 清理系统服务(若注册了systemd服务):
    若PHP-FPM通过systemctl管理,删除服务文件:
    rm -f /usr/lib/systemd/system/php-fpm.service  # systemd服务文件
    systemctl daemon-reload
    

5. 删除LNMP相关脚本和目录

  • 删除LNMP管理脚本
    若安装时创建了/root/lnmp(LNMP管理脚本目录),执行:
    rm -rf /root/lnmp
    
  • 删除虚拟主机配置脚本(若有):
    若安装时创建了/root/vhost.sh(虚拟主机配置脚本),执行:
    rm -f /root/vhost.sh
    

三、验证卸载结果
卸载完成后,可通过以下命令检查是否残留LNMP相关文件或服务:

  • 检查软件包
    • RPM系统:rpm -qa | grep -E 'nginx|mysql|php'(无输出则表示卸载干净);
    • Debian/Ubuntu系统:dpkg -l | grep -E 'nginx|mysql|php'
  • 检查目录
    ls /usr/local/nginxls /usr/local/mysqlls /usr/local/php(应无内容)。
  • 检查服务
    systemctl list-units --type=service | grep -E 'nginx|mysql|php'(应无相关服务)。

注意事项

  • 若卸载后需要重新安装LNMP,建议使用最新版本的一键安装脚本,避免兼容性问题;
  • 手动编译安装的组件需确保卸载时删除所有相关文件(如扩展模块、日志文件),避免残留影响新安装;
  • 卸载过程中若遇到权限问题,可在命令前添加sudo提升权限。

0