上一篇 下一篇 分享链接 返回 返回顶部

2026 Debian 服务器从安装到上线:一篇搞定安全、运维与常用服务部署

发布人:慈云数据-客服中心 发布时间:7小时前 阅读量:0

Debian 部署完整教程|2026最新版

Debian 是最经典、最稳定的 Linux 发行版之一,广泛应用于服务器、云主机、开发环境、容器平台、数据库服务以及个人桌面系统。相比一些追求“最新软件版本”的发行版,Debian 更强调稳定性、安全性和可维护性,因此非常适合作为生产环境服务器操作系统。

本文将以 Debian 服务器部署 为主线,系统讲解从安装前准备、系统安装、网络配置、SSH 远程登录、安全加固、软件源配置、常用服务部署、防火墙设置、自动更新、备份与运维建议等完整流程。无论你是在物理服务器、VPS、云服务器,还是虚拟机中部署 Debian,都可以按照本文逐步完成。

说明:本文面向 2026 年常见部署场景编写,核心思路适用于 Debian 12、Debian 13 及后续版本。不同版本之间命令整体差异不大,个别软件包名称或默认配置可能略有变化,实际操作时建议结合官方文档确认。


一、Debian 简介

Debian 是一个由社区驱动的自由开源操作系统,拥有庞大的软件仓库和成熟的软件包管理体系。它的主要特点包括:

  • 稳定可靠:Debian Stable 分支以稳定性著称,非常适合服务器环境。
  • 软件生态丰富:通过 apt 可以安装大量软件包。
  • 安全维护周期长:官方会持续提供安全更新。
  • 适合生产环境:很多服务器、容器镜像、云平台基础系统都基于 Debian。
  • 社区文档完善:遇到问题通常可以找到可靠解决方案。

Debian 常见分支包括:

分支 说明
Stable 稳定版,推荐生产环境使用
Testing 测试版,软件较新但稳定性略低
Unstable 不稳定版,适合开发者测试
Oldstable 上一个稳定版本,仍会维护一段时间

生产环境建议选择 Stable 分支。


二、部署前准备

在安装 Debian 之前,需要先明确部署环境和用途。

1. 硬件或云服务器要求

如果只是部署轻量级服务,例如 Nginx、个人博客、小型 API 服务,最低配置可以是:

  • CPU:1 核
  • 内存:1GB
  • 磁盘:20GB
  • 网络:公网 IP 或内网访问能力

如果用于数据库、容器、GitLab、Kubernetes 节点等场景,建议配置更高:

  • CPU:2 核以上
  • 内存:4GB 以上
  • 磁盘:50GB 以上 SSD
  • 网络:稳定带宽

2. 下载 Debian 镜像

可以从 Debian 官方网站下载 ISO 镜像:

https://www.debian.org/

常见镜像类型包括:

  • netinst:网络安装版,体积小,安装时在线下载软件包。
  • DVD ISO:包含更多离线软件包,适合无网络环境。
  • Live ISO:适合体验桌面系统。

服务器部署推荐使用 netinst 镜像,因为它更轻量,安装出来的系统也更干净。

3. 制作启动盘

如果是物理机安装,可以使用以下工具制作 U 盘启动盘:

  • Windows:Rufus、balenaEtcher
  • macOS:balenaEtcher、dd 命令
  • Linux:dd 命令、GNOME Disks

Linux 下可使用:

sudo dd if=debian.iso of=/dev/sdX bs=4M status=progress oflag=sync

注意:/dev/sdX 必须替换为实际 U 盘设备路径,千万不要写错,否则可能覆盖本机磁盘。

如果是云服务器,一般无需手动安装 ISO,只需在控制台选择 Debian 系统镜像即可。


三、安装 Debian 系统

1. 启动安装程序

插入启动盘或挂载 ISO 后启动机器,进入 Debian 安装界面。通常可以选择:

  • Graphical Install:图形化安装
  • Install:文本安装

服务器部署推荐使用普通文本安装即可,流程清晰、资源占用低。

2. 选择语言和区域

建议服务器选择英文环境或中文环境均可。生产服务器通常推荐:

  • Language:English
  • Location:根据实际地区选择
  • Locale:en_US.UTF-8zh_CN.UTF-8

如果选择英文环境,后续日志和报错信息更便于搜索。

3. 配置主机名

主机名可以根据用途设置,例如:

