Linux入门路线:从VMware虚拟机搭建到Nginx服务部署全攻略
2026/9/6 6:02:40 网站建设 项目流程

这次我们来看一套非常务实的 Linux 入门路线:从 VMware 虚拟机搭建开始,把系统装起来、命令敲熟、系统管理理清,最后把一台 Web 服务真正部署到服务器上对外访问。整个过程不绕弯,这条路跑通之后,你就把运维工程师日常最核心的主路径先走了一遍。

这套路线对硬件没有任何特殊要求,一台支持虚拟化的普通电脑就能开工。内存建议 8GB 起步,16GB 会更舒服;磁盘准备 50GB 以上空闲空间。你不需要先买云服务器,也不会因为误操作把生产环境搞崩,所有练习都放在虚拟机里完成,这是零基础阶段最安全的练手方式。

文章会带你完成五件事:装好 VMware 并创建一台 Linux 虚拟机;掌握文件、用户、权限等高频命令;学会用 systemd 管理系统服务;用 Nginx 部署一个能通过浏览器访问的站点;最后梳理常见问题和排查思路,覆盖“虚拟机装不上”“端口不通”“服务起不来”这些高频坑。

适合正在学 Linux 但不知道从哪下手的零基础同学、准备转行运维的新人,以及想快速搭一套本地实验环境的开发人员。

1. 核心能力速览

这套教程不是讲一个单一工具,而是一条可执行的学习路径。下面这张表先给你一个整体视角。

项目说明
学习路径虚拟机搭建 → Linux 基础命令 → 用户与权限 → 系统管理 → 服务部署
目标产出一台可 SSH 登录、可部署 Web 服务的 Linux 虚拟机
推荐宿主配置CPU 支持虚拟化,内存 8GB 起步、16GB 更佳,空闲磁盘 50GB 以上
软件清单VMware Workstation、Linux 发行版镜像、SSH 客户端、浏览器
核心命令范围文件操作、用户管理、权限管理、systemctl、网络排查
服务搭建Nginx + 静态页面,最终通过浏览器 IP 访问
上手难度低,全程本地操作,不需要云服务器
可扩展方向Shell 脚本、Docker 容器、监控告警、Kubernetes、CI/CD

很多新手卡在“命令记不住”或者“虚拟机装完不知道下一步干什么”,本质是缺少一条主线。这套路线的主线就是:先有一个能随便折腾的 Linux 环境,再围绕文件、用户、服务、网络、部署五个场景反复练习。命令不是背出来的,是用出来的。把这条主线走一遍,后面学 Shell 脚本、Docker、监控报警都会顺很多。

2. 适用场景与学习边界

2.1 适合谁

这套内容适合四类人:

  • 零基础转运维的新人,需要一条从零到一的完整路径。
  • 计算机相关专业的在校学生,课程学了操作系统,但没亲手搭过一台可用服务器。
  • 后端和测试工程师,日常工作要频繁接触 Linux,但只是零散用命令,需要系统补一遍。
  • 想搭本地实验环境的开发人员,在虚拟机里跑数据库、中间件、Web 服务,随用随删不心疼。

2.2 能解决什么问题

第一个问题是“没有环境可以练手”。物理机上装 Linux 要折腾双系统,云服务器要花钱还可能误操作影响公网服务。虚拟机把这两件事都解决了,快照一拍,系统随便折腾,坏了恢复即可。第二个问题是命令学完就忘。这套路线把命令嵌进真实场景:部署网站要改文件权限,排查网络要用 telnet,管理服务要敲 systemctl,命令和用途绑在一起,记忆自然牢固。第三个问题是“会敲命令但不会部署服务”。文章专门用一章从零部署 Nginx,把安装、启动、防火墙、访问验证整条链路串起来,这才是运维工作的日常形态。

2.3 学习边界与合规提醒

这套内容也有明确边界。虚拟机不是生产环境,快照不能替代备份,重要数据必须单独备份。系统镜像务必从官网下载,不要使用来路不明的修改版。做端口扫描、漏洞测试、渗透类操作时,必须在你拥有授权的主机和网络环境内进行,私自扫描他人服务器是违法行为。如果你用云服务器做实验,注意试用实例的到期时间和公网 IP 费用,避免不必要的扣费。如果后续工作中要接触国产化系统,统信 UOS、麒麟等系统的命令逻辑和主流 Linux 一致,这套基础同样适用。

