在 Debian 12 上安装新版 Nginx(使用官方 APT 仓库)
适用系统:Debian 12(代号
bookworm)
目标:安装比系统默认更新的 Nginx 稳定版(如 1.25.x 或更高)
推荐方式:通过 Nginx 官方 APT 仓库安装(自动更新、易于维护)
✅ 步骤 1:安装必要依赖
sudo apt updatesudo apt install -y curl gnupg2 ca-certificates lsb-release✅ 步骤 2:添加 Nginx 官方 GPG 密钥
curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo gpg --dearmor -o /usr/share/keyrings/nginx-archive-keyring.gpggpg --dry-run --list-packets /usr/share/keyrings/nginx-archive-keyring.gpg✅ 步骤 3:添加 Nginx 官方 APT 源
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/debian $(lsb_release -cs) nginx" | sudo tee /etc/apt/sources.list.d/nginx.list✅ 步骤 4:设置 APT 优先级(防止被系统源覆盖)
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/debian $(lsb_release -cs) nginx" | sudo tee /etc/apt/sources.list.d/nginx.list✅ 步骤 5:更新并安装 Nginx
sudo apt updatesudo apt install -y nginx✅ 步骤 6:启动并启用 Nginx 服务
sudo systemctl start nginxsudo systemctl enable nginx✅ 步骤 7:验证安装版本
nginx -v一键脚本
#!/bin/bash
set -e # 遇错立即退出
echo "🚀 开始在 Debian 12 上安装最新版 Nginx(来自 nginx.org 官方仓库)..."
# 检查是否为 root 或使用 sudoif [ "$EUID" -ne 0 ]; then echo "❌ 请以 root 用户运行此脚本,或使用 sudo。" exit 1fi
# 检查是否为 Debian 12if ! grep -q "Debian GNU/Linux 12" /etc/os-release; then echo "⚠️ 警告:此脚本专为 Debian 12 (Bookworm) 设计,当前系统可能不兼容。" read -p "是否继续?(y/N): " -n 1 -r echo if [[ ! $REPLY =~ ^[Yy]$ ]]; then exit 1 fifi
echo "🔧 步骤 1:安装必要依赖..."apt updateapt install -y curl gnupg2 ca-certificates lsb-release debian-archive-keyring
echo "🔑 步骤 2:导入 Nginx 官方 GPG 密钥..."curl -fsSL https://nginx.org/keys/nginx_signing.key | gpg --dearmor -o /usr/share/keyrings/nginx-archive-keyring.gpg
echo "📦 步骤 3:添加 Nginx 官方 APT 仓库..."echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/debian $(lsb_release -cs) nginx" \ > /etc/apt/sources.list.d/nginx.list
echo "⚖️ 步骤 4:设置 APT 优先级(防止被系统包覆盖)..."cat > /etc/apt/preferences.d/99nginx <<EOFPackage: *Pin: origin nginx.orgPin: release o=nginxPin-Priority: 900EOF
echo "📥 步骤 5:更新软件源并安装 Nginx..."apt updateapt install -y nginx
echo "⚡ 步骤 6:启动 Nginx 并设置开机自启..."systemctl start nginxsystemctl enable nginx
echo "✅ 步骤 7:验证安装..."NGINX_VERSION=$(nginx -v 2>&1 | cut -d'/' -f2)echo "🎉 Nginx $NGINX_VERSION 已成功安装!"
IP=$(hostname -I | awk '{print $1}')echo "🌐 请在浏览器中访问 http://$IP 查看默认欢迎页。"
echo "📝 默认网页目录:/usr/share/nginx/html"echo "📄 主配置文件:/etc/nginx/nginx.conf"echo "📁 站点配置目录:/etc/nginx/conf.d/"
echo "✅ 安装完成!"