Ubuntu Server 是生产环境中广泛使用的 Linux 发行版,以其稳定性、长期支持和丰富的生态著称。本指南聚焦 24.04 LTS(Noble Numbat)及后续版本,适用于 Web 服务、API、数据库、容器等常见场景。从部署到日常维护,提供实用、可落地的步骤与最佳实践,帮助新手到中级运维人员构建可靠的生产环境。
一、部署阶段:从零到生产就绪
1. 选择安装介质与初始安装
- 下载官方 Ubuntu Server 24.04 LTS minimal ISO(推荐 live-server 镜像)。
- 安装时优先选择 Minimal installation,只勾选 OpenSSH server。
- 分区建议:
- /boot 或 /boot/efi:1GB(FAT32 或 ext4)
- /:剩余空间(ext4 或 xfs)
- 可选单独 /var(日志、数据库)、/home、/tmp(tmpfs 或 noexec 挂载)
- 创建普通用户(加入 sudo 组),禁用 root 密码登录。
- 安装完成后立即:text
sudo apt update && sudo apt full-upgrade -y && sudo apt autoremove sudo reboot
2. SSH 安全配置(必须第一时间完成)
编辑 /etc/ssh/sshd_config:
- PermitRootLogin no
- PasswordAuthentication no(后续全用密钥)
- PubkeyAuthentication yes
- Port 2222(可选改端口降低扫描)
- 重启:sudo systemctl restart ssh
生成并上传密钥:
- 本地:ssh-keygen -t ed25519
- 上传:ssh-copy-id 用户名@服务器IP
- 测试无密码登录后,删除密码认证配置。
3. 防火墙与网络基础
使用 ufw(简单高效):
- sudo ufw allow OpenSSH(或自定义端口)
- sudo ufw allow 80,443/tcp(Web 服务)
- sudo ufw enable
- sudo ufw status verbose
现代网络配置使用 netplan(/etc/netplan/ 下 yaml 文件):
- 设置静态 IP、DNS、gateway
- sudo netplan apply
4. 系统加固基础
- 安装 fail2ban:sudo apt install fail2ban
- 启用 unattended-upgrades(自动安全补丁): sudo dpkg-reconfigure –priority=low unattended-upgrades
- 注册 Ubuntu Pro(免费个人/小团队): sudo pro attach(获取免费 token) 启用 Livepatch(无重启内核补丁)和 ESM(扩展 Universe 安全维护)。
- 最小化服务:sudo systemctl disable –now 不需要的服务(如 bluetooth、cups 等)。
5. 常用工具安装
text
sudo apt install htop ncdu curl wget git unzip tree net-tools sysstat needrestart -y二、日常维护:巡检、更新、监控
1. 每日巡检清单(5-10 分钟)
- uptime / w → 负载、在线用户
- free -h → 内存 available
- df -h / df -i → 磁盘空间 & inode
- top / htop → 前几名进程占用
- journalctl -p err -b → 当天错误日志
- grep “Failed password” /var/log/auth.log | tail -20 → 暴力破解尝试
- sudo needrestart → 检查更新后需重启的服务/内核
2. 更新策略(2026 年推荐)
- 安全补丁:启用 unattended-upgrades,默认每日自动应用。
- 完整升级:每周或每月维护窗口:text
sudo apt update && sudo apt full-upgrade -y && sudo apt autoremove sudo needrestart - 内核 Livepatch:启用后内核安全补丁无需重启(Ubuntu Pro)。
- 重启策略:非 Livepatch 内核更新后,选择低峰期重启;建议每月至少一次完整重启验证稳定性。
3. 日志与空间管理
- journalctl –vacuum-time=60d 或 –vacuum-size=5G → 限制日志体积
- sudo apt clean && sudo apt autoclean → 清 deb 缓存
- ncdu / → 交互式查找大文件/目录
- find /var/log -type f -mtime +90 -delete → 删除 90 天前旧日志(谨慎)
4. 备份基础
- 配置 rsync 增量备份:text
rsync -avz --delete /重要目录/ backup@远程IP:/backup/ - 数据库:mysqldump 或 pg_dump + cron
- 置 cron 定时任务(crontab -e):text
0 3 * * * /root/backup.sh # 每天凌晨 3 点备份 0 4 * * 0 /root/full-upgrade.sh # 每周日升级
5. 监控与告警入门
- 安装 netdata(一键实时监控):bash <(curl -Ss https://my-netdata.io/kickstart.sh)
- 或 prometheus-node-exporter + Grafana(更专业)
- 简单脚本监控磁盘/负载,低于阈值发邮件或 webhook。
三、常见生产场景扩展
- Web 服务器:Nginx/Apache + Let’s Encrypt SSL + systemd 服务管理。
- 容器化:Docker/Podman 或 MicroK8s(单节点 K8s)。
- 数据库:PostgreSQL/MySQL/MongoDB → 单独分区、定期 vacuum/optimize。
- 多机管理:Ansible 批量配置、Landscape(Canonical 官方)或自建脚本。
四、总结:生产级维护心法
- 最小化 + 自动化:减少手动操作,启用 unattended-upgrades + Livepatch。
- 定期验证:每周检查日志、每月模拟故障/重启。
- 文档 & 变更记录:所有改动记在 README 或 git 仓库。
- 黄金排查顺序:uptime → free -h → df -h/-i → top → journalctl -xe → needrestart
遵循这些步骤,能让 Ubuntu Server 在 2026 年的生产环境中保持高可用、低风险。实际环境因业务而异,建议从小规模开始实践,逐步自动化。