3. 环境准备:虚拟化、VMware 与 Linux 镜像

3.1 确认 CPU 虚拟化

构建虚拟机的第一步,是确认 CPU 虚拟化已经开启。现代 CPU 基本都支持 Intel VT-x 或 AMD-V,但很多电脑默认没有打开。Windows 系统可以在任务管理器的“性能 - CPU”页面查看“虚拟化”是否显示“已启用”。如果显示未启用,需要重启电脑进入 BIOS/UEFI,找到 Intel Virtualization Technology 或 SVM Mode 选项并开启。这一步不做,后面创建虚拟机时会直接提示“客户机操作系统已禁用 CPU”,这是新手最常遇到的拦路虎之一。

3.2 安装 VMware Workstation

VMware Workstation 从官网下载即可,Windows 和 Linux 平台都有对应版本。安装过程基本可以一路默认,安装完成后建议重启一次宿主机。需要提醒的是,VMware Workstation 有自己的授权模式,个人学习和商业使用要遵守官方条款,尽量使用正版授权。如果安装后提示“VMware Workstation 无法连接到虚拟机”,优先考虑用管理员身份重新运行,并检查 VMware 相关服务是否被安全软件拦截。

3.3 选择 Linux 发行版

不同发行版选起来不用纠结,第一台虚拟机建议从这两类里选:

发行版特点适用场景
Ubuntu Server LTS资料多、社区活跃、驱动兼容好新手首选,遇到问题容易搜到答案
Rocky Linux / AlmaLinux兼容 RHEL 生态,dnf 包管理想走企业运维方向优先
Debian稳定、轻量、占用低老机器或追求简洁
统信 UOS / 麒麟国产化系统,命令逻辑与 Linux 一致工作环境涉及国产化替代时提前熟悉

推荐第一台虚拟机使用 Ubuntu Server LTS 或 Rocky Linux。这两类系统镜像都能在官网直接下载,选择 64 位 ISO 即可。不建议使用已经停止维护的 CentOS 8 或旧版本,新手会踩到软件源失效的坑。

3.4 准备 SSH 客户端

SSH 客户端用来远程连接虚拟机。Windows 上可以安装 Xshell、FinalShell,也可以直接用系统自带的 Windows Terminal 加 ssh 命令。我的建议是新手优先用 FinalShell 这类带文件管理和资源监控面板的工具,查看文件、上传脚本都很直观。下载工具时尽量去官网,避免使用来路不明的第三方打包版本。如果日常工作需要处理大量桌面终端,可以了解一些整合了网络诊断、远程协助功能的运维工具箱,但下载安装时必须确认来源可靠,涉及扫描功能的工具只能在授权范围内使用。

3.5 确定 VMware 网络模式

VMware 提供桥接、NAT、仅主机三种网络模式。对新手最推荐 NAT 模式:虚拟机通过宿主机访问外网,宿主机也能访问虚拟机,不用关心局域网 IP 冲突,操作最简单。后续部署 Web 服务时,重点记住虚拟机的 IP 地址,浏览器访问就靠它。

4. 搭建第一台 Linux 虚拟机

4.1 新建虚拟机

打开 VMware Workstation,按下面的流程创建虚拟机:

  1. 选择“创建新的虚拟机”,然后选“典型(推荐)”。
  2. 选择“稍后安装操作系统”,避免安装器自动检测出错。
  3. 客户机操作系统选择 Linux,版本根据镜像选择,比如 Ubuntu 64 位或 Rocky Linux 64 位。
  4. 设置虚拟机名称和存储位置,磁盘大小建议 40GB 到 60GB,选择“将虚拟磁盘存储为单个文件”。
  5. 自定义硬件:内存分配 2GB 到 4GB(宿主机 8GB 内存时推荐 2GB 到 4GB),CPU 分配 2 核,网络类型选 NAT。
  6. 在 CD/DVD 选项中,选择“使用 ISO 镜像文件”,指向下载好的 Linux 镜像。
  7. 点击开启虚拟机,进入安装引导。

