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

从零上手 Debian:一台服务器的完整搭建实战记录

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

Debian 实战案例分享|零基础可学

在很多人眼里,Linux 是“程序员专属系统”,而 Debian 又常常被认为是“更偏服务器、更稳定、更专业”的发行版。事实上,Debian 并没有想象中那么难,它是一套非常适合学习 Linux 基础、搭建服务器、部署网站、运行自动化任务的操作系统。只要掌握基本思路,即使是零基础用户,也可以一步一步完成从安装系统到部署应用的全过程。

本文将以“实战案例”的方式,带你了解 Debian 的常见使用场景。内容包括 Debian 的基础认识、系统安装后的初始配置、软件安装、用户管理、防火墙配置、Web 服务部署、数据库安装、定时任务、日志排查以及日常维护等。文章尽量用通俗语言讲解,适合刚接触 Linux、想系统学习 Debian 的读者。


一、为什么选择 Debian?

Debian 是一个历史悠久、社区活跃、稳定性极高的 Linux 发行版。很多常见系统都基于 Debian,例如 Ubuntu、Linux Mint 等。选择 Debian 的理由主要有以下几点:

1. 稳定可靠

Debian 的软件包经过较长时间测试,尤其是 Stable 稳定版,更新节奏相对保守,但换来的是系统稳定性强,非常适合服务器环境。

2. 软件仓库丰富

Debian 官方仓库提供了大量软件包,常用的 Web 服务、数据库、开发工具、网络工具几乎都可以通过 apt 命令直接安装。

3. 社区文档完善

Debian 有丰富的官方文档和社区教程。如果遇到问题,通常能在官方 Wiki、论坛或技术博客中找到解决方案。

4. 适合学习 Linux 原理

Debian 相对“原汁原味”,不会过度封装系统操作,适合学习 Linux 文件结构、权限管理、服务管理、包管理等核心知识。


二、案例背景:从零搭建一台 Debian 服务器

假设我们有一台云服务器,安装的是 Debian 12,准备完成以下目标:

  1. 完成服务器基础配置;
  2. 创建普通用户并开启 sudo 权限;
  3. 更新系统并安装常用工具;
  4. 配置 SSH 安全登录;
  5. 安装 Nginx,部署一个简单网页;
  6. 安装 MariaDB 数据库;
  7. 配置防火墙;
  8. 使用定时任务备份网站目录;
  9. 学会查看日志和排查常见问题。

这个案例覆盖了 Debian 服务器入门阶段最常用的操作。即使你没有云服务器,也可以在虚拟机中安装 Debian 跟着练习。


三、登录 Debian 服务器

如果你购买的是云服务器,一般服务商会提供公网 IP、用户名和密码。常见登录方式是 SSH。

在本地电脑打开终端,输入:

ssh root@服务器IP地址

例如:

ssh root@192.168.1.100

首次登录时可能会看到类似提示:

Are you sure you want to continue connecting?

输入:

yes

然后输入密码即可登录。

如果你是 Windows 用户,可以使用 PowerShell、Windows Terminal,也可以使用 Xshell、MobaXterm 等工具连接。


四、更新系统软件包

登录后第一件事通常是更新软件包列表和系统软件。Debian 使用 apt 作为常见包管理工具。

执行:

apt update

这个命令会从软件仓库获取最新的软件包信息。

然后执行:

apt upgrade -y

这个命令会升级已安装的软件包,-y 表示自动确认。

如果想一次性执行,也可以写成:

apt update && apt upgrade -y

常见问题:apt update 失败怎么办?

如果出现网络连接失败,可能是以下原因:

  • 服务器网络不通;
  • DNS 配置异常;
  • 软件源地址不可用;
  • 使用了国外源,访问速度较慢。

可以先测试网络:

ping debian.org

如果无法解析域名,可以检查 DNS:

cat /etc/resolv.conf

临时设置 DNS:

echo "nameserver 8.8.8.8" > /etc/resolv.conf

国内用户也可以考虑更换为国内镜像源,例如清华源、阿里源、中科大源等。


五、安装常用工具

新装 Debian 系统可能比较精简,很多常用工具没有预装。可以安装以下工具:

apt install -y vim curl wget git net-tools htop unzip sudo

这些工具的用途如下:

工具 作用
vim 文本编辑器
curl 网络请求工具
wget 文件下载工具
git 代码版本管理
net-tools 提供 ifconfig 等网络命令
htop 查看系统资源
unzip 解压 zip 文件
sudo 普通用户临时获得管理员权限

如果你不会使用 vim,也可以安装 nano

apt install -y nano

nano 对新手更友好,打开文件后可以直接编辑,底部会显示快捷键提示。


六、创建普通用户并配置 sudo 权限

服务器不建议长期使用 root 用户操作。更安全的方式是创建普通用户,然后通过 sudo 执行管理员命令。

