Ubuntu Server 完整教程:从入门到实践
这份教程分为几个核心部分,你可以根据自己的需求选择性地阅读和操作。

- 第一部分:基础准备与环境搭建
- 第二部分:首次登录与核心配置
- 第三部分:核心系统管理
- 第四部分:网络配置
- 第五部分:服务管理 (Web, SSH, Firewall)
- 第六部分:进阶与资源
第一部分:基础准备与环境搭建
在开始之前,你需要准备一个运行 Ubuntu Server 的环境,主要有两种方式:
虚拟机 (推荐新手)
这是最安全、最灵活的方式,你可以在现有的操作系统(如 Windows 或 macOS)中模拟一台服务器。
-
下载虚拟机软件:
- VirtualBox: 免费、开源,功能强大,推荐初学者使用。
- VMware Workstation Player: 对个人用户免费。
-
下载 Ubuntu Server 镜像:
(图片来源网络,侵删)- 访问 Ubuntu 官方下载页面。
- 下载最新的 LTS (Long Term Support) 版本,"22.04 LTS",LTS 版本提供长达 5 年的免费安全维护,非常适合服务器使用。
- 下载格式是
.iso文件。
-
创建虚拟机:
- 打开 VirtualBox,点击“新建”。
- 名称: 给你的虚拟机起个名字,如
ubuntu-server-22.04。 - ISO 映像: 选择你刚刚下载的 Ubuntu Server
.iso文件。 - 内存: 分配至少 2GB 内存。
- 处理器: 分配至少 2 个 CPU 核心。
- 硬盘: 创建一个新的虚拟硬盘,推荐大小 25GB 或更大。
- 网络: 连接方式选择 “桥接网卡” (Bridged Adapter),这样你的虚拟机就会像一台独立的电脑一样,连接到你的局域网,可以和你的主机以及其他设备互相访问。
-
安装 Ubuntu Server:
- 启动虚拟机,它会从你指定的 ISO 文件启动,进入安装界面。
- 按照屏幕提示操作,选择语言、键盘布局。
- 网络配置: 如果使用桥接模式,通常可以自动获取 IP 地址。
- 磁盘分区: 选择 “使用整个磁盘” 并 “LVM”(逻辑卷管理,方便未来扩展空间)。
- 用户名和密码: 设置一个你的用户名和密码。请务必记住这个密码!
- 安装 OpenSSH 服务器: 在安装过程中,会询问是否安装 SSH 服务器。强烈建议勾选,这样你就可以从主机用 SSH 工具连接服务器,而不用一直盯着虚拟机窗口。
- 等待安装完成,然后重启。
云服务器 (VPS)
如果你想在真实的互联网上托管你的服务,可以选择云服务器。
-
选择云服务商:
- DigitalOcean: 界面简洁,开发者友好。
- Vultr: 性价比高,选择多。
- 阿里云 / 腾讯云: 国内用户访问快,生态完善。
- AWS / Google Cloud: 功能最全,但相对复杂。
-
创建实例:
- 注册并登录服务商的控制台。
- 创建一个新的“实例”或“虚拟机”。
- 选择 Ubuntu Server (LTS 版本) 作为操作系统。
- 选择服务器配置(CPU, 内存, 硬盘)。
- 关键步骤: 在创建过程中,必须设置一个 SSH 密钥,这比使用密码登录安全得多,你需要先生成一个密钥对(在你的电脑上操作,通常使用
ssh-keygen命令),然后将公钥上传到云服务器。
第二部分:首次登录与核心配置
连接到你的服务器
-
对于虚拟机: 你可以直接在 VirtualBox 窗口登录。
-
对于云服务器或想用命令行操作虚拟机: 使用 SSH 客户端。
- 在 Windows 上: 推荐使用 PowerShell (Windows 10/11 自带) 或 MobaXterm、PuTTY 等工具。
- 在 macOS 或 Linux 上: 打开“终端”(Terminal)。
使用以下命令连接:
# 格式: ssh 用户名@服务器IP地址 ssh your_username@192.168.1.100
如果是云服务器,你的服务商会在控制台提供服务器的公网 IP 地址。
更新系统 (至关重要!)
新安装的系统需要更新所有软件包到最新版本,以修复安全漏洞。
# 更新软件包列表 sudo apt update # 升级所有已安装的软件包 sudo apt upgrade -y
设置主机名
一个好的主机名有助于在管理多台服务器时区分它们。
# 临时设置 (重启后失效) sudo hostnamectl set-hostname my-awesome-server # 永久设置 (上面命令已经是永久性的)
配置防火墙 (UFW)
Ubuntu 默认使用 ufw (Uncomplicated Firewall) 作为防火墙前端,非常易于使用。
# 检查 UFW 状态 (默认是禁用的) sudo ufw status # 允许 SSH 连接 (非常重要!否则你可能会把自己锁在外面) sudo ufw allow OpenSSH # (可选) 允许 HTTP (80端口) 和 HTTPS (443端口) 网页服务 sudo ufw allow 'Apache Full' # 或者 'Nginx Full' # 启用防火墙 sudo ufw enable # 系统会提示确认,输入 'y' 并回车
第三部分:核心系统管理
用户和权限管理
-
添加新用户:
sudo adduser new_user
按提示设置新用户的密码和基本信息。
-
赋予用户管理员权限: 将用户添加到
sudo组。sudo usermod -aG sudo new_user
new_user就可以使用sudo来执行需要管理员权限的命令了。 -
切换用户:
# 切换到 new_user su - new_user
软件包管理 (apt)
apt (Advanced Package Tool) 是 Ubuntu 的包管理器,是服务器的核心。
-
搜索软件包:
apt search package_name
-
安装软件包:
sudo apt install package_name
-
卸载软件包:
sudo apt remove package_name
-
清理缓存:
sudo apt autoremove # 删除不再需要的软件包 sudo apt autoclean # 清理下载的安装包缓存
文件系统与目录结构
熟悉 Linux 的目录结构非常重要:
- 根目录,所有东西的起点。
/home: 普通用户的家目录。/root: 管理员 (root) 的家目录。/etc: 系统的配置文件所在地。/var: 经常变化的文件,如日志 (/var/log)、网站数据 (/var/www)。/tmp: 临时文件目录。/opt: 可选的大型软件包。
文件操作
-
查看文件内容:
cat filename: 查看整个文件内容。less filename: 分页查看文件内容,可以上下翻页,按q退出。
-
复制、移动、重命名:
cp source_file destination_dir: 复制文件。mv old_name new_name: 重命名文件。mv source_file destination_dir: 移动文件。
-
创建和删除:
touch newfile.txt: 创建一个空文件。mkdir newdir: 创建一个新目录。rm filename: 删除文件。注意:删除的文件无法恢复!rm -r directory_name: 递归删除目录及其内容。极其危险,请谨慎使用!
-
查看文件权限:
ls -l filename # 输出类似: -rw-r--r-- 1 user user 0 Jan 1 12:00 filename # 解释: 文件类型(-), 所有者权限, 用户组权限, 其他用户权限
第四部分:网络配置
查看网络信息
# 查看所有网络接口的 IP 地址 ip addr show # 查看路由表 ip route show # 查看网络连接状态 ss -tulnp
设置静态 IP 地址 (推荐)
服务器通常需要一个固定的 IP 地址,在 Ubuntu Server 20.04+ 中,推荐使用 Netplan。
- 找到你的网络配置文件,通常在
/etc/netplan/目录下,01-netcfg.yaml。 - 编辑该文件:
sudo nano /etc/netplan/01-netcfg.yaml
- 如下(请根据你的网络环境修改
enp0s3、168.1.100、gateway4和nameservers):network: version: 2 renderer: networkd ethernets: enp0s3: # 替换为你的网卡名称,用 'ip addr show' 查看 dhcp4: no addresses: [192.168.1.100/24] # 你的静态IP地址和子网掩码 gateway4: 192.168.1.1 # 你的路由器/网关地址 nameservers: addresses: [8.8.8.8, 1.1.1.1] # DNS服务器地址 - 应用配置:
sudo netplan apply
第五部分:服务管理 (Web, SSH, Firewall)
安装和配置 Web 服务器 (以 Nginx 为例)
Nginx 是一个现代、高性能的 Web 服务器和反向代理。
-
安装 Nginx:
sudo apt install nginx -y
-
启动并设置开机自启:
sudo systemctl start nginx sudo systemctl enable nginx
-
检查状态:
sudo systemctl status nginx
-
配置防火墙: 如果之前没有添加 Nginx 规则,现在添加:
sudo ufw allow 'Nginx Full'
-
测试: 在浏览器中输入你的服务器 IP 地址,你应该能看到 Nginx 的欢迎页面。
SSH 安全加固
-
使用密钥登录,禁用密码登录:
- 编辑 SSH 配置文件:
sudo nano /etc/ssh/sshd_config
- 找到并修改以下两行:
PasswordAuthentication no PubkeyAuthentication yes - 重启 SSH 服务:
sudo systemctl restart sshd
- 编辑 SSH 配置文件:
-
更改默认 SSH 端口:
- 在同一个
sshd_config文件中,找到Port 22,将其修改为一个不常用的端口号,Port 2222。 - 重要: 修改后,你需要用新的端口号连接:
ssh -p 2222 user@ip。 - 在修改前,请确保你的防火墙规则已经放行了新端口!
sudo ufw allow 2222/tcp
- 然后再重启 SSH 服务。
- 在同一个
第六部分:进阶与资源
日志管理
系统日志都存放在 /var/log/ 目录下,最常用的是 syslog (系统日志) 和 auth.log (认证日志)。
# 实时查看系统日志 tail -f /var/log/syslog # 查看认证日志 cat /var/log/auth.log
使用 systemctl 管理服务
systemctl 是 systemd 的核心命令,用于管理系统服务。
sudo systemctl start service_name: 启动服务。sudo systemctl stop service_name: 停止服务。sudo systemctl restart service_name: 重启服务。sudo systemctl status service_name: 查看服务状态。sudo systemctl enable service_name: 设置服务开机自启。sudo systemctl disable service_name: 禁止服务开机自启。
推荐资源
- 官方文档: Ubuntu Documentation - 最权威的资料。
- DigitalOcean Tutorials: How To Use Ubuntu 22.04 - 非常详细和实用的教程,强烈推荐。
- The Primeagen: YouTube 上有很多关于 Linux 服务器运维的优秀视频。
- Stack Overflow: 遇到问题,先搜索,这里几乎能找到所有答案。
恭喜你!现在你已经掌握了 Ubuntu Server 的基础知识,包括安装、登录、更新、用户管理、软件安装、网络配置和安全加固,这些技能足以让你搭建一个基础的 Web 服务器或开发环境。
下一步,你可以尝试:
- 部署一个 WordPress 网站。
- 搭建一个 Git 服务器。
- 使用 Docker 容器化你的应用。
- 学习自动化工具 Ansible。
祝你探索愉快!