4.2 安装 Linux 系统

启动虚拟机后进入安装界面。以 Ubuntu Server 为例,选择“Install Ubuntu Server”,语言建议选 English,可以减少终端编码问题;网络保持默认 DHCP;磁盘选择使用整个虚拟磁盘;然后创建普通用户并设置密码。这里要注意两点:第一,日常登录用普通用户加 sudo,不要直接用 root,降低误操作风险;第二,安装过程中保持网络畅通,安装器会更新软件包。安装重启后提示移除安装介质时,直接回车即可。

4.3 安装完成后的第一件事

系统装好只是开始,先做三件事:

# 1. 查看虚拟机 IP 地址 ip addr # 2. 更新软件源和系统(Ubuntu/Debian) sudo apt update && sudo apt upgrade -y # 3. 更新软件源和系统(Rocky/CentOS) sudo dnf update -y

ip addr输出中,ens33、ens160 等网卡下的 inet 地址就是虚拟机的 IP,后面 SSH 连接和浏览器访问都靠它。更新系统需要几分钟,网速取决于软件源。更新完成后,用 SSH 客户端连接虚拟机 IP,如果连接成功,说明这台虚拟机已经具备远程管理能力。建议先验证 SSH 可用,再去放行或关闭防火墙,避免把自己锁在外面。

4.4 高频安装坑

虚拟机安装 Linux 阶段最容易遇到四个问题:

  • 提示“客户机操作系统已禁用 CPU,请关闭或重置虚拟机”:通常是 BIOS 没有开启虚拟化,回到 3.1 处理。
  • 虚拟机安装 Linux 蓝屏:多半是虚拟化未启用、镜像文件损坏或 VMware 版本太旧。
  • VMware Workstation 无法连接到虚拟机:用管理员身份运行 VMware,或检查 VMware 服务是否被禁用。
  • VMware Tools 提示没有数字签名不能安装:优先下载与 VMware 版本匹配的最新版 Tools,按系统提示处理驱动签名问题,不要从奇怪来源下载。

5. Linux 基础命令:文件操作、用户与权限

5.1 目录与文件操作

登录进系统之后,最常用的是一组文件管理命令。

pwd # 查看当前目录 ls -lah # 查看目录内容,带权限、大小、时间 cd /data # 切换目录 mkdir -p /data/projects # 递归创建目录 touch test.txt # 创建空文件 cp -r src dst # 复制目录 mv old new # 移动或重命名 rm -rf /data/test # 强制删除目录,谨慎使用 ln -s /data/projects /home/user/projects # 创建软链接

这里必须重点提醒:rm -rf对应的问题就是“linux 删除文件夹命令”怎么用。rm -rf在脚本或生产环境中一旦路径写错,系统文件可能瞬间被删,而且基本无法恢复。对新手来说,最安全的习惯是:删除前先用ls确认路径,能用mv移到临时目录观察,就不要直接rm -rf

5.2 查看和编辑文件

查看文件内容有几种方式,按场景选择:

cat /etc/hostname # 查看完整内容(适合小文件) less /etc/nginx/nginx.conf # 分页查看(适合大文件) head -20 /var/log/syslog # 查看文件开头 tail -f /var/log/syslog # 实时跟踪日志输出,排查问题最常用 grep -i error /var/log/syslog # 过滤关键字

文本编辑推荐先掌握 vim 的基本用法,对应热搜词“vim 命令”。第一次用 vim 时只记四件事:

vim /etc/nginx/nginx.conf # 按 i 进入编辑模式 # 编辑完成后按 Esc 退出编辑模式 # 输入 :wq 保存并退出 # 输入 :q! 不保存强制退出

刚开始用 vim 会觉得别扭,但服务器上很多文件编辑都要靠它。坚持一周,基本操作就会形成肌肉记忆。

5.3 用户管理

运维工作里创建用户是高频操作,对应热搜词“linux 新建用户”。

