一、卸载前的准备工作
卸载LNMP前,务必完成数据备份:
/var/lib/mysql(默认数据目录)或自定义数据目录中的所有数据库文件;/etc/nginx(默认配置目录)中的nginx.conf及站点配置文件(如vhosts/*.conf);/etc/php.ini(主配置文件)及/etc/php.d/(扩展配置目录)中的自定义配置。二、根据安装方式选择卸载方法
LNMP的卸载主要分为一键安装脚本卸载和手动编译安装卸载两类,需根据初始安装方式选择对应步骤。
若LNMP是通过lnmp-install.sh等一键脚本安装的(如官方或第三方提供的脚本),可使用脚本自带的卸载功能,步骤如下:
/root或/home目录下,名称类似lnmp0.9-full(版本号可能不同)。使用root权限进入该目录:cd /root/lnmp0.9-full # 替换为实际安装包目录
./uninstall.sh
脚本会自动停止LNMP相关服务(Nginx、MySQL、PHP-FPM),并删除安装的软件包、配置文件及数据目录。执行过程中需确认是否备份数据(脚本会提示),确认无误后按任意键继续。若LNMP是通过源码编译安装的(如手动下载Nginx、MySQL、PHP源码编译),需逐个组件手动卸载,步骤如下:
确保所有服务已停止,避免卸载时残留进程:
# 停止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>强制终止。
/usr/local/nginx,执行以下命令删除:rm -rf /usr/local/nginx
rm -rf /etc/nginx # 配置文件目录
rm -rf /var/log/nginx # 日志目录
systemctl管理,删除服务文件:rm -f /usr/lib/systemd/system/nginx.service # systemd服务文件路径
systemctl daemon-reload # 重新加载systemd配置
systemctl stop mariadb或systemctl stop mysql。yum remove mysql mysql-server mysql-common -y
apt-get remove --purge mysql-server mysql-client mysql-common -y
apt-get autoremove -y # 删除依赖包
apt-get autoclean # 清理缓存
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
systemctl stop php-fpm或service php-fpm stop。/usr/local/php,执行以下命令删除:rm -rf /usr/local/php
rm -f /etc/php.ini # 主配置文件
rm -rf /etc/php.d/ # 扩展配置目录
systemctl管理,删除服务文件:rm -f /usr/lib/systemd/system/php-fpm.service # systemd服务文件
systemctl daemon-reload
/root/lnmp(LNMP管理脚本目录),执行:rm -rf /root/lnmp
/root/vhost.sh(虚拟主机配置脚本),执行:rm -f /root/vhost.sh
三、验证卸载结果
卸载完成后,可通过以下命令检查是否残留LNMP相关文件或服务:
rpm -qa | grep -E 'nginx|mysql|php'(无输出则表示卸载干净);dpkg -l | grep -E 'nginx|mysql|php'。ls /usr/local/nginx、ls /usr/local/mysql、ls /usr/local/php(应无内容)。systemctl list-units --type=service | grep -E 'nginx|mysql|php'(应无相关服务)。注意事项:
sudo提升权限。