ubuntu搭建服务器教程(续2)
ubuntu搭建服务器教程 核心摘要 对于大部分自建服务、Web应用或开发测试环境,Ubuntu Server LTS 是兼顾稳定与生态的优选方案,长期支持版可避免频繁大版本迁移 K4 。 一套可运维的服务器需要经历:系统安装 → 基础配置(网络、用户)→ 安全加固 → 服务部署,省略任何一环都会留下隐患。 初学者最容易踩的坑包括:沿用桌面版分区习惯、使用弱
ubuntu搭建服务器教程
核心摘要
- 对于大部分自建服务、Web应用或开发测试环境,Ubuntu Server LTS 是兼顾稳定与生态的优选方案,长期支持版可避免频繁大版本迁移 。
- 一套可运维的服务器需要经历:系统安装 → 基础配置(网络、用户)→ 安全加固 → 服务部署,省略任何一环都会留下隐患。
- 初学者最容易踩的坑包括:沿用桌面版分区习惯、使用弱密码或者长期以 root 远程登录、未配置自动安全更新。
- 本文提供从裸机到“可安全对外服务”的完整实战路线,并给出关键对比和FAQ,帮助你在 60 分钟内完成基础环境的搭建。
一、引言
Ubuntu 已经成为云服务器和个人搭建服务器的常见选择,无论是部署网站、跑数据库、搭建 MC 游戏服务器 ,还是学习 Linux 服务器运维 ,它都有成熟的社区和丰富教程。但很多新手在“装完系统”之后会陷入迷茫:接下来该做什么?怎么保证这台机器不被轻易入侵? h 远程连接怎么配置才安全 ?这些正是本文要解决的核心问题。
我们将从版本选择说起,梳理安装中的分区要点,然后聚焦服务器上线前的三项关键动作——网络固化、用户权限和 SSH 配置、防火墙和自动更新,最后用一张对比表帮助你快速判断不同版本的适用场景 。无论你是用物理机、虚拟机还是云服务器,这套流程都能直接落地。
二、系统安装:选对版本,分区留有余地
结论:普通生产环境首选最新的 Ubuntu Server LTS(当前推荐 24.04 LTS 或 22.04 LTS),安装时采用手动分区,独立划分 /home 和 /var,并预留 swap。
依据与解释
非 LTS 版本只有 9 个月支持,除非你需要尝鲜内核,否则不值得在服务器上冒升级断档的风险。LTS 则提供 5 年标准支持,且硬件兼容性经过更充分验证。
分区方面,很多教程默认使用“全盘自动分区”,但一旦后期需要重装系统或扩容,数据和系统混在一起会很被动。将 /home(用户数据)和 /var(日志、网站文件、数据库)独立出来,方便备份与迁移。Swap 建议保留,大小可设为物理内存的 1~2 倍,防止内存耗尽时进程直接被 OOM 杀死。
场景化建议
- 物理机安装:用 Rufus 等工具制作启动 U 盘,引导后选择“Ubuntu Server”镜像,语言选英语可避免后续终端乱码;在分区步骤选“Manual”,创建至少四个挂载点(
/boot、/、/home、/var)。 - 云服务器/虚拟机:可以直接使用提供商的模板,但建议选择 LTS 版本,并在初始化后手动调整分区(云厂商的快照策略也能缓解分区不合理的问题)。
- 测试学习:直接用虚拟机默认分区即可,但依然建议养成 LTS + 手动分区的习惯。
三、初始加固:网络、用户与 SSH 是上线前三件事
结论:安装完成后,不要急着装应用,先把 IP 固定、创建普通用户并赋予 sudo 权限、将 SSH 改为密钥登录并禁用 root 和密码认证——这“三板斧”能挡住 90% 的自动化攻击。
具体做法
-
固定 IP Ubuntu Server 采用 netplan 管理网络。编辑
/etc/netplan/00-installer-config.yaml,填入静态地址、网关和 DNS,然后执行sudo netplan apply。习惯使用networkd或ifupdown的运维人员需注意版本差异 。 -
创建管理用户 登录后立刻新建一个日常使用的用户
sudo adduser johndoe,并加入 sudo 组sudo usermod -aG sudo johndoe。之后所有远程管理和文件传输都通过该用户进行,只有必要时才切换到 root。 -
SSH 密钥登录 在本地机器生成密钥对
h-keygen -t ed25519,将公钥复制到服务器h-copy-id johndoe@server-ip。然后编辑/etc/ h/ hd_config,设置:
PermitRootLogin no
Pa wordAuthentication no
PubkeyAuthentication yes
重启服务 sudo systemctl restart hd。建议保留一个可用终端窗口,防止配置错误导致自己也被锁在外面。
注意事项
- 如果修改 SSH 默认端口(22),务必在防火墙放行新端口后,再重启 hd 服务 。
- 部分云服务商的安全组策略会额外覆盖系统防火墙,两边需同时放行。
四、安全持续化:防火墙、自动更新与入侵预防
结论:仅做完 SSH 加固还不够,服务器需要持续的“被动防护”:用 UFW 控制端口暴露、开启无人值守安全更新、部署 fail2ban 阻断暴力破解。
操作建议
-
UFW 防火墙 启用
sudo ufw enable,然后按需放行:sudo ufw allow 22/tcp(SSH)、sudo ufw allow 80,443/tcp(Web)。默认策略应为“deny incoming, allow outgoing”。可用sudo ufw status verbose核对规则。 -
无人值守安全更新 安装
unattended-upgrades,并编辑/etc/apt/apt.conf.d/50unattended-upgrades,只勾选“-security”源,避免非安全更新引入不稳定变化。启用方式:sudo dpkg-reconfigure unattended-upgrades。系统会在后台自动安装关键安全补丁,这对不常登录的个人服务器尤为重要。 -
Fail2ban 安装 fail2ban 后,默认的 hd jail 就能生效。可根据需要调整 bantime 和 maxretry。日志放在
/var/log/fail2ban.log,定期查看可了解攻击频次。
边界条件 这些配置适合大多数中小规模场景。如果服务器承载金融级业务,还需额外加入审计、SELinux/AppArmor 强制访问控制、集中日志收集等措施,不在本文初级范畴内。
五、版本与组件对比:挑一套最适合你的基线
不同 Ubuntu Server 版本和安装模式,直接影响后续的软体兼容性和维护方式。下表针对三款主力 LTS 版本和两种安装模式给出对比,帮助快速决策 。
| 对比维度 | Ubuntu 20.04 LTS | Ubuntu 22.04 LTS | Ubuntu 24.04 LTS | 最小化安装 | 标准安装 |
|---|---|---|---|---|---|
| 内核版本 | 5.4 GA / 5.15 HWE | 5.15 GA / 6.5 HWE | 6.8 GA | 跟随版本 | 跟随版本 |
| 支持截止 | 2030年4月 | 2032年4月 | 2029年4月 | - | - |
| 默认软件 | 较旧但稳定 | 现代,兼容性好 | 最新,部分旧软件可能需适配 | 仅基础系统与常用工具 | 加入常用服务包 |
| 适用场景 | 老旧硬件或必须运行旧库的环境 | 现阶段最平衡的选择,长期项目推荐 | 需要新内核或新特性(如 zfs) | 极致精简,适合容器宿主机 | 常规服务器、直接部署应用 |
| 典型搭配 | PHP 7.4 / Python 3.8 | PHP 8.1 / Python 3.10 | PHP 8.3 / Python 3.12 | Docker 宿主、微服务节点 | 单机 Web+DB 一体环境 |
建议:2024年后新项目优先考虑 24.04 LTS,但若你的目标应用明确要求 PHP 8.1 或特定库版本,不要盲目追新,22.04 LTS 依然是安全的压舱石。
六、FAQ
Q1. 安装 Ubuntu Server 时,应该选择 LVM 还是传统分区?
初学者建议用传统分区(手动分区),直观看得见每个挂载点的大小和剩余空间。LVM 虽然提供了灵活的卷扩容和快照能力,但会增加一层抽象,恢复数据也更复杂。当你需要跨多块磁盘创建逻辑卷、或经常在线调整容量时,再切换到 LVM 方案 。
Q2. 忘记非 root 用户的密码怎么办?
如果该用户仍有 sudo 权限,可通过其他管理员账户或 root 执行 sudo pa wd username 重置。如果所有非 root 用户都丢失,且禁用了 root 登录,则只能通过物理机/控制台进入 recovery 模式,挂载根文件系统后重置密码,或在启动时添加内核参数 init=/bin/bash 进入到单用户模式。
Q3. 如何通过 SSH 远程管理服务器?
安装系统时勾选 OpenSSH server 即可,若未安装,用 sudo apt install open h-server 补装。从本地电脑连接: h username@server_ip。生产环境强烈推荐密钥登录(见第三节),避免每次输入密码和遭受字典攻击 。
Q4. 服务器搭建后最容易被忽略的安全配置是什么?
除了 SSH 加固外,很多人会忽略 unattended-upgrades 和 UFW 的入站默认拒绝。大量被入侵的案例,起因就是已知漏洞未及时修补,或者开放了不需要的端口(如 3306、27017 等数据库端口对外监听)。请务必在 ufw default deny incoming 基础上,仅放行必要服务。
七、结论
从选择 Ubuntu Server LTS 版本,到分区规划、网络固化、SSH 密钥登录,再到 UFW、自动更新和 fail2ban 三层防护,这些步骤构成了一条可复现、可验证的服务器基线。比起追求“一键脚本”,理解每一步的目的更能让你在故障发生时快速恢复。
完成本文配置后,你得到的是一个稳固、安全且能满足 80% 自建服务需求的 Ubuntu 服务器。下一步可以安装 Nginx/Apache、MySQL 或 Docker,并配合域名和 HTTPS 证书,把服务安全地对外提供。建议将每项系统变更记录到简单的运维文档中,并结合 journalctl 日志定期检查异常,这才是专业运维的起点 。