# 创建用户 sudo useradd -m -s /bin/bash dev # 设置密码 sudo passwd dev # 把用户加入 sudo 组(Ubuntu) sudo usermod -aG sudo dev # 查看用户所属组 groups dev # 删除用户 sudo userdel -r dev

日常管理原则是:root 权限只用于系统级操作,应用部署和日常登录用普通用户,再通过 sudo 临时提权。这样能减少误操作带来的损失,同时留下的操作记录也更清晰。

5.4 权限管理

文件权限是 Linux 面试高频题,掌握起来其实很简单。ls -l输出的第一列有十个字符,第一个表示文件类型,后面每三个一组,分别表示属主、属组、其他用户的权限。

chmod 755 script.sh # 属主可读写执行,其他人可读可执行 chmod -R 750 /data/projects # 递归修改目录权限 chown -R dev:dev /data/projects # 修改属主和属组

sudo 用户的管理在/etc/sudoers文件中,日常用visudo命令编辑。不要直接给所有用户放开 root 权限,最小授权是运维的基本素养。

5.5 第一组练习

命令学完要立刻用。建议在虚拟机上完成这样一组练习:创建/data/projects目录;新建一个 dev 用户;把目录属主改成 dev;创建一个软链接指向该目录;用 vim 在里面写一个说明文件;再尝试以 dev 用户创建文件,观察权限拒绝的效果。这套练习做完,文件、用户、权限三个主题就串起来了。

6. 系统管理与网络排查

6.1 systemd 服务管理

现代 Linux 发行版基本都使用 systemd 管理服务。运维工作中,启动、停止、查看服务状态都靠 systemctl。

sudo systemctl start nginx # 启动服务 sudo systemctl stop nginx # 停止服务 sudo systemctl restart nginx # 重启服务 sudo systemctl enable nginx # 设置开机自启 sudo systemctl disable nginx # 取消开机自启 sudo systemctl status nginx # 查看服务状态 sudo systemctl enable --now nginx # 开启自启并立即启动

查看服务是否监听端口,用ss -tlnpnetstat -tlnp。比如看到:80被 nginx 监听,说明 Web 服务已经起来了。端口 22 对应 SSH,端口 80 对应 HTTP,端口 443 对应 HTTPS,这些是运维排查网络时最常确认的端口。

6.2 查看系统资源占用

排查性能问题,按 CPU、内存、磁盘的顺序检查:

top # 实时查看 CPU 和内存占用,按 q 退出 free -h # 查看内存使用 df -h # 查看磁盘使用 ps aux | grep nginx # 查看指定进程

如果服务器变慢,先开top看 CPU 占用最高的进程,再用free -h看内存是否不足,最后用df -h看磁盘是否写满。日志文件过大、磁盘写满导致的故障,在运维日常中非常常见。

6.3 时间同步

服务器时间不准会直接影响日志排查、证书校验和计划任务执行。对应热搜词“时间服务器”的通用操作如下:

# 查看当前时间状态 timedatectl status # 开启自动时间同步(systemd-timesyncd) sudo timedatectl set-ntp true # 如果使用 chrony(企业环境常用) sudo systemctl enable --now chronyd chronyc sources -v

时间同步的方式有很多种,Debian/Ubuntu 默认走 systemd-timesyncd,RHEL 系默认使用 chronyd。新手只要记住:时间状态显示 NTP synchronized 就说明同步正常。

6.4 网络连接排查

网络排查有一套固定顺序,对应热搜词“telnet 命令怎么用”。从网卡配置到端口连通性,一层一层排查:

# 1. 查看网卡 IP 和路由 ip addr ip route # 2. 测试网络连通性 ping -c 4 127.0.0.1 ping -c 4 www.baidu.com # 3. 测试端口连通性(没有 telnet 先安装) sudo apt install telnet -y # Ubuntu sudo dnf install telnet -y # Rocky/CentOS telnet 192.168.x.x 80 # 4. 查看本机监听端口 ss -tlnp # 5. 用 curl 测试 HTTP 服务 curl -I http://127.0.0.1

