LNMP如何卸载

一、卸载前的准备工作

卸载LNMP前,务必完成数据备份:

MySQL数据:备份/var/lib/mysql(默认数据目录)或自定义数据目录中的所有数据库文件;

Nginx配置:备份/etc/nginx(默认配置目录)中的nginx.conf及站点配置文件(如vhosts/*.conf);

PHP配置:备份/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源码编译),需逐个组件手动卸载,步骤如下:

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 强制终止。

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 mariadb或systemctl 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-fpm或service 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/nginx、ls /usr/local/mysql、ls /usr/local/php(应无内容)。

检查服务:

systemctl list-units --type=service | grep -E 'nginx|mysql|php'(应无相关服务)。

注意事项:

若卸载后需要重新安装LNMP,建议使用最新版本的一键安装脚本,避免兼容性问题;

手动编译安装的组件需确保卸载时删除所有相关文件(如扩展模块、日志文件),避免残留影响新安装;

卸载过程中若遇到权限问题,可在命令前添加sudo提升权限。


微信怎么搜索别人微店?
手机一直开关机怎么办?解决方法与日常保养建议