在 Debian 12 上安装新版 Nginx(使用官方 APT 仓库)
适用系统:Debian 12(代号
bookworm)
目标:安装比系统默认更新的 Nginx 稳定版(如 1.25.x 或更高)
推荐方式:通过 Nginx 官方 APT 仓库安装(自动更新、易于维护)
✅ 步骤 1:安装必要依赖
sudo apt update
sudo 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.gpg
gpg --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 update
sudo apt install -y nginx
✅ 步骤 6:启动并启用 Nginx 服务
sudo systemctl start nginx
sudo systemctl enable nginx
✅ 步骤 7:验证安装版本
nginx -v
一键脚本
#!/bin/bash
set -e # 遇错立即退出
echo "🚀 开始在 Debian 12 上安装最新版 Nginx(来自 nginx.org 官方仓库)..."
# 检查是否为 root 或使用 sudo
if [ "$EUID" -ne 0 ]; then
echo "❌ 请以 root 用户运行此脚本,或使用 sudo。"
exit 1
fi
# 检查是否为 Debian 12
if ! 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
fi
fi
echo "🔧 步骤 1:安装必要依赖..."
apt update
apt 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 <<EOF
Package: *
Pin: origin nginx.org
Pin: release o=nginx
Pin-Priority: 900
EOF
echo "📥 步骤 5:更新软件源并安装 Nginx..."
apt update
apt install -y nginx
echo "⚡ 步骤 6:启动 Nginx 并设置开机自启..."
systemctl start nginx
systemctl 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 "✅ 安装完成!"