资讯中心

Ubuntu Server 20.04 LTS 无图形界面安装与配置全指南

📅 2026/8/13 3:57:50
Ubuntu Server 20.04 LTS 无图形界面安装与配置全指南
1. 为什么选择无图形界面的Ubuntu Server如果你正在为服务器、虚拟机、或者一台老旧电脑寻找一个稳定、高效且资源占用极低的操作系统那么Ubuntu Server 20.04 LTS的无图形界面CLI-only安装绝对是一个值得深入研究的选项。我之所以用“研究”这个词是因为它远不止是点击“下一步”那么简单。对于很多从桌面版Ubuntu或者Windows转过来的朋友第一次面对纯黑底白字的命令行界面时可能会感到一丝茫然和挑战。但请相信一旦你跨过这个门槛你会爱上这种直接、高效且完全受控的感觉。Ubuntu Server 20.04 LTS长期支持版提供了长达五年的标准支持这意味着在2025年4月之前你都能获得稳定的安全更新和关键错误修复这对于服务器环境至关重要。而无图形界面安装意味着系统将所有的计算资源——CPU、内存、磁盘I/O——都集中用于运行你需要的服务比如Web服务器Nginx/Apache、数据库MySQL/PostgreSQL、容器平台Docker或者各种后端应用。一个刚安装好的基础Ubuntu Server系统内存占用可能只有100MB左右这与动辄占用1GB以上的桌面环境形成了鲜明对比。那么谁适合进行这样的安装呢我认为主要有三类人群一是运维工程师和开发者需要部署生产或测试环境二是希望学习Linux系统管理和网络服务的爱好者三是拥有老旧硬件比如十年前的笔记本或迷你主机想将其改造为家庭NAS、软路由或智能家居中枢的用户。无论你属于哪一类接下来的内容都将手把手带你完成从制作安装介质到系统初始化配置的全过程并分享我多年实践中积累的细节和避坑经验。2. 安装前的核心准备工作介质与引导万事开头难而安装系统的“开头”就是制作一个可靠的启动介质。很多人觉得这很简单用工具把ISO“烧录”到U盘就行但恰恰是这一步埋下了最多“玄学”问题的种子。2.1 获取纯净的安装镜像首先你必须从Ubuntu官方渠道下载镜像。我强烈建议直接访问releases.ubuntu.com或cdimage.ubuntu.com这两个域名下的地址。对于Ubuntu 20.04 Server你需要找到ubuntu-20.04.6-live-server-amd64.iso这个文件末尾的数字代表子版本号选择最新的即可。为什么强调“官方”因为从第三方不明站点下载的镜像有被篡改、植入后门的风险对于服务器系统这是绝对的红线。2.2 选择并正确使用介质制作工具制作启动U盘的工具选择在Windows、macOS和Linux上各有不同但核心原则是必须使用“原始磁盘映像”或“DD”模式进行写入而不是简单地把ISO文件复制到U盘。在Windows上过去常用Rufus它确实强大。但根据我近两年的经验对于Ubuntu Server的ISO更推荐使用Ventoy。它的革命性在于你只需安装一次Ventoy到U盘之后只需将各种ISO文件像普通文件一样拷贝到U盘里即可启动时会列出所有镜像供选择。这极大方便了需要测试多个系统版本的情况。如果坚持使用传统方式Rufus在写入时请务必在“镜像类型”中选择“DD模式”。在macOS和Linux上dd命令是标准且可靠的选择。但dd命令威力巨大操作不慎会抹掉整个硬盘所以必须万分小心。基本命令是sudo dd if/path/to/ubuntu.iso of/dev/diskX bs4M statusprogress sync。这里的关键是准确识别你的U盘设备标识符如/dev/sdb或/dev/disk2绝对不能是分区标识如/dev/sdb1。使用lsblk或diskutil list命令仔细确认。一个更安全、对新手更友好的替代方案是使用Etcher它图形化界面简洁自动识别设备且内置验证功能能有效避免写入错误。注意无论用哪种工具制作完成后在Windows下U盘可能显示为无法识别的分区或容量骤减这是正常现象因为整个U盘已经被制作为可启动的“磁盘映像”格式。2.3 服务器BIOS/UEFI引导设置这是安装能否顺利进行的关键一步。将制作好的U盘插入目标机器开机进入BIOS/UEFI设置界面通常是按F2、Delete、F12等键。启动模式确认你的服务器固件是传统的BIOSLegacy还是UEFI。现代服务器2015年后大多支持UEFI。如果硬件支持优先选择UEFI模式安装它支持安全启动、更快的启动速度以及GPT分区表支持大于2TB的磁盘。在启动选项里你会看到两个U盘条目一个带“UEFI:”前缀一个不带。选择带“UEFI:”的。关闭安全启动虽然Ubuntu 20.04支持安全启动但在安装某些第三方驱动如某些无线网卡或显卡驱动时可能会遇到麻烦。为了减少不必要的复杂度我建议在安装阶段暂时在BIOS中关闭“Secure Boot”选项待系统安装配置完毕后再考虑是否开启。调整启动顺序将U盘设置为第一启动项保存并退出。系统会自动从U盘启动进入Ubuntu Server的安装界面。3. 安装过程详解每一步的选择与考量从U盘启动后你会看到一个蓝紫色的文本界面这就是Ubuntu Server的安装程序Subiquity。整个过程是交互式的以下是对每个关键步骤的深度解读。3.1 语言、键盘与网络配置初始界面选择语言这主要影响安装过程中的提示语言与系统安装后的语言环境是独立的。为了方便可以先选“English”。接下来是键盘布局检测。通常直接选择“Done”即可安装程序会自动检测。如果使用的是非标准键盘可以手动选择对应型号。网络连接是第一个关键点。安装程序会自动尝试通过DHCP获取IP地址。如果你的网络环境有DHCP服务器家庭路由器通常都有这里会自动配置好并显示你的IP信息。请务必确保网络连通因为后续需要从Ubuntu官方仓库下载软件包。如果网络不通你需要在这里配置静态IP需要准备的信息有IP地址、子网掩码或前缀、网关、DNS服务器。对于服务器我通常建议在安装时就配置为静态IP避免因DHCP租约变化导致IP更改。配置项示例如下IPv4 Method: Manual Address: 192.168.1.100/24 (或子网掩码 255.255.255.0) Gateway: 192.168.1.1 Name servers: 8.8.8.8, 1.1.1.1 (或你的内网DNS) Search domains: 你的本地域名可选3.2 代理、镜像源与存储配置代理地址一般留空除非你的网络环境必须通过HTTP代理才能访问外网。配置镜像源是影响安装速度的核心。默认是archive.ubuntu.com位于国外。对于国内用户强烈建议更改为国内镜像源以大幅提升下载速度。选择“Mirror address”输入例如阿里云http://mirrors.aliyun.com/ubuntu腾讯云http://mirrors.cloud.tencent.com/ubuntu华为云http://repo.huaweicloud.com/ubuntu更改后安装程序会测试连接并拉取新的仓库信息。存储配置是另一个重头戏。对于全新的服务器磁盘最简单的选择是“Use an entire disk”并选择你的目标磁盘如/dev/sda。安装程序会自动为你创建合理的分区布局一个EFI系统分区UEFI模式、一个/根分区和一个交换空间swap。但对于有自定义需求的情况比如希望将/home独立分区或者需要配置LVM逻辑卷管理便于后期动态调整分区大小或者使用磁盘阵列RAID则需要选择“Custom storage layout”。这里分享我的一个常用分区方案以100GB磁盘为例UEFIGPT/dev/sda1: EFI系统分区 512MB FAT32格式。这是UEFI启动的必需分区。/dev/sda2: 交换空间大小通常为物理内存的1-2倍但若内存很大如32GB以上4-8GB也足够。格式化为swap。/dev/sda3:/根分区 30-50GB ext4格式。用于安装系统和核心应用。/dev/sda4:/home分区剩余所有空间 ext4格式。用于存放用户数据和部分应用数据。独立/home分区的最大好处是未来如果需要重装系统可以格式化根分区而保留/home中的数据。配置完成后选择“Done”安装程序会提示你将写入磁盘这是一个不可逆的操作请再次确认。3.3 身份信息与SSH服务设置接下来设置你的用户信息。这里创建的是第一个用户它同时具有sudo管理权限。Your name: 可以填写你的全名如“Zhang San”。Your server‘s name: 主机名如my-ubuntu-server。这将在网络中标识你的机器。Pick a username: 登录用户名如zhangsan。建议使用小写字母和数字。Choose a password: 设置一个强密码。服务器安全无小事避免使用简单密码。最关键的一步来了安装OpenSSH server。务必在这个界面勾选“Install OpenSSH server”。这样安装完成后你就可以立即通过另一台电脑使用SSH远程登录管理这台服务器无需再连接显示器和键盘。这是管理服务器的标准方式。你还可以选择导入你的SSH公钥实现免密码登录安全性更高。如果你已经有SSH密钥对在客户端电脑上通常位于~/.ssh/id_rsa.pub可以将公钥内容粘贴在这里。3.4 软件包选择与最终安装在“Featured Server Snaps”界面你可以选择是否安装一些流行的服务如Docker、MicroK8s、LXD等。对于初次安装我的建议是一个都不选。保持系统最纯净后续需要什么再通过apt命令安装这样你能更清晰地控制系统中运行的每一个服务及其版本。点击“Done”后系统将开始正式的安装过程格式化分区、复制系统文件、安装基础软件包、配置引导器GRUB。这个过程需要一些时间取决于你的网络速度和磁盘性能。安装完成后系统会提示你重启。务必在重启前移除U盘否则可能会再次进入安装界面。4. 首次启动后的必须配置清单系统重启后你将看到黑底白字的登录提示符。用刚才创建的用户名和密码登录。恭喜你已经成功进入了无图形界面的Ubuntu Server世界。但安装完成只是第一步接下来的系统初始化配置才是确保服务器安全、稳定、好用的关键。4.1 系统更新与基础工具安装登录后第一件事就是更新系统软件包列表并升级所有已安装的包。这能确保你获得最新的安全补丁和错误修复。sudo apt update sudo apt upgrade -y-y参数表示自动确认避免中途需要手动输入“Y”。升级过程可能需要几分钟。接下来安装一些最常用、几乎离不开的系统管理工具sudo apt install -y vim htop net-tools curl wget git tree unzipvim: 比默认的nano更强大的文本编辑器如果你不熟悉可以先使用nano。htop: 一个交互式的进程查看器比top命令更直观。net-tools: 包含ifconfig、netstat等传统网络工具虽然ip命令是未来但ifconfig更广为人知。curlwget: 从网络下载文件的利器。git: 版本控制工具用于拉取代码。tree: 以树状图列出目录内容非常直观。unzip: 解压ZIP压缩包。4.2 网络安全加固防火墙与SSH配置安全是服务器的生命线。Ubuntu默认使用ufwUncomplicated Firewall来管理防火墙它是对底层iptables的友好封装。启用并配置UFWsudo ufw allow OpenSSH # 首先允许SSH连接否则启用防火墙后自己可能被关在外面 sudo ufw enable # 启用防火墙 sudo ufw status verbose # 查看防火墙规则状态以后当你部署Web服务端口80/443、数据库端口3306/5432时都需要用sudo ufw allow 端口号来放行相应流量。强化SSH安全至关重要 编辑SSH服务器配置文件sudo vim /etc/ssh/sshd_config找到并修改以下几项如果行首有#注释请删除#Port 22可以考虑改为一个非标准的高位端口如2222能减少大量自动化扫描攻击。修改后记得用sudo ufw allow 2222放行新端口并确保你能通过新端口连接后再禁用旧端口22。PermitRootLogin prohibit-password确保此项为prohibit-password或no禁止root用户直接密码登录。PasswordAuthentication yes如果你已经配置了SSH密钥登录可以将此项改为no彻底禁用密码登录这是防止暴力破解的最有效手段。PubkeyAuthentication yes确保公钥认证开启。修改保存后重启SSH服务使配置生效sudo systemctl restart sshd重要在断开当前连接测试新配置前务必在另一个终端窗口或使用screen/tmux工具先测试新端口或新认证方式是否成功避免把自己锁在服务器外面。4.3 性能与监控基础配置配置Swapiness这个值0-100决定了系统有多“积极”地使用交换分区。值越高越倾向于使用swap。对于服务器如果物理内存充足可以适当降低该值让系统更多使用内存提升性能。编辑/etc/sysctl.conf添加一行vm.swappiness10然后执行sudo sysctl -p使其生效。安装并配置Fail2ban这是一个非常实用的安全工具它监控系统日志如/var/log/auth.log当发现某个IP在短时间内多次尝试失败登录如SSH密码错误会自动将该IP加入防火墙黑名单一段时间。这能有效抵御SSH暴力破解。sudo apt install -y fail2ban sudo systemctl enable fail2ban --now默认配置通常就够用你也可以通过编辑/etc/fail2ban/jail.local进行自定义。时间同步确保服务器时间准确对于日志分析、证书验证等都至关重要。Ubuntu 20.04默认使用systemd-timesyncd你可以检查其状态timedatectl status如果显示“NTP service: active”且时间正确即可。如果需要更精确的配置可以安装chrony。4.4 日常维护与问题排查入门作为无图形界面的服务器所有操作都通过命令行完成。掌握几个核心命令能让你事半功倍查看系统状态htop动态查看CPU、内存、进程。df -h查看磁盘空间使用情况。free -h查看内存和交换空间使用情况。journalctl -xe查看最新的系统日志尤其是启动失败时。sudo systemctl status 服务名查看某个系统服务如sshnginx的运行状态。管理服务sudo systemctl start/stop/restart 服务名启动/停止/重启服务。sudo systemctl enable/disable 服务名设置服务开机自启/禁用。网络诊断ip addr show或ifconfig查看网络接口和IP地址。ping -c 4 google.com测试网络连通性。sudo netstat -tulpn查看所有监听的端口及对应进程。5. 从零部署一个实际服务以Nginx为例理论说再多不如动手实践。让我们以部署一个最简单的Nginx Web服务器为例串联起从安装到配置的完整流程这也是检验你新服务器是否正常工作的好方法。5.1 安装与启动Nginx安装过程非常简单sudo apt update sudo apt install -y nginx安装完成后Nginx服务会自动启动。你可以通过以下命令验证sudo systemctl status nginx如果看到“active (running)”的字样说明服务已成功运行。5.2 配置防火墙与访问测试现在我们需要在防火墙上开放HTTP80和HTTPS443端口sudo ufw allow Nginx Full # 这条命令等价于同时允许80和443端口 # 或者分别允许 # sudo ufw allow 80/tcp # sudo ufw allow 443/tcp接下来从你的另一台电脑的浏览器中输入服务器的IP地址例如http://192.168.1.100。如果你能看到“Welcome to nginx!”的默认页面恭喜你Web服务器已经成功运行5.3 理解Nginx核心配置文件Nginx的强大在于其灵活的配置。其主配置文件位于/etc/nginx/nginx.conf但通常我们不在主配置文件中直接修改而是在/etc/nginx/sites-available/目录下为每个网站创建独立的配置文件然后通过软链接到/etc/nginx/sites-enabled/目录来启用它。创建你的网站配置假设我们要配置一个名为mywebsite.com的站点。sudo vim /etc/nginx/sites-available/mywebsite输入以下基本配置server { listen 80; listen [::]:80; # IPv6 server_name mywebsite.com www.mywebsite.com; # 你的域名 root /var/www/mywebsite; # 网站文件存放目录 index index.html index.htm; location / { try_files $uri $uri/ 404; } }创建网站根目录并放置测试文件sudo mkdir -p /var/www/mywebsite sudo sh -c echo h1Hello from my Ubuntu Server!/h1 /var/www/mywebsite/index.html # 修改目录所有权确保Nginx进程用户www-data有读取权限 sudo chown -R www-data:www-data /var/www/mywebsite sudo chmod -R 755 /var/www/mywebsite启用站点并测试配置# 创建软链接以启用站点 sudo ln -s /etc/nginx/sites-available/mywebsite /etc/nginx/sites-enabled/ # 测试Nginx配置语法是否正确 sudo nginx -t如果输出“syntax is ok”和“test is successful”说明配置无误。重启Nginx使配置生效sudo systemctl reload nginx # 或 sudo systemctl restart nginx现在如果你在本地hosts文件或通过DNS将mywebsite.com指向你的服务器IP就可以通过域名访问你的自定义页面了。5.4 后续进阶方向至此你已经拥有了一个功能完整的Ubuntu Server并成功运行了一个基础服务。但这仅仅是开始。基于这个稳定的平台你可以继续探索部署动态网站安装PHP (php-fpm)、Python (Django/FlaskGunicorn)、Node.js等运行环境。配置数据库安装MySQL或PostgreSQL为应用提供数据存储。容器化安装Docker和Docker Compose用容器的方式部署和管理应用实现环境隔离和快速部署。反向代理与负载均衡利用Nginx的反向代理功能将请求分发到后端多个应用服务器。自动化与监控学习使用Ansible进行自动化配置部署Prometheus和Grafana监控服务器资源与应用状态。从黑屏命令行到掌控整个服务生态这个过程充满了挑战但每一步的成长都实实在在。记住在Linux服务器的世界里遇到问题并不可怕搜索引擎、官方文档和社区论坛是你最好的朋友。多动手实践多阅读日志你会在不断的“踩坑”与“填坑”中真正掌握这台强大服务器的精髓。