1. Ubuntu Server 安装前的准备工作
1.1 选择合适的Ubuntu Server版本
Ubuntu Server作为最流行的Linux服务器发行版之一,提供了多个版本选择。对于生产环境,我强烈推荐使用LTS(长期支持)版本。目前最新的LTS版本是Ubuntu Server 22.04 LTS,它提供5年的安全更新支持。非LTS版本(如23.10)虽然包含最新特性,但只有9个月的支持周期,不适合长期运行的服务器。
提示:即使24.04 LTS已经发布,在生产环境中也建议等待至少3个月后再升级,确保所有关键软件包都已适配新版本。
1.2 获取安装镜像
从Ubuntu官方网站下载ISO镜像时,注意选择正确的架构:
- AMD64:适用于大多数现代x86-64服务器
- ARM64:适用于树莓派等ARM架构设备
- PowerPC/IBM Z:特殊硬件架构
我建议通过官方镜像站下载,避免使用第三方来源可能带来的安全隐患。可以使用以下命令验证下载的ISO完整性:
echo "expected_checksum *ubuntu-22.04-live-server-amd64.iso" | shasum -a 256 --check1.3 制作启动盘
在Windows环境下,推荐使用Rufus工具制作启动盘。关键设置如下:
- 分区方案:GPT(UEFI系统)或MBR(传统BIOS)
- 文件系统:FAT32
- 簇大小:默认值即可
在Linux/Mac系统下,可以使用dd命令:
sudo dd if=ubuntu-22.04-live-server-amd64.iso of=/dev/sdX bs=4M status=progress警告:务必确认目标设备(/dev/sdX)正确,错误的设备选择会导致数据丢失。
1.4 服务器硬件检查
安装前应确认服务器硬件兼容性:
- 最小内存要求:512MB(建议2GB以上)
- 存储空间:2.5GB最小,建议25GB以上
- 网络:至少一个以太网接口
对于RAID配置的服务器,建议提前准备好阵列卡驱动(如需)。戴尔PowerEdge等品牌服务器可能需要额外驱动,可从厂商官网下载。
2. Ubuntu Server安装过程详解
2.1 启动安装程序
将制作好的启动盘插入服务器,通过BIOS/UEFI选择从USB启动。你会看到Ubuntu安装程序的欢迎界面。这里有几个关键选择:
- 语言选择:虽然可以选择中文,但建议使用英文安装,避免后续命令行环境出现编码问题。
- 键盘布局:根据实际硬件选择,通常为"English (US)"。
- 网络连接:安装程序会自动尝试DHCP获取IP,如果网络需要特殊配置,可以在此处设置。
2.2 磁盘分区方案
这是安装过程中最关键也最容易出错的步骤。Ubuntu Server提供了几种分区方案:
- 使用整个磁盘(默认):最简单的方式,适合新手或测试环境
- 手动分区:推荐生产环境使用
对于生产服务器,我建议采用手动分区,典型方案如下:
| 挂载点 | 类型 | 大小 | 文件系统 | 备注 |
|---|---|---|---|---|
| /boot | 主分区 | 1GB | ext4 | 启动分区 |
| / | 逻辑卷 | 20GB | ext4 | 根分区 |
| /var | 逻辑卷 | 10GB | ext4 | 日志和可变数据 |
| /home | 逻辑卷 | 剩余空间 | ext4 | 用户目录 |
| swap | 交换分区 | 内存大小的1-2倍 | swap | 虚拟内存 |
对于使用LVM的方案(推荐):
- 先创建物理卷(PV)
- 创建卷组(VG),如命名为"ubuntu-vg"
- 在VG中创建逻辑卷(LV)对应各个分区
2.3 用户和SSH设置
在安装过程中需要设置:
- 服务器名称:遵循公司命名规范,如"prod-web-01"
- 管理员账户:避免使用"root"作为用户名
- 密码:设置强密码,或选择SSH密钥认证
- SSH服务:勾选"Install OpenSSH server"以便远程管理
重要安全实践:禁用root SSH登录,编辑/etc/ssh/sshd_config设置"PermitRootLogin no"
2.4 选择安装的软件包
Ubuntu Server提供了一些常见服务器角色的预配置:
- 标准系统工具(必选)
- OpenSSH server(推荐)
- Docker(按需)
- Kubernetes(集群环境)
- LAMP stack(Web服务器)
- 邮件服务器
- 打印服务器
除非确定需要,否则建议只安装最小系统,后续再按需添加软件包,减少攻击面。
3. 安装后的基础配置
3.1 系统更新与升级
首次登录后应立即更新系统:
sudo apt update && sudo apt upgrade -y sudo apt dist-upgrade -y sudo apt autoremove --purge -y对于生产服务器,建议设置无人值守更新:
sudo apt install unattended-upgrades sudo dpkg-reconfigure -plow unattended-upgrades3.2 网络配置
默认情况下Ubuntu Server使用Netplan进行网络配置。配置文件位于/etc/netplan/目录下。设置静态IP的示例:
network: version: 2 renderer: networkd ethernets: ens160: addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 1.1.1.1]应用配置:
sudo netplan apply3.3 防火墙设置
Ubuntu Server默认使用ufw防火墙,基本配置:
sudo ufw allow ssh sudo ufw allow http sudo ufw allow https sudo ufw enable检查状态:
sudo ufw status verbose3.4 时区与时间同步
设置时区:
sudo timedatectl set-timezone Asia/Shanghai确保NTP服务运行:
sudo systemctl enable systemd-timesyncd sudo systemctl start systemd-timesyncd4. 生产环境优化配置
4.1 安全加固
- 修改SSH端口(非22):
sudo sed -i 's/#Port 22/Port 2222/' /etc/ssh/sshd_config- 启用fail2ban防止暴力破解:
sudo apt install fail2ban sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local- 设置自动安全更新:
sudo apt install unattended-upgrades apt-listchanges sudo dpkg-reconfigure unattended-upgrades4.2 性能调优
- 调整swappiness值(推荐10-30):
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf- 优化文件系统挂载选项,编辑/etc/fstab:
UUID=xxx / ext4 defaults,noatime,nodiratime,errors=remount-ro 0 1- 调整文件描述符限制:
echo '* soft nofile 65535' | sudo tee -a /etc/security/limits.conf echo '* hard nofile 65535' | sudo tee -a /etc/security/limits.conf4.3 监控与日志
- 安装基本监控工具:
sudo apt install htop iotop iftop nmon- 配置日志轮转:
sudo apt install logrotate sudo nano /etc/logrotate.d/custom- 设置系统审计:
sudo apt install auditd sudo systemctl enable --now auditd4.4 备份策略
- 设置自动备份(使用rsync示例):
sudo apt install rsync rsync -avz --delete /重要目录/ 备份服务器IP:/备份路径/- 创建系统快照(使用LVM时):
sudo lvcreate -s -n snap_root -L 5G /dev/ubuntu-vg/root- 配置cron定时任务:
(crontab -l 2>/dev/null; echo "0 2 * * * /path/to/backup.sh") | crontab -5. 常见问题排查
5.1 安装失败处理
- 检查安装日志:
less /var/log/installer/syslog- 常见问题:
- 磁盘空间不足:重新分区或清理空间
- 网络连接失败:检查DHCP或手动配置网络
- 硬件兼容性问题:尝试nomodeset内核参数
5.2 网络连接问题
- 诊断工具:
ip a # 查看接口状态 ping 8.8.8.8 # 测试连通性 nslookup example.com # DNS解析测试- 常见修复:
sudo netplan --debug apply sudo systemctl restart systemd-networkd5.3 软件包管理问题
- 修复损坏的包:
sudo apt --fix-broken install sudo dpkg --configure -a- 更换软件源(如清华源):
sudo sed -i 's|http://.*archive.ubuntu.com|https://mirrors.tuna.tsinghua.edu.cn|g' /etc/apt/sources.list5.4 性能问题诊断
- 系统负载检查:
uptime top vmstat 1- I/O瓶颈检查:
iostat -x 1 iotop- 内存使用分析:
free -h cat /proc/meminfo