web01
db01
debian-server

主机名后续可以通过以下命令修改:

sudo hostnamectl set-hostname web01

查看主机名:

hostnamectl

4. 设置 root 密码与普通用户

Debian 安装过程中会让你设置 root 密码和普通用户账号。

推荐做法:

  • 设置一个强 root 密码;
  • 创建普通用户;
  • 日常通过普通用户登录;
  • 需要管理权限时使用 sudo

如果安装过程中没有为普通用户配置 sudo 权限,后续可以手动添加。

5. 磁盘分区方案

对于新手或普通服务器,可以选择自动分区:

Guided - use entire disk

常见分区方案:

分区 用途 建议大小
/ 根分区 20GB 以上
/home 用户数据 按需
/var 日志、网站、数据库等 视业务而定
swap 交换分区 1GB-4GB 或按内存情况

服务器部署中,如果数据较多,可以单独划分 /var/data,方便后续扩容和备份。

例如:

/       30G
/var    50G
/data   剩余空间
swap    2G

如果使用云服务器,一般会有系统盘和数据盘,建议系统盘安装 Debian,数据盘挂载到 /data

6. 选择软件包

安装时会出现软件选择界面,服务器建议勾选:

  • SSH server
  • standard system utilities

不建议在服务器上安装桌面环境,除非确实需要。


四、首次登录与基础检查

安装完成后重启系统,使用普通用户登录。

1. 查看系统版本

cat /etc/os-release

输出示例:

PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"

也可以使用:

lsb_release -a

如果没有 lsb_release,可以安装:

sudo apt install lsb-release -y

2. 查看内核版本

uname -a

3. 查看磁盘空间

df -h

4. 查看内存

free -h

5. 查看网络

ip addr
ip route

五、配置 APT 软件源

Debian 使用 apt 管理软件包。为了提高下载速度,可以根据地区选择合适的软件源。

1. 备份源配置

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

2. 编辑源文件

sudo nano /etc/apt/sources.list

示例配置如下,具体发行代号需要根据系统版本调整。例如 Debian 12 是 bookworm,Debian 13 可能是 trixie

deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware

如果在国内环境,可以选择清华、阿里云、中科大等镜像源。以清华源为例:

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware

3. 更新软件包索引

sudo apt update

4. 升级系统

sudo apt upgrade -y

如果需要处理内核或核心依赖升级,可以执行:

sudo apt full-upgrade -y

清理无用软件包:

sudo apt autoremove -y
sudo apt clean

六、安装常用基础工具

新安装的 Debian 系统较为精简,建议安装一些常用工具:

sudo apt install -y vim nano curl wget git unzip zip tar htop net-tools lsof tree ca-certificates gnupg software-properties-common

工具说明:

工具 用途
vim/nano 文本编辑
curl/wget 下载文件、测试接口
git 代码管理
unzip/zip 压缩解压
htop 进程监控
net-tools ifconfig、netstat 等传统网络工具
lsof 查看端口和文件占用
tree 树形查看目录
ca-certificates HTTPS 证书支持
gnupg GPG 密钥管理

七、配置 sudo 权限

如果普通用户无法使用 sudo,需要将用户加入 sudo 组。

切换到 root:

su -

安装 sudo:

apt install sudo -y

将用户加入 sudo 组:

usermod -aG sudo yourusername

退出重新登录后验证:

sudo whoami

如果输出:

root

说明配置成功。


八、SSH 远程登录配置

服务器部署完成后,通常通过 SSH 远程管理。

1. 安装 SSH 服务

如果安装时未勾选 SSH server,可以手动安装:

sudo apt install openssh-server -y

启动并设置开机自启:

sudo systemctl enable ssh
sudo systemctl start ssh

查看状态:

sudo systemctl status ssh

2. 修改 SSH 配置

编辑配置文件:

sudo nano /etc/ssh/sshd_config

建议配置如下:

Port 22
PermitRootLogin no
PasswordAuthentication yes
PubkeyAuthentication yes

更安全的做法是修改默认端口并关闭密码登录:

Port 2222
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes

修改后重启 SSH:

sudo systemctl restart ssh

注意:如果你修改了端口或关闭密码登录,一定要先确认密钥登录可用,否则可能无法远程连接服务器。

3. 配置 SSH 密钥登录

在本地电脑生成密钥:

