努力
加油

新手搭建Web服务器应该安装哪个Ubuntu版本?

直接给结论:选 Ubuntu 22.04 LTS (Jammy Jellyfish)。

如果非要二选一,别犹豫,就装 22.04。除非你的硬件老得跑不动新系统,或者你有极其特殊的旧版软件依赖(比如某些基于 Python 3.8 的老旧脚本且无法升级),否则不要碰 20.04,更别提 18.04 了。

下面从几个实际运维和开发的角度,给你拆解为什么这么选,以及新手容易踩的坑。

1. 为什么是 22.04 LTS?

LTS(Long Term Support)是铁律
做服务器,第一原则就是稳定。非 LTS 版本(如 21.10, 23.04)只有 9 个月的支持期,这意味着你半年后就要面临大版本升级的风险,对于新手来说,升级过程中的兼容性问题是噩梦。LTS 版本提供 5 年(标准支持)甚至长达 12 年(ESM 扩展支持)的安全更新,这是生产环境的底线。

软件栈的现代性
Ubuntu 22.04 默认搭载:

  • 内核:Linux Kernel 5.15+,对现代 CPU、NVMe SSD 和虚拟化技术的支持远好于 20.04 的 5.4 内核。
  • Python:3.10+。现在大部分 AI 框架、Web 后端(Django/FastAPI/Flask)都要求 Python 3.8+,22.04 开箱即用,不用你去折腾 deadsnakes PPA 或者手动编译源码。
  • Node.js:虽然官方源可能不是最新版,但通过 NodeSource 或 NVM 安装非常方便,生态已经非常成熟。
  • Docker/Podman:容器化部署现在是标配,22.04 对最新 Docker 版本的兼容性和性能优化更好。

对比 20.04
20.04 虽然也很稳,但它已经是“上一代”主流。它的默认内核较老,对新硬件支持一般。更重要的是,很多新的开源项目开始逐步放弃对 20.04 的默认支持,或者在文档中只提供 22.04 的安装指南。作为新手,你遇到的绝大多数教程都是基于 22.04 写的,跟着走不会错。

2. 新手常问的几个问题

Q: 我要装 Desktop 还是 Server?

绝对装 Server 版(无图形界面)。

  • 资源占用:Desktop 版会常驻 GNOME 桌面环境,白白吃掉 500MB-1GB 的内存和大量 CPU 周期。Web 服务器的每一兆内存都应该用来跑业务。
  • 安全性:图形界面意味着更多的攻击面。SSH + 命令行是最安全、最高效的管理方式。
  • 习惯培养:如果你连 Linux 命令都不会敲,建议先花一周时间熟悉 ls, cd, chmod, chown, systemctl, journalctl, vim/nano 等基础命令。这是基本功。

Q: 阿里云/腾讯云/AWS 上怎么选镜像?

在国内云厂商控制台创建实例时:

  1. 操作系统类型选择 Linux。
  2. 发行版选择 Ubuntu。
  3. 版本选择 Ubuntu 22.04。
  4. 重要提示:尽量使用云厂商提供的“公共镜像”,而不是自己上传 ISO 再安装。公共镜像已经预装了云监控 agent、cloud-init 等工具,启动速度更快,网络配置也更符合云平台规范。

Q: 需要第一时间打补丁吗?

是的。安装完成后,第一件事永远是:

sudo apt update && sudo apt upgrade -y

确保所有基础组件都是最新的安全版本。

3. 避坑指南(新手必看)

  1. 不要禁用 Swap
    云服务器内存通常有限(比如 2G 或 4G)。一旦内存溢出,系统会直接卡死甚至崩溃。务必创建一个 Swap 文件(至少 2GB,推荐等于物理内存大小),防止 OOM(Out of Memory)导致服务不可用。

    # 示例:创建 2GB swap
    sudo fallocate -l 2G /swapfile
    sudo chmod 600 /swapfile
    sudo mkswap /swapfile
    sudo swapon /swapfile
    # 记得写入 /etc/fstab 实现开机自动挂载
    echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
  2. 防火墙别乱开
    Ubuntu 自带 ufw。新手建议先启用它,然后只开放必要端口:

    • SSH (22)
    • HTTP (80)
    • HTTPS (443)
      sudo ufw enable
      sudo ufw allow ssh
      sudo ufw allow http
      sudo ufw allow https

      不要用 iptables 直接操作,除非你非常清楚自己在干什么。

  3. 不要用 root 登录
    创建一个普通用户,并赋予 sudo 权限。这是基本的安全规范。

    sudo adduser yourusername
    sudo usermod -aG sudo yourusername

    然后通过 SSH Key 认证登录,禁用密码登录。

  4. 备份!备份!备份!
    在动手做任何重大修改之前,拍一个云主机的快照(Snapshot)。这是你最后的救命稻草。很多新手因为改错了配置文件导致网站挂掉,最后只能重装系统,如果有快照,一键恢复只需几分钟。

总结

  • 版本:Ubuntu 22.04 LTS
  • 类型:Server(无图形界面)
  • 来源:云厂商公共镜像
  • 核心动作:更新系统 -> 创建用户 -> 配置 SSH Key -> 启用 UFW -> 设置 Swap -> 拍快照

按照这个流程走,你的 Web 服务器地基就打得很稳了。剩下的就是根据你的具体业务(Nginx/Apache, MySQL/PostgreSQL, Docker/Kubernetes)去部署应用了。