#!/bin/bash
# Eric · 凉城
# Nginx 一键卸载脚本 241205

# 确保脚本以 root 用户运行
if [ "$(id -u)" -ne 0 ]; then
  echo "此脚本需要以 root 用户运行。"
  exit 1
fi

# 设置 Nginx 默认安装路径
NGINX_DIR="/usr/local/nginx"
NGINX_SRC_DIR="/root/nginx-1.27.3"
NGINX_LOG_DIR="/var/log/nginx"
NGINX_BIN="/usr/local/nginx/sbin/nginx"
NGINX_TAR_FILE="/root/nginx-1.27.3.tar.gz"

# 停止 Nginx 服务
echo "停止 Nginx 服务..."
if pgrep -x "nginx" > /dev/null; then
    # 如果 nginx 正在运行，使用 nginx 命令停止
    $NGINX_DIR/sbin/nginx -s stop
    echo "Nginx 已停止。"
else
    echo "Nginx 未运行。"
fi

# 删除 Nginx 安装目录
echo "删除 Nginx 安装目录..."
if [ -d "$NGINX_DIR" ]; then
    sudo rm -rf "$NGINX_DIR"
    echo "已删除 Nginx 安装目录：$NGINX_DIR"
else
    echo "未找到 Nginx 安装目录：$NGINX_DIR"
fi

# 删除 Nginx 源代码和编译目录
echo "删除 Nginx 源代码和编译目录..."
if [ -d "$NGINX_SRC_DIR" ]; then
    sudo rm -rf "$NGINX_SRC_DIR"
    echo "已删除 Nginx 源代码目录：$NGINX_SRC_DIR"
else
    echo "未找到 Nginx 源代码目录：$NGINX_SRC_DIR"
fi

# 删除 Nginx 日志目录
echo "删除 Nginx 日志目录..."
if [ -d "$NGINX_LOG_DIR" ]; then
    sudo rm -rf "$NGINX_LOG_DIR"
    echo "已删除 Nginx 日志目录：$NGINX_LOG_DIR"
else
    echo "未找到 Nginx 日志目录：$NGINX_LOG_DIR"
fi

# 删除 Nginx 二进制文件
echo "删除 Nginx 二进制文件..."
if [ -f "$NGINX_BIN" ]; then
    sudo rm -f "$NGINX_BIN"
    echo "已删除 Nginx 二进制文件：$NGINX_BIN"
else
    echo "未找到 Nginx 二进制文件：$NGINX_BIN"
fi

# 清理系统中可能的软链接
echo "清理系统中可能的 Nginx 软链接..."
sudo find / -type l -name "nginx" -exec sudo rm -f {} \;
echo "已清理所有 Nginx 软链接。"

# 删除环境变量配置
echo "删除环境变量配置..."
if grep -q "nginx" ~/.bashrc; then
    sed -i '/nginx/d' ~/.bashrc
    echo "已删除 ~/.bashrc 中的 Nginx 环境变量配置。"
else
    echo "未找到 Nginx 环境变量配置。"
fi

# 提示用户重新加载 bash 配置
echo "环境变量已清理，请执行 'source ~/.bashrc' 使修改生效。"

# 删除 Nginx 下载的 tar 文件
echo "删除 Nginx 下载的 tar 文件..."
if [ -f "$NGINX_TAR_FILE" ]; then
    sudo rm -f "$NGINX_TAR_FILE"
    echo "已删除 Nginx tar 文件：$NGINX_TAR_FILE"
else
    echo "未找到 Nginx tar 文件：$NGINX_TAR_FILE"
fi

# 完成
echo "Nginx 已完全删除。如需删除PHP, 请手动执行'apt autoremove php php-fpm php-mysql'。"