创建用户:

adduser debianuser

系统会提示设置密码和用户信息,按提示完成即可。

将用户加入 sudo 组:

usermod -aG sudo debianuser

切换到新用户:

su - debianuser

测试 sudo:

sudo whoami

如果输出:

root

说明 sudo 权限配置成功。

为什么不建议直接使用 root?

root 用户拥有系统最高权限,任何误操作都可能导致严重后果。例如误删系统目录:

rm -rf /

虽然现代系统会有保护机制,但 root 权限下的危险操作仍然非常多。使用普通用户可以降低风险。


七、配置 SSH 安全登录

SSH 是远程管理服务器的重要入口,也最容易受到暴力破解攻击。因此需要进行安全配置。

SSH 配置文件位于:

/etc/ssh/sshd_config

使用编辑器打开:

sudo nano /etc/ssh/sshd_config

建议修改以下配置:

PermitRootLogin no
PasswordAuthentication yes

如果你已经配置了密钥登录,可以把密码登录关闭:

PasswordAuthentication no

修改后重启 SSH 服务:

sudo systemctl restart ssh

注意:修改 SSH 配置前,建议保留一个已登录终端不要关闭,防止配置错误导致无法重新连接。

配置 SSH 密钥登录

在本地电脑生成密钥:

ssh-keygen

一路回车即可。然后将公钥复制到服务器:

ssh-copy-id debianuser@服务器IP地址

之后可以使用:

ssh debianuser@服务器IP地址

免密码登录服务器。

密钥登录比密码登录更安全,适合生产环境使用。


八、配置防火墙 UFW

Debian 可以使用 ufw 管理防火墙规则。先安装:

sudo apt install -y ufw

允许 SSH:

sudo ufw allow ssh

如果 SSH 使用默认 22 端口,这条命令即可。如果你修改过 SSH 端口,例如改成 2222,则需要:

sudo ufw allow 2222/tcp

允许 HTTP 和 HTTPS:

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

启用防火墙:

sudo ufw enable

查看状态:

sudo ufw status

示例输出:

Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere

防火墙配置注意事项

启用防火墙前,一定要确认 SSH 端口已经放行,否则可能会把自己挡在服务器外面。如果是云服务器,还要检查云厂商控制台的安全组规则,云安全组和服务器防火墙都需要允许对应端口。


九、安装 Nginx 并部署网页

Nginx 是非常常见的 Web 服务器,常用于静态网站、反向代理、负载均衡等场景。

安装 Nginx:

sudo apt install -y nginx

启动服务:

sudo systemctl start nginx

设置开机自启:

sudo systemctl enable nginx

查看状态:

sudo systemctl status nginx

如果看到 active (running),说明 Nginx 已正常运行。

在浏览器访问:

http://服务器IP地址

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


十、实战:发布一个简单 HTML 页面

Nginx 默认网站目录通常是:

/var/www/html

我们创建一个简单页面:

sudo nano /var/www/html/index.html

写入以下内容:




    
    Debian 实战案例
    


    

我的 Debian 网站上线了!

这是一个使用 Debian 和 Nginx 部署的简单网页。

通过这个案例,你已经完成了 Linux 服务器的基础部署。

保存后,刷新浏览器页面,就能看到自己写的网页。

检查 Nginx 配置

如果修改了 Nginx 配置,可以先检查语法:

sudo nginx -t

没有错误再重载服务:

sudo systemctl reload nginx

十一、了解 Nginx 站点配置

Debian 中 Nginx 常见配置目录如下:

/etc/nginx/

其中:

路径 作用
/etc/nginx/nginx.conf 主配置文件
/etc/nginx/sites-available/ 可用站点配置
/etc/nginx/sites-enabled/ 已启用站点配置
/var/www/html/ 默认网站目录

如果你要配置一个新站点,可以创建配置文件:

sudo nano /etc/nginx/sites-available/my-site

示例配置:

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

    root /var/www/my-site;
    index index.html;

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

创建网站目录:

sudo mkdir -p /var/www/my-site

写入页面:

echo "Hello Debian" | sudo tee /var/www/my-site/index.html

启用站点:

sudo ln -s /etc/nginx/sites-available/my-site /etc/nginx/sites-enabled/

检查并重载:

sudo nginx -t
sudo systemctl reload nginx

如果域名已经解析到服务器 IP,就可以通过域名访问。


十二、安装 MariaDB 数据库

MariaDB 是 MySQL 的一个开源分支,常用于网站和应用后端数据存储。

安装:

sudo apt install -y mariadb-server

启动并设置开机自启:

sudo systemctl start mariadb
sudo systemctl enable mariadb

执行安全初始化:

sudo mysql_secure_installation

这个过程会询问是否设置 root 密码、是否移除匿名用户、是否禁止远程 root 登录、是否删除测试数据库等。对于新手,通常可以根据提示选择更安全的选项。