ssh-keygen -t ed25519 -C "your_email@example.com"

上传公钥到服务器:

ssh-copy-id -p 22 user@server_ip

如果没有 ssh-copy-id,可以手动将本地公钥内容追加到服务器:

mkdir -p ~/.ssh
nano ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

然后测试登录:

ssh user@server_ip

如果修改了端口:

ssh -p 2222 user@server_ip

九、网络配置

Debian 的网络配置方式可能因安装环境不同而不同。服务器中常见的是 systemd-networkdNetworkManager 或传统 /etc/network/interfaces

1. 查看网卡名称

ip link

常见网卡名称:

eth0
ens3
ens160
enp0s3

2. 临时查看 IP

ip addr show

3. 使用 interfaces 配置静态 IP

编辑文件:

sudo nano /etc/network/interfaces

示例:

auto ens3
iface ens3 inet static
    address 192.168.1.100
    netmask 255.255.255.0
    gateway 192.168.1.1
    dns-nameservers 223.5.5.5 8.8.8.8

重启网络:

sudo systemctl restart networking

4. 使用 systemd-resolved 配置 DNS

查看 DNS 状态:

resolvectl status

编辑配置:

sudo nano /etc/systemd/resolved.conf

示例:

[Resolve]
DNS=223.5.5.5 8.8.8.8
FallbackDNS=1.1.1.1

重启服务:

sudo systemctl restart systemd-resolved

十、防火墙配置

Debian 可以使用 ufwnftables 配置防火墙。新手推荐使用 ufw

1. 安装 UFW

sudo apt install ufw -y

2. 放行 SSH

如果 SSH 使用默认端口:

sudo ufw allow 22/tcp

如果使用自定义端口,例如 2222:

sudo ufw allow 2222/tcp

3. 放行 Web 服务端口

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

4. 启用防火墙

sudo ufw enable

查看状态:

sudo ufw status verbose

删除规则示例:

sudo ufw delete allow 80/tcp

注意:启用防火墙前一定要确认 SSH 端口已经放行,否则远程服务器可能无法登录。


十一、系统安全加固

1. 禁止 root 远程登录

编辑 SSH 配置:

sudo nano /etc/ssh/sshd_config

设置:

PermitRootLogin no

重启 SSH:

sudo systemctl restart ssh

2. 使用强密码

密码建议包含:

  • 大小写字母
  • 数字
  • 特殊符号
  • 长度不少于 12 位

修改密码:

passwd

3. 安装 Fail2ban

Fail2ban 可以防止暴力破解 SSH。

sudo apt install fail2ban -y

复制配置文件:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

编辑:

sudo nano /etc/fail2ban/jail.local

找到 sshd 部分,示例配置:

[sshd]
enabled = true
port = ssh
maxretry = 5
bantime = 3600
findtime = 600

如果 SSH 端口是 2222:

port = 2222

启动服务:

sudo systemctl enable fail2ban
sudo systemctl restart fail2ban

查看状态:

sudo fail2ban-client status
sudo fail2ban-client status sshd

4. 定期更新系统

sudo apt update
sudo apt upgrade -y

安全更新对于服务器非常重要,尤其是暴露在公网的服务。


十二、配置自动安全更新

Debian 可以通过 unattended-upgrades 自动安装安全更新。

安装:

sudo apt install unattended-upgrades apt-listchanges -y

启用:

sudo dpkg-reconfigure unattended-upgrades

也可以编辑配置:

sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

常见配置项:

Unattended-Upgrade::Automatic-Reboot "false";

自动更新周期配置:

sudo nano /etc/apt/apt.conf.d/20auto-upgrades

示例:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

这表示每天更新软件包列表,并自动安装安全更新。


十三、安装 Nginx Web 服务

Nginx 是常见的 Web 服务器,也可作为反向代理。

1. 安装 Nginx

sudo apt install nginx -y

启动并设置开机自启:

sudo systemctl enable nginx
sudo systemctl start nginx

查看状态:

sudo systemctl status nginx

2. 放行端口

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

浏览器访问:

http://服务器IP

如果看到默认欢迎页面,说明 Nginx 部署成功。

3. 创建站点目录

sudo mkdir -p /var/www/example.com
sudo chown -R $USER:$USER /var/www/example.com

创建测试页面:

nano /var/www/example.com/index.html

写入:

Hello Debian