telnet 的经典用法就是“测端口通不通”。如果 telnet 能进入一个空的终端界面,说明目标端口可达;如果提示Connection refused,说明端口没监听或防火墙拒绝了连接。它本身没有加密能力,生产环境排查完要记得退出,不要用 telnet 传敏感信息。

7. 服务搭建实战:部署一台可访问的 Web 服务器

7.1 安装并启动 Nginx

前面的命令都是铺垫,这一章进入运维工作的核心场景:部署服务。这里用 Nginx 部署一个静态站点,过程简单但链路完整。

Ubuntu/Debian:

sudo apt update sudo apt install nginx -y sudo systemctl enable --now nginx

Rocky/CentOS:

sudo dnf install nginx -y sudo systemctl enable --now nginx

安装完成后先做本地验证:

systemctl status nginx curl http://127.0.0.1 ss -tlnp | grep 80

看到 curl 返回 HTML 内容,并且 80 端口处于 LISTEN 状态,说明 Nginx 安装成功。

7.2 修改默认站点

Nginx 的默认站点根目录一般在/var/www/html。可以把默认页面替换成自己的内容:

echo "<h1>Hello Linux</h1><p>My first web server.</p>" | sudo tee /var/www/html/index.html

如果想新增站点,可以在/etc/nginx/conf.d/下新建配置文件,然后在 server 块里配置server_nameroot。新手阶段先改默认首页即可,重点是跑通流程。

7.3 防火墙放行 80 端口

浏览器要访问虚拟机,除了服务本身要监听,防火墙也必须放行对应的端口。

Ubuntu 使用 ufw 时:

sudo ufw allow 80/tcp sudo ufw allow 22/tcp # 确保 SSH 不会被挡 sudo ufw enable sudo ufw status

Rocky/CentOS 使用 firewalld 时:

sudo firewall-cmd --add-service=http --permanent sudo firewall-cmd --reload sudo firewall-cmd --list-all

这里有一个安全顺序:先放行 22 端口和 80 端口,再开启防火墙。如果顺序反了,SSH 可能直接断开,尤其对云服务器远程操作时更危险。

7.4 浏览器访问验证

在宿主机浏览器输入http://虚拟机IP,如果能看到自己写的页面,整条部署链路就通了。这个验证过程虽然简单,但它包含了运维部署的标准动作:安装服务、启动服务、配置内容、放行防火墙、外部访问验证。后面部署 Java 应用、Python 服务、数据库,流程都是这个模式的延伸。

7.5 SSH 免密登录配置

服务部署到位后,日常管理基本都是远程操作。SSH 免密登录能避免每次输入密码,也方便后续跑脚本和自动化任务:

# 在宿主机生成密钥(如果还没有) ssh-keygen -t ed25519 # 把公钥拷贝到虚拟机 ssh-copy-id user@虚拟机IP # 测试免密登录 ssh user@虚拟机IP

配置完之后,SSH 登录不再需要密码。密钥文件要妥善保管,私钥不要上传到公开仓库,也不要发给任何人。

7.6 部署顺序总结

部署任何一种服务,都可以按这套顺序操作:安装服务包 → 修改配置文件 → 启动并设置开机自启 → 检查监听端口 → 放行防火墙 → 本机 curl 验证 → 外部访问验证。遇到问题就逐层排查:先看服务状态,再看监听端口,最后查防火墙和日志。这套方法比死记命令更管用。

8. 常见问题与排查方法

下面是零基础学 Linux 和虚拟机部署阶段最常遇到的问题,整理成一张排查表。

