Debian 实践教程 从系统安装到服务器部署的全流程操作指南与常见问题解决方案

引言:为什么选择 Debian?
Debian 是一个完全由自由软件爱好者社区构建的操作系统,以其稳定性、安全性和强大的软件包管理系统而闻名。它是许多其他流行发行版(如 Ubuntu、Linux Mint)的基础。对于服务器部署而言,Debian 提供了一个极其稳定、轻量且高度可定制的平台。本教程将带你从零开始,完成 Debian 系统的安装、基础配置、服务器环境搭建以及常见问题的排查。
第一部分:Debian 系统安装
1.1 准备工作
在开始安装之前,你需要准备以下资源:
硬件
:一台物理机或虚拟机(如 VMware, VirtualBox, Proxmox)。
安装介质
:一个至少 8GB 的 U 盘。
Debian 镜像
:从
Debian 官网
下载最新的稳定版(Stable)ISO 镜像。推荐下载
netinst
版本(网络安装镜像),体积小,安装时会自动下载最新软件包。
1.2 制作启动盘
使用工具将 ISO 镜像写入 U 盘。
Windows
: 推荐使用
Rufus
或
balenaEtcher
。
Linux/macOS
: 使用
dd
命令。
# 假设 /dev/sdX 是你的 U 盘(请务必使用 lsblk 或 fdisk -l 确认,避免覆盖硬盘)
sudo dd if=debian-xx.x.x-amd64-netinst.iso of=/dev/sdX bs=4M status=progress oflag=sync
1.3 图形化安装流程详解
启动与引导
:
插入 U 盘,从 BIOS/UEFI 选择从 U 盘启动。你会看到 Debian 的引导菜单,选择
“Graphical install”
(图形化安装)。
选择语言与区域
:
根据提示选择语言、位置和键盘布局。这些设置将决定系统的默认语言环境。
配置网络
:
安装程序会尝试通过 DHCP 自动获取 IP 地址。如果是服务器,建议配置静态 IP(也可以在安装后配置)。
主机名
:设置服务器名称,例如
web-server-01
。
域名
:如果有内网域名,可以填写,否则留空。
设置用户与密码
:
Root 密码
:Debian 默认禁用 root 账户的直接登录(通过
sudo
提权),但仍需设置密码用于紧急恢复模式。
普通用户
:创建一个普通用户账户(例如
admin
),并设置强密码。安装程序会询问是否将该用户加入
sudo
组,
务必选择“是”
。
分区磁盘(关键步骤)
:
对于新手或标准服务器,推荐选择
“Guided – use entire disk”
(使用整个磁盘)。
选择要安装的磁盘。
分区方案选择
“All files in one partition”
(所有文件在一个分区),这对于大多数服务器来说足够简单且易于管理。
确认分区并选择
“Finish partitioning and write changes to disk”
。
软件选择
:
这是新手最容易困惑的地方。
Debian 桌面环境
:如果你需要图形界面,勾选 GNOME, KDE 等。服务器通常
不选
。
标准系统工具
:
务必勾选
。这包含 SSH 服务器、常用命令行工具(如
sudo
,
vim
,
curl
等)。
Web 服务器
等:暂时不选,我们在后续手动安装,以便更好地控制版本和配置。
安装 GRUB 引导加载器
:
将 GRUB 安装到主引导记录(MBR)或 EFI 分区。通常选择
/dev/sda
(主硬盘)。
完成安装
:
移除安装介质并重启系统。
第二部分:系统初始化配置
登录刚安装好的系统,我们需要进行一系列安全和便利性配置。
2.1 更新软件源与系统
Debian 的软件源(Repository)是获取软件包的地方。默认源可能较慢,建议更换为国内镜像源(如清华源、阿里云源)。
操作步骤
:
备份原有源:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
编辑源文件:
sudo nano /etc/apt/sources.list
将内容替换为以下内容(以 Debian 12 “Bookworm” 为例,清华源):
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/ bookworm-backports 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
更新索引并升级系统:
sudo apt update && sudo apt upgrade -y
2.2 配置 sudo 权限
虽然安装时创建了用户,但为了安全,我们通常只允许特定用户使用
sudo
。
安装 sudo
(如果未安装):
su – # 切换到 root
apt install sudo -y
将用户加入 sudo 组
:
usermod -aG sudo your_username
注:需要重新登录才能生效。
2.3 配置 SSH 远程登录
服务器通常放置在机房,我们需要通过 SSH 远程管理。
安装 SSH 服务器
(如果在安装时未选择):
sudo apt install openssh-server -y
修改 SSH 端口(安全建议)
:
默认端口是 22,容易被扫描攻击。
sudo nano /etc/ssh/sshd_config
找到
#Port 22
,去掉注释并修改为一个不常用的端口,例如:
Port 2222
禁用 Root 登录
:
同样在
/etc/ssh/sshd_config
中:
PermitRootLogin no
重启 SSH 服务
:
sudo systemctl restart ssh
2.4 配置防火墙 (UFW)
UFW (Uncomplicated Firewall) 是 iptables 的一个前端,操作简单。
安装
:
sudo apt install ufw -y
配置规则
:
允许 SSH 端口(注意:这里要填你刚才设置的端口,比如 2222):
sudo ufw allow 2222/tcp
允许 HTTP/HTTPS(Web 服务):
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
启用防火墙
:
sudo ufw enable
提示:确保 SSH 端口已放行,否则会断开连接。
第三部分:服务器环境部署 (LAMP/LEMP)
这里以
LEMP
架构(Linux, Nginx, MySQL/MariaDB, PHP)为例,这是目前最流行的 PHP 运行环境。
3.1 安装 Nginx
Nginx 是高性能的 Web 服务器。
sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx # 设置开机自启
验证:浏览器访问
http://你的服务器IP
,应看到 Nginx 欢迎页。
3.2 安装 MariaDB
MariaDB 是 MySQL 的开源分支。
安装
:
sudo apt install mariadb-server -y
sudo systemctl start mariadb
sudo systemctl enable mariadb
安全配置
:
运行安全脚本,设置 root 密码、移除匿名用户等。
sudo mysql_secure_installation
按照提示输入 y/n 即可。
3.3 安装 PHP
Debian 默认源中的 PHP 版本可能较旧,如果需要最新版,建议添加
sury
第三方源。这里使用默认源演示。
安装 PHP-FPM
:
sudo apt install php-fpm php-mysql -y
查看 PHP 版本
:
php -v
假设安装的是 PHP 8.2,那么 FPM 配置文件通常在
/etc/php/8.2/fpm/
。
3.4 配置 Nginx 解析 PHP
我们需要修改 Nginx 的站点配置文件,使其将
.php
请求交给 PHP-FPM 处理。
编辑默认站点
:
sudo nano /etc/nginx/sites-available/default
修改内容
:
找到
server
块,修改如下(关键部分):
server {
listen 80 default_server;
listen [::]:80 default_server;

root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;

server_name _;

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

# 添加这一块以处理 PHP
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# 注意这里的 php 版本号要与你安装的一致
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}

