杰瑞科技汇

Ubuntu Server教程从哪开始学?

Ubuntu Server 完整教程:从入门到实践

这份教程分为几个核心部分,你可以根据自己的需求选择性地阅读和操作。

Ubuntu Server教程从哪开始学?-图1
(图片来源网络,侵删)
  • 第一部分:基础准备与环境搭建
  • 第二部分:首次登录与核心配置
  • 第三部分:核心系统管理
  • 第四部分:网络配置
  • 第五部分:服务管理 (Web, SSH, Firewall)
  • 第六部分:进阶与资源

第一部分:基础准备与环境搭建

在开始之前,你需要准备一个运行 Ubuntu Server 的环境,主要有两种方式:

虚拟机 (推荐新手)

这是最安全、最灵活的方式,你可以在现有的操作系统(如 Windows 或 macOS)中模拟一台服务器。

  1. 下载虚拟机软件:

    • VirtualBox: 免费、开源,功能强大,推荐初学者使用。
    • VMware Workstation Player: 对个人用户免费。
  2. 下载 Ubuntu Server 镜像:

    Ubuntu Server教程从哪开始学?-图2
    (图片来源网络,侵删)
    • 访问 Ubuntu 官方下载页面
    • 下载最新的 LTS (Long Term Support) 版本,"22.04 LTS",LTS 版本提供长达 5 年的免费安全维护,非常适合服务器使用。
    • 下载格式是 .iso 文件。
  3. 创建虚拟机:

    • 打开 VirtualBox,点击“新建”。
    • 名称: 给你的虚拟机起个名字,如 ubuntu-server-22.04
    • ISO 映像: 选择你刚刚下载的 Ubuntu Server .iso 文件。
    • 内存: 分配至少 2GB 内存。
    • 处理器: 分配至少 2 个 CPU 核心
    • 硬盘: 创建一个新的虚拟硬盘,推荐大小 25GB 或更大。
    • 网络: 连接方式选择 “桥接网卡” (Bridged Adapter),这样你的虚拟机就会像一台独立的电脑一样,连接到你的局域网,可以和你的主机以及其他设备互相访问。
  4. 安装 Ubuntu Server:

    • 启动虚拟机,它会从你指定的 ISO 文件启动,进入安装界面。
    • 按照屏幕提示操作,选择语言、键盘布局。
    • 网络配置: 如果使用桥接模式,通常可以自动获取 IP 地址。
    • 磁盘分区: 选择 “使用整个磁盘” 并 “LVM”(逻辑卷管理,方便未来扩展空间)。
    • 用户名和密码: 设置一个你的用户名和密码。请务必记住这个密码!
    • 安装 OpenSSH 服务器: 在安装过程中,会询问是否安装 SSH 服务器。强烈建议勾选,这样你就可以从主机用 SSH 工具连接服务器,而不用一直盯着虚拟机窗口。
    • 等待安装完成,然后重启。

云服务器 (VPS)

如果你想在真实的互联网上托管你的服务,可以选择云服务器。

  1. 选择云服务商:

    • DigitalOcean: 界面简洁,开发者友好。
    • Vultr: 性价比高,选择多。
    • 阿里云 / 腾讯云: 国内用户访问快,生态完善。
    • AWS / Google Cloud: 功能最全,但相对复杂。
  2. 创建实例:

    • 注册并登录服务商的控制台。
    • 创建一个新的“实例”或“虚拟机”。
    • 选择 Ubuntu Server (LTS 版本) 作为操作系统。
    • 选择服务器配置(CPU, 内存, 硬盘)。
    • 关键步骤: 在创建过程中,必须设置一个 SSH 密钥,这比使用密码登录安全得多,你需要先生成一个密钥对(在你的电脑上操作,通常使用 ssh-keygen 命令),然后将公钥上传到云服务器。

第二部分:首次登录与核心配置

连接到你的服务器

  • 对于虚拟机: 你可以直接在 VirtualBox 窗口登录。

  • 对于云服务器或想用命令行操作虚拟机: 使用 SSH 客户端。

    • 在 Windows 上: 推荐使用 PowerShell (Windows 10/11 自带) 或 MobaXtermPuTTY 等工具。
    • 在 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。

  1. 找到你的网络配置文件,通常在 /etc/netplan/ 目录下,01-netcfg.yaml
  2. 编辑该文件:
    sudo nano /etc/netplan/01-netcfg.yaml
  3. 如下(请根据你的网络环境修改 enp0s3168.1.100gateway4nameservers):
    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服务器地址
  4. 应用配置:
    sudo netplan apply

第五部分:服务管理 (Web, SSH, Firewall)

安装和配置 Web 服务器 (以 Nginx 为例)

Nginx 是一个现代、高性能的 Web 服务器和反向代理。

  1. 安装 Nginx:

    sudo apt install nginx -y
  2. 启动并设置开机自启:

    sudo systemctl start nginx
    sudo systemctl enable nginx
  3. 检查状态:

    sudo systemctl status nginx
  4. 配置防火墙: 如果之前没有添加 Nginx 规则,现在添加:

    sudo ufw allow 'Nginx Full'
  5. 测试: 在浏览器中输入你的服务器 IP 地址,你应该能看到 Nginx 的欢迎页面。

SSH 安全加固

  1. 使用密钥登录,禁用密码登录:

    • 编辑 SSH 配置文件:
      sudo nano /etc/ssh/sshd_config
    • 找到并修改以下两行:
      PasswordAuthentication no
      PubkeyAuthentication yes
    • 重启 SSH 服务:
      sudo systemctl restart sshd
  2. 更改默认 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。

祝你探索愉快!

分享:
扫描分享到社交APP
上一篇
下一篇