登录数据库:

sudo mysql

创建数据库:

CREATE DATABASE demo_db DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

创建用户:

CREATE USER 'demo_user'@'localhost' IDENTIFIED BY 'StrongPassword123!';

授权:

GRANT ALL PRIVILEGES ON demo_db.* TO 'demo_user'@'localhost';

刷新权限:

FLUSH PRIVILEGES;

退出:

EXIT;

测试登录:

mysql -u demo_user -p demo_db

输入密码后如果能进入数据库,说明配置成功。


十三、文件权限与目录管理

Linux 中权限非常重要。常见权限包括读、写、执行,分别用 rwx 表示。

查看文件权限:

ls -l

输出示例:

-rw-r--r-- 1 root root 1024 Jan 1 10:00 index.html

含义大致如下:

  • 第一个字符表示文件类型;
  • 后面九个字符表示用户、用户组、其他人的权限;
  • root root 表示所属用户和所属组。

修改文件所有者:

sudo chown www-data:www-data /var/www/html/index.html

递归修改目录所有者:

sudo chown -R www-data:www-data /var/www/html

修改权限:

sudo chmod 644 /var/www/html/index.html

目录通常需要执行权限,例如:

sudo chmod 755 /var/www/html

权限配置建议

对于网站目录,常见做法是:

sudo chown -R www-data:www-data /var/www/my-site
sudo find /var/www/my-site -type d -exec chmod 755 {} \;
sudo find /var/www/my-site -type f -exec chmod 644 {} \;

这样既能保证 Web 服务可读取文件,又不会给过多写权限。


十四、定时任务:自动备份网站目录

服务器运维中,备份非常重要。我们可以使用 cron 定时任务每天自动备份网站目录。

创建备份目录:

sudo mkdir -p /backup

创建备份脚本:

sudo nano /usr/local/bin/backup-web.sh

写入:

#!/bin/bash

DATE=$(date +%Y%m%d_%H%M%S)
SOURCE="/var/www/html"
TARGET="/backup/html_$DATE.tar.gz"

tar -czf "$TARGET" "$SOURCE"

find /backup -name "html_*.tar.gz" -mtime +7 -delete

这段脚本的作用是:

  1. 获取当前时间;
  2. /var/www/html 打包为压缩文件;
  3. 保存到 /backup 目录;
  4. 删除 7 天以前的旧备份。

赋予执行权限:

sudo chmod +x /usr/local/bin/backup-web.sh

手动测试:

sudo /usr/local/bin/backup-web.sh

查看备份:

ls -lh /backup

编辑定时任务:

sudo crontab -e

添加:

0 2 * * * /usr/local/bin/backup-web.sh

表示每天凌晨 2 点执行备份。


十五、查看系统资源状态

服务器运行一段时间后,需要关注 CPU、内存、磁盘、网络等资源。

查看内存:

free -h

查看磁盘:

df -h

查看目录占用:

du -sh /var/www/html

查看进程:

ps aux

使用 htop:

htop

查看系统运行时间和负载:

uptime

输出示例:

10:20:31 up 5 days,  3 users,  load average: 0.10, 0.05, 0.01

其中 load average 表示系统负载。如果服务器是 1 核 CPU,长期超过 1 就需要关注;如果是 4 核 CPU,长期超过 4 才表示压力较大。


十六、日志排查:遇到问题先看日志

Linux 服务器排查问题时,日志非常关键。Debian 中常见日志目录是:

/var/log

查看 Nginx 访问日志:

sudo tail -f /var/log/nginx/access.log

查看 Nginx 错误日志:

sudo tail -f /var/log/nginx/error.log

查看系统日志:

sudo journalctl

查看某个服务日志,例如 Nginx:

sudo journalctl -u nginx

查看最近日志:

sudo journalctl -u nginx --since "1 hour ago"

实时查看:

sudo journalctl -u nginx -f

常见问题示例

1. Nginx 启动失败

执行:

sudo systemctl status nginx

再检查配置:

sudo nginx -t

如果提示端口被占用,可以查看:

sudo ss -tulpn | grep :80

2. 网站访问 403

常见原因:

  • 网站目录没有读取权限;
  • Nginx 配置中的 root 路径错误;
  • index 文件不存在;
  • SELinux/AppArmor 等安全策略影响。

检查文件权限:

ls -ld /var/www/html
ls -l /var/www/html

3. 网站访问 502

如果使用反向代理,502 通常表示后端服务不可用。需要检查后端服务是否运行,端口是否正确,Nginx upstream 配置是否正确。


十七、软件安装与卸载

Debian 使用 apt 管理软件,非常方便。

搜索软件:

apt search nginx

查看软件信息:

apt show nginx

安装软件:

sudo apt install 软件名

卸载软件:

sudo apt remove 软件名

