Linux入门路线:从VMware虚拟机搭建到Nginx服务部署全攻略

发布时间:2026/9/6 6:02:54
Linux入门路线:从VMware虚拟机搭建到Nginx服务部署全攻略 这次我们来看一套非常务实的 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 WorkstationVMware 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按下面的流程创建虚拟机选择“创建新的虚拟机”然后选“典型推荐”。选择“稍后安装操作系统”避免安装器自动检测出错。客户机操作系统选择 Linux版本根据镜像选择比如 Ubuntu 64 位或 Rocky Linux 64 位。设置虚拟机名称和存储位置磁盘大小建议 40GB 到 60GB选择“将虚拟磁盘存储为单个文件”。自定义硬件内存分配 2GB 到 4GB宿主机 8GB 内存时推荐 2GB 到 4GBCPU 分配 2 核网络类型选 NAT。在 CD/DVD 选项中选择“使用 ISO 镜像文件”指向下载好的 Linux 镜像。点击开启虚拟机进入安装引导。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 -yip 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 -tlnp或netstat -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-timesyncdRHEL 系默认使用 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.1telnet 的经典用法就是“测端口通不通”。如果 telnet 能进入一个空的终端界面说明目标端口可达如果提示Connection refused说明端口没监听或防火墙拒绝了连接。它本身没有加密能力生产环境排查完要记得退出不要用 telnet 传敏感信息。7. 服务搭建实战部署一台可访问的 Web 服务器7.1 安装并启动 Nginx前面的命令都是铺垫这一章进入运维工作的核心场景部署服务。这里用 Nginx 部署一个静态站点过程简单但链路完整。Ubuntu/Debiansudo apt update sudo apt install nginx -y sudo systemctl enable --now nginxRocky/CentOSsudo 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 h1Hello Linux/h1pMy first web server./p | sudo tee /var/www/html/index.html如果想新增站点可以在/etc/nginx/conf.d/下新建配置文件然后在 server 块里配置server_name和root。新手阶段先改默认首页即可重点是跑通流程。7.3 防火墙放行 80 端口浏览器要访问虚拟机除了服务本身要监听防火墙也必须放行对应的端口。Ubuntu 使用 ufw 时sudo ufw allow 80/tcp sudo ufw allow 22/tcp # 确保 SSH 不会被挡 sudo ufw enable sudo ufw statusRocky/CentOS 使用 firewalld 时sudo firewall-cmd --add-servicehttp --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 安装 telnetrm -rf 误删文件手动误操作或脚本路径错误无基本无法恢复习惯用 mv 代替 rm删前先 ls 确认软件源更新慢默认源在国外或网络波动查看 sources 配置更换国内镜像源如清华、阿里云源虚拟机没有 IP 地址网络服务未启动或 DHCP 异常ip addr / systemctl status NetworkManager重启网络服务必要时配置静态 IP8.1 通用排查思路除了表格里的问题再补充几个通用排查思路。服务起不来先看日志。systemctl status只会给粗略状态具体原因要看日志sudo journalctl -u nginx -n 50端口不通先确认服务有没有监听再看防火墙。如果ss -tlnp里没有 80 端口说明 Nginx 没起来如果端口在监听但外部连不上基本是防火墙拦截用ufw status或firewall-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 时会用到ctr、crictl、nerdctl这些命令现在不用急着学先把 Linux 基础打牢。对应热搜词“git 命令”运维工程师也绕不开版本管理。至少掌握git clone、git add、git commit、git push四个命令把脚本和配置文件放到 Git 仓库里管理修改记录一目了然。9.3 安全与合规提醒无论学习还是工作安全和合规永远是底线。虚拟机里的实验要遵守软件授权下载镜像和工具只从官网获取涉及安全测试工具必须在你拥有授权的系统和网络范围内使用云服务器试用要注意到期时间。对外暴露任何服务之前都要确认端口最小开放密码和密钥不能出现在公开代码仓库里。9.4 本周可以先做的事如果你刚从零开始建议按这个优先级推进先把虚拟机装好跑通 SSH 登录然后完成第 5 章的练习清单再用 Nginx 部署一个页面宿主机浏览器能访问就算过关最后把第 8 章的排查表存下来遇到问题时对照操作。这套流程跑完你已经具备运维工程师最基本的动手能力下一步就可以往 Shell 脚本和 Docker 方向继续走了。

相关新闻