Ubuntu Server安装与生产环境配置全指南
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工具制作启动盘。关键设置如下分区方案GPTUEFI系统或MBR传统BIOS文件系统FAT32簇大小默认值即可在Linux/Mac系统下可以使用dd命令sudo dd ifubuntu-22.04-live-server-amd64.iso of/dev/sdX bs4M statusprogress警告务必确认目标设备/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主分区1GBext4启动分区/逻辑卷20GBext4根分区/var逻辑卷10GBext4日志和可变数据/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 no2.4 选择安装的软件包Ubuntu Server提供了一些常见服务器角色的预配置标准系统工具必选OpenSSH server推荐Docker按需Kubernetes集群环境LAMP stackWeb服务器邮件服务器打印服务器除非确定需要否则建议只安装最小系统后续再按需添加软件包减少攻击面。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端口非22sudo 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-30echo vm.swappiness10 | sudo tee -a /etc/sysctl.conf优化文件系统挂载选项编辑/etc/fstabUUIDxxx / ext4 defaults,noatime,nodiratime,errorsremount-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 1I/O瓶颈检查iostat -x 1 iotop内存使用分析free -h cat /proc/meminfo