# deny access to .htaccess files
location ~ /\.ht {
deny all;
}
}
测试并重载 Nginx
:
sudo nginx -t # 检查语法
sudo systemctl reload nginx
3.5 测试 PHP 运行
创建测试文件:
sudo nano /var/www/html/info.php
写入内容:

访问
http://你的服务器IP/info.php
。如果看到 PHP 信息页面,说明环境搭建成功。
第四部分:常见问题解决方案 (Troubleshooting)
4.1 问题:
sudo: command not found
原因
:安装时未将用户加入 sudo 组,或者未安装 sudo 软件包。
解决
:
切换到 root 用户(使用安装时设置的 root 密码)。
安装 sudo:
apt install sudo -y
将用户加入组:
usermod -aG sudo your_username
重新登录。
4.2 问题:E: Unable to locate package / 无法定位软件包
原因
:软件源未更新,或者源中确实没有该软件。
解决
:
运行
sudo apt update
。
检查
/etc/apt/sources.list
文件是否正确配置了镜像源。
如果安装非官方软件,可能需要添加 PPA(Debian 不推荐 PPA,建议寻找
.deb
包或使用 Docker)。
4.3 问题:SSH 连接被拒绝 (Connection refused)
原因
:
服务器 SSH 服务未启动。
防火墙拦截。
网络不通。
解决
:
如果能通过控制台登录服务器,检查服务状态:
systemctl status ssh
。
检查防火墙:
ufw status
。
检查端口是否监听:
netstat -tuln | grep 22
。
4.4 问题:Nginx 502 Bad Gateway
原因
:Nginx 无法连接到 PHP-FPM 进程。
解决
:
检查 PHP-FPM 是否运行:
systemctl status php8.2-fpm
(版本号视情况而定)。
检查 Nginx 配置中的
fastcgi_pass
路径是否与
/var/run/php/phpX.X-fpm.sock
实际路径一致。
4.5 问题:磁盘空间不足
排查
:
查看磁盘使用情况:
df -h
。
查看大文件:
du -sh /* 2>/dev/null | sort -rh | head -n 10
。
常见清理
:
清理旧的日志:
sudo journalctl –vacuum-time=2d
(保留2天日志)。
清理无用的依赖:
sudo apt autoremove
。
删除旧的内核(在
/boot
目录下,保留当前使用的即可)。
结语
通过以上步骤,你已经成功在 Debian 上搭建了一个基础的 Web 服务器环境。Debian 的强大之处在于其生态系统和稳定性。在生产环境中,建议进一步配置定期备份(如使用
rsync
或
borg
)、监控系统(如
Prometheus
或
Netdata
)以及自动化部署工具。希望这篇指南能帮助你顺利开启 Linux 服务器管理之旅!