彻底卸载配置文件:

sudo apt purge 软件名

清理无用依赖:

sudo apt autoremove

清理缓存:

sudo apt clean

apt 和 apt-get 的区别

apt 更适合日常交互使用,输出更友好;apt-get 更常用于脚本。对于新手来说,使用 apt 即可。


十八、服务管理:systemctl 基础

Debian 使用 systemd 管理服务。常用命令如下:

启动服务:

sudo systemctl start nginx

停止服务:

sudo systemctl stop nginx

重启服务:

sudo systemctl restart nginx

重新加载配置:

sudo systemctl reload nginx

查看状态:

sudo systemctl status nginx

设置开机自启:

sudo systemctl enable nginx

取消开机自启:

sudo systemctl disable nginx

查看所有运行中的服务:

systemctl list-units --type=service --state=running

掌握 systemctl,就掌握了 Debian 服务管理的核心。


十九、Debian 日常维护建议

为了让服务器长期稳定运行,建议养成以下习惯。

1. 定期更新系统

sudo apt update
sudo apt upgrade -y

但生产环境更新前最好先查看更新内容,避免关键服务受影响。

2. 定期备份

至少备份以下内容:

  • 网站目录;
  • 数据库;
  • Nginx 配置;
  • 应用配置文件;
  • SSL 证书;
  • 重要脚本。

3. 不随便执行未知命令

网上很多教程会让你复制命令执行,尤其是类似:

curl xxx | bash

这类命令要格外谨慎,因为它会下载远程脚本并直接运行。

4. 使用强密码和密钥登录

密码建议包含大小写字母、数字和特殊字符。更推荐使用 SSH 密钥登录。

5. 关注磁盘空间

磁盘满了会导致服务异常,例如数据库无法写入、网站无法上传文件等。可以定期执行:

df -h

6. 查看异常登录

可以查看认证日志:

sudo journalctl -u ssh

也可以检查登录记录:

last

二十、零基础学习 Debian 的路线建议

如果你是完全零基础,不建议一开始就学习太多复杂概念。可以按照以下路线逐步掌握:

第一阶段:基础命令

重点学习:

  • ls
  • cd
  • pwd
  • cp
  • mv
  • rm
  • mkdir
  • cat
  • less
  • tail
  • grep

这些命令是每天都会用到的。

第二阶段:文件权限

理解:

  • 用户和用户组;
  • 文件读写执行权限;
  • chmod
  • chown
  • root 与普通用户区别。

第三阶段:软件安装

掌握:

  • apt update
  • apt install
  • apt remove
  • apt search
  • 软件源配置。

第四阶段:服务管理

掌握:

  • systemctl start
  • systemctl stop
  • systemctl restart
  • systemctl status
  • journalctl

第五阶段:实战部署

尝试部署:

  • Nginx 静态网站;
  • PHP 网站;
  • Node.js 应用;
  • Python Flask 应用;
  • MySQL/MariaDB 数据库。

第六阶段:安全与运维

学习:

  • SSH 安全;
  • 防火墙;
  • 日志分析;
  • 自动备份;
  • 监控报警;
  • SSL 证书配置。

只要按阶段练习,Debian 并不难。


二十一、扩展案例:使用 Debian 部署一个个人主页

完成上面的基础案例后,可以进一步做一个个人主页项目。

1. 创建项目目录

sudo mkdir -p /var/www/profile

2. 创建页面文件

sudo nano /var/www/profile/index.html

写入:




    
    我的个人主页


    

你好,我是 Debian 用户

这是我的第一个 Linux 服务器项目。

3. 创建 Nginx 配置

sudo nano /etc/nginx/sites-available/profile

写入:

server {
    listen 80;
    server_name yourdomain.com;

    root /var/www/profile;
    index index.html;

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

4. 启用站点

sudo ln -s /etc/nginx/sites-available/profile /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

这样,一个简单的个人主页就完成了。


二十二、总结

Debian 是一套非常适合学习和实战的 Linux 系统。它稳定、可靠、文档丰富,既能用于个人学习,也能用于生产服务器。对于零基础用户来说,学习 Debian 最重要的不是死记命令,而是理解每一步操作背后的目的。

本文通过一个完整案例,带你完成了从登录服务器、更新系统、安装工具、创建用户、配置 SSH、防火墙、部署 Nginx 网站、安装数据库、配置备份、查看日志到日常维护的全过程。掌握这些内容后,你已经具备了 Debian 入门实战能力。

接下来,你可以继续尝试部署更复杂的项目,例如博客系统、Docker 容器、Python Web 应用、Node.js 服务,或者学习自动化运维工具。只要保持动手实践,遇到问题学会看日志、查文档、分析原因,你会发现 Debian 并不是门槛很高的系统,而是一个稳定、强大、值得长期学习的平台。

目录结构
全文