问题现象可能原因排查方式解决方案
提示“客户机操作系统已禁用 CPU”BIOS 未开启虚拟化任务管理器查看虚拟化状态重启进 BIOS,开启 Intel VT-x/AMD-V
虚拟机安装 Linux 蓝屏虚拟化未开启、镜像损坏重新下载官网镜像开启虚拟化,更新 VMware 版本
VMware Workstation 提示无法连接虚拟机服务未启动或权限不足右键以管理员身份运行重启 VMware 服务或重新安装组件
VMware Tools 没有数字签名VMware Tools 版本过旧查看 VMware 版本号从官网下载匹配版本更新
SSH 连接被拒绝sshd 未启动或 22 端口未放行systemctl status sshd启动 sshd,放行 22 端口
浏览器访问虚拟机 IP 打不开Nginx 未启动、防火墙拦截、网络模式不对先 curl 本机,再 ss -tlnp启动服务、放行 80 端口、确认 NAT 模式
telnet 命令不存在未安装 telnet 客户端which telnet用 apt/dnf 安装 telnet
rm -rf 误删文件手动误操作或脚本路径错误无,基本无法恢复习惯用 mv 代替 rm,删前先 ls 确认
软件源更新慢默认源在国外或网络波动查看 sources 配置更换国内镜像源,如清华、阿里云源
虚拟机没有 IP 地址网络服务未启动或 DHCP 异常ip addr / systemctl status NetworkManager重启网络服务,必要时配置静态 IP

8.1 通用排查思路

除了表格里的问题,再补充几个通用排查思路。

服务起不来,先看日志。systemctl status只会给粗略状态,具体原因要看日志:

sudo journalctl -u nginx -n 50

端口不通,先确认服务有没有监听,再看防火墙。如果ss -tlnp里没有 80 端口,说明 Nginx 没起来;如果端口在监听但外部连不上,基本是防火墙拦截,用ufw statusfirewall-cmd --list-all确认放行规则。

网络不通,按“网关 → 外网 → 端口 → 防火墙”的顺序一层层查。先ip route看默认网关,再ping外网地址判断通往外网的路径是否正常,最后用 telnet 测试指定端口。每一层都有结果,故障位置就缩小了。

9. 最佳实践与后续学习路线

9.1 虚拟机操作好习惯

安装完成系统并更新后,先做一个快照。快照相当于系统的存档点,后续每次做危险实验前,比如改系统配置、装未知软件、调试脚本,都先拍一张快照。系统被折腾坏了,直接回滚,比重新安装快得多。需要提醒的是,快照不是备份,重要数据仍然要单独拷贝出来。

9.2 面试与晋升方向

要考 Linux 相关岗位或者准备面试,重点确认这几个方向:文件权限和软硬链接、systemd 服务管理、常见服务部署(Nginx、SSH、数据库)、磁盘和内存管理、网络问题排查。这些内容正好是前面几章练习过的。

面试和实际工作中,后面还有一条清晰的进阶路线:

  • Shell 脚本:把重复操作写成脚本,批量创建用户、批量改配置。
  • Docker 容器:用容器跑 Nginx、MySQL、Redis,环境隔离更方便。
  • 监控告警:部署 Node Exporter 和 Prometheus,掌握资源指标采集。
  • Kubernetes:学习 Pod、Deployment、Service 的基本概念,理解服务器集群的调度方式。
  • CI/CD:用 GitLab CI 或 GitHub Actions 做自动构建和发布。

对应热搜词“containerd 命令”,它是 Kubernetes 节点上常见的容器运行时。后面学 K8s 时会用到ctrcrictlnerdctl这些命令,现在不用急着学,先把 Linux 基础打牢。

对应热搜词“git 命令”,运维工程师也绕不开版本管理。至少掌握git clonegit addgit commitgit push四个命令,把脚本和配置文件放到 Git 仓库里管理,修改记录一目了然。

9.3 安全与合规提醒

无论学习还是工作,安全和合规永远是底线。虚拟机里的实验要遵守软件授权;下载镜像和工具只从官网获取;涉及安全测试工具,必须在你拥有授权的系统和网络范围内使用;云服务器试用要注意到期时间。对外暴露任何服务之前,都要确认端口最小开放,密码和密钥不能出现在公开代码仓库里。

9.4 本周可以先做的事

如果你刚从零开始,建议按这个优先级推进:先把虚拟机装好,跑通 SSH 登录;然后完成第 5 章的练习清单;再用 Nginx 部署一个页面,宿主机浏览器能访问就算过关;最后把第 8 章的排查表存下来,遇到问题时对照操作。这套流程跑完,你已经具备运维工程师最基本的动手能力,下一步就可以往 Shell 脚本和 Docker 方向继续走了。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询