Nginx is running.

4. 配置虚拟主机

sudo nano /etc/nginx/sites-available/example.com

写入:

server {
    listen 80;
    server_name example.com www.example.com;

    root /var/www/example.com;
    index index.html index.htm;

    access_log /var/log/nginx/example.com.access.log;
    error_log /var/log/nginx/example.com.error.log;

    location / {
        try_files $uri $uri/ =404;
    }
}

启用站点:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

测试配置:

sudo nginx -t

重载 Nginx:

sudo systemctl reload nginx

十四、配置 HTTPS 证书

推荐使用 Let’s Encrypt 免费证书。

1. 安装 Certbot

sudo apt install certbot python3-certbot-nginx -y

2. 申请证书

sudo certbot --nginx -d example.com -d www.example.com

根据提示填写邮箱并同意协议。

3. 测试自动续期

sudo certbot renew --dry-run

Let’s Encrypt 证书有效期通常为 90 天,Certbot 会自动配置续期任务。


十五、部署 MySQL 或 MariaDB

Debian 官方仓库通常提供 MariaDB。MariaDB 与 MySQL 高度兼容,适合大部分 Web 项目。

1. 安装 MariaDB

sudo apt install mariadb-server mariadb-client -y

启动并设置自启:

sudo systemctl enable mariadb
sudo systemctl start mariadb

2. 初始化安全配置

sudo mysql_secure_installation

根据提示进行:

  • 设置 root 密码或使用 unix_socket 认证
  • 删除匿名用户
  • 禁止 root 远程登录
  • 删除测试数据库
  • 刷新权限表

3. 创建数据库和用户

登录数据库:

sudo mysql

执行:

CREATE DATABASE appdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'appuser'@'localhost' IDENTIFIED BY 'StrongPassword_123!';
GRANT ALL PRIVILEGES ON appdb.* TO 'appuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

十六、部署 PHP 环境

如果需要运行 WordPress、Laravel 等 PHP 项目,可以安装 PHP-FPM。

sudo apt install php php-fpm php-cli php-mysql php-curl php-mbstring php-xml php-zip php-gd -y

查看版本:

php -v

配置 Nginx 支持 PHP:

sudo nano /etc/nginx/sites-available/example.com

示例:

server {
    listen 80;
    server_name example.com;
    root /var/www/example.com;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

不同 PHP 版本的 socket 路径可能不同,可查看:

ls /run/php/

测试配置:

sudo nginx -t
sudo systemctl reload nginx

创建测试文件:

nano /var/www/example.com/info.php

写入:

访问测试成功后,务必删除:

rm /var/www/example.com/info.php

十七、部署 Docker

Docker 是现代服务部署的重要工具,适合运行容器化应用。

1. 安装依赖

sudo apt install ca-certificates curl gnupg -y

2. 添加 Docker 官方 GPG 密钥

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

3. 添加 Docker 软件源

echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

更新索引:

sudo apt update

4. 安装 Docker

sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

启动 Docker:

sudo systemctl enable docker
sudo systemctl start docker

验证:

sudo docker version
sudo docker compose version

5. 允许普通用户使用 Docker

sudo usermod -aG docker $USER

重新登录后测试:

docker run hello-world

十八、日志查看与服务管理

Debian 使用 systemd 管理服务。

1. 查看服务状态

systemctl status nginx
systemctl status ssh
systemctl status docker

2. 启动、停止、重启服务

sudo systemctl start nginx
sudo systemctl stop nginx
sudo systemctl restart nginx
sudo systemctl reload nginx

3. 设置开机自启

sudo systemctl enable nginx

取消开机自启:

sudo systemctl disable nginx

4. 查看日志

journalctl -u nginx
journalctl -u ssh

实时查看:

journalctl -u nginx -f

查看系统启动日志:

journalctl -b

十九、备份与恢复建议

服务器部署完成后,备份非常关键。很多故障并不是系统安装失败,而是没有备份导致无法恢复。

1. 需要备份的内容

常见备份对象包括:

  • 网站目录:/var/www
  • Nginx 配置:/etc/nginx
  • 数据库数据
  • 应用配置文件
  • SSH 密钥
  • Docker Compose 文件
  • 定时任务
  • /etc 下的重要系统配置

2. 使用 tar 备份目录

sudo tar -czvf backup-etc.tar.gz /etc
sudo tar -czvf backup-www.tar.gz /var/www

3. 备份 MariaDB 数据库

mysqldump -u root -p appdb > appdb.sql

恢复:

mysql -u root -p appdb < appdb.sql

4. 使用 rsync 远程备份

rsync -avz /var/www/ user@backup-server:/backup/web/

5. 定时备份

编辑定时任务:

crontab -e

示例:每天凌晨 2 点备份网站目录:

0 2 * * * tar -czf /backup/www-$(date +\%F).tar.gz /var/www

二十、性能优化建议

1. 开启时间同步

sudo apt install chrony -y
sudo systemctl enable chrony
sudo systemctl start chrony

查看状态:

chronyc tracking

2. 检查资源占用

htop
df -h
free -h
iotop

安装 iotop:

sudo apt install iotop -y

3. 调整 Swap

查看 swap:

swapon --show

创建 swap 文件:

sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

写入开机挂载:

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

4. 清理日志

查看日志占用:

journalctl --disk-usage

清理 7 天前日志:

sudo journalctl --vacuum-time=7d

二十一、常见问题排查

1. apt update 失败

可能原因:

  • 网络不通
  • DNS 配置错误
  • 软件源地址不可用
  • 系统版本代号写错

排查:

ping deb.debian.org
ping 8.8.8.8
cat /etc/apt/sources.list

如果能 ping 通 IP,但不能解析域名,说明 DNS 有问题。

2. SSH 无法连接

检查 SSH 服务:

sudo systemctl status ssh

检查端口监听:

sudo ss -tulpn | grep ssh

检查防火墙:

sudo ufw status

检查云服务器安全组是否放行对应端口。

3. Nginx 启动失败

测试配置:

sudo nginx -t

查看日志:

journalctl -u nginx -xe

常见原因:

  • 配置文件语法错误
  • 端口被占用
  • 证书路径错误
  • 网站目录权限不足

4. 磁盘空间不足

查看大文件:

sudo du -sh /* 2>/dev/null
sudo du -sh /var/* 2>/dev/null

清理 apt 缓存:

sudo apt clean

清理旧日志:

sudo journalctl --vacuum-size=500M

二十二、生产环境部署清单

正式上线前建议检查以下项目:

  • [ ] 系统已更新到最新安全补丁
  • [ ] 已创建普通用户并配置 sudo
  • [ ] 禁止 root SSH 登录
  • [ ] 推荐使用 SSH 密钥登录
  • [ ] 防火墙只开放必要端口
  • [ ] 云服务器安全组配置正确
  • [ ] 已安装 Fail2ban
  • [ ] 已配置自动安全更新
  • [ ] 已配置时间同步
  • [ ] Web 服务可正常访问
  • [ ] HTTPS 证书已部署并可自动续期
  • [ ] 数据库已完成安全初始化
  • [ ] 已配置备份策略
  • [ ] 已记录关键账号、端口、路径和服务信息
  • [ ] 已测试重启后服务是否自动恢复

二十三、推荐目录规划

为了后期维护方便,可以采用统一目录规范:

/data/apps        应用程序
/data/www         网站目录
/data/logs        应用日志
/data/backup      备份文件
/data/docker      Docker 项目

创建目录:

sudo mkdir -p /data/{apps,www,logs,backup,docker}
sudo chown -R $USER:$USER /data

这样可以减少系统目录混乱,也便于迁移和备份。


二十四、总结

Debian 的部署并不复杂,但要真正用于生产环境,不能只停留在“系统能启动、SSH 能登录”的阶段。一个完整、可靠的 Debian 部署流程,至少应该包括:系统安装、软件源配置、基础工具安装、普通用户与 sudo 配置、SSH 安全设置、防火墙配置、Fail2ban 防护、自动更新、Web 服务部署、数据库部署、HTTPS 证书配置、日志管理、备份策略和上线前检查。

对于新手而言,建议先在虚拟机中完整练习一遍本文流程,熟悉每个命令的作用,再用于真实服务器。对于生产环境,尤其要重视安全和备份:开放的端口越少越好,密码登录能不用就不用,关键配置和数据必须定期备份。

Debian 的优势在于稳定、简洁、可靠。只要按照规范完成部署,并建立良好的运维习惯,它可以长期稳定地支撑网站、应用服务、数据库、容器平台和各类业务系统运行。

目录结构
全文