VMware虚拟机全栈开发环境搭建指南:从Ubuntu到PyTorch实战

📅 2026/7/26 7:45:55 👁️ 阅读次数 📝 编程学习
VMware虚拟机全栈开发环境搭建指南:从Ubuntu到PyTorch实战

1. 项目概述:从零到一构建你的专属开发沙盒

每次接手一个新项目,或者想学习一门新技术,最头疼的是什么?对我而言,就是“环境搭建”。不同的项目依赖不同的库、不同的系统版本、不同的配置,直接在物理机上折腾,很容易把系统搞得一团糟,甚至出现“装了这个,那个就挂了”的尴尬局面。这时候,一个隔离、纯净、可随时重置的虚拟机环境就成了开发者和学习者的救星。

“Intv_AI_MK11辅助VMware虚拟机环境搭建与配置”这个项目,本质上就是一份高度定制化的“环境构建手册”。它不仅仅教你如何安装一个VMware虚拟机,更重要的是,它围绕一个具体的应用场景——可能是为某个AI项目(从标题中的“AI”推测)、嵌入式开发(从“MK11”可能联想到的微控制器)或综合性的开发环境——来规划整个虚拟机的软硬件配置。这就像给你一套毛坯房的钥匙,然后附上一份详细的装修指南,告诉你哪里该放工作台(开发工具),哪里该接水管(环境变量),哪里该布电线(依赖库),最终打造出一个即开即用的专业工作室。

对于初学者,它能帮你绕过无数坑,快速获得一个可运行的环境,把精力集中在学习核心内容上;对于有经验的开发者,它提供了一种环境标准化和知识沉淀的方法,确保团队协作或项目复现时的一致性。接下来,我将以构建一个典型的、用于AI模型开发与前后端联调的Linux虚拟机环境为例,拆解其中的每一个环节,分享我踩过的坑和总结出的最佳实践。

2. 核心需求解析与方案设计

在动手之前,盲目安装是最低效的做法。我们必须先想清楚,这个虚拟机到底要用来干什么?只有明确了目标,后续的所有选型和配置才有依据。

2.1 目标场景定义

从标题和关联热词来看,这个环境很可能服务于一个集成度较高的项目,比如一个包含AI模型推理、Web服务、数据库的综合应用。因此,我们的虚拟机需要满足以下核心需求:

  1. 隔离与纯净性:提供一个与宿主机完全隔离的沙盒环境,避免污染宿主机系统,也方便随时快照、回滚。
  2. 开发环境完备:需要支持Python(PyTorch/TensorFlow)、C/C++、Java、Node.js、数据库(如MySQL)等多种语言的开发和调试。
  3. AI框架支持:能够顺利安装和运行主流的AI框架,如PyTorch,这通常对GPU驱动、CUDA版本有特定要求。
  4. 工具链集成:集成必要的开发工具,如VS Code、Git、Maven、Docker(可选)等,提升开发效率。
  5. 网络与性能:需要稳定的网络连接用于下载包和部署服务,同时分配足够的CPU、内存和磁盘资源以保证流畅运行。

2.2 核心组件选型与理由

基于上述需求,我们做出如下关键选择:

  • 虚拟化平台:VMware Workstation Pro。相比VirtualBox,VMware在性能(特别是I/O和图形)、与宿主机融合(如共享文件夹、拖放文件)以及快照管理上更为稳定和强大。Workstation Pro提供了更丰富的虚拟网络配置和硬件模拟选项,适合复杂的开发环境搭建。
  • 客户机操作系统:Ubuntu 22.04 LTS。LTS(长期支持)版本能提供长达5年的稳定更新,避免了频繁升级带来的兼容性问题。Ubuntu拥有最广泛的社区支持和软件生态,几乎任何开发工具都能找到对应的安装指南或PPA源。
  • AI框架:PyTorch。目前学术界和工业界应用最广泛的框架之一,生态繁荣,安装相对友好(尤其是通过Conda)。我们将以此为例配置AI环境。
  • 集成开发环境:Visual Studio Code。轻量、跨平台、插件生态极其丰富,通过Remote-SSH或直接安装在虚拟机内,都能获得优秀的开发体验。

这个组合(VMware + Ubuntu + PyTorch + VS Code)构成了一个非常经典且强大的全栈开发环境基底,足以应对绝大多数研发场景。

3. VMware虚拟机创建与基础配置详解

这是整个项目的基石,一步错可能导致后续步步维艰。我将详细说明每个步骤背后的考量。

3.1 VMware Workstation的安装与初始设置

首先,从VMware官网下载Workstation Pro的安装程序。安装过程基本是“下一步”到底,但有几个地方需要注意:

  • 增强型键盘驱动程序:建议安装。它能更好地处理国际键盘和功能键,在虚拟机与宿主机切换时体验更佳。
  • 安装位置:建议不要安装在C盘默认路径,尤其是如果你的C盘空间紧张。虚拟机镜像文件通常会很大,后续我们也会将虚拟机文件存放到非系统盘。

安装完成后,首次运行建议进行一项关键设置:修改默认虚拟机存放路径。在“编辑” -> “首选项” -> “工作区”中,将“虚拟机的默认位置”更改到一个空间充足的磁盘分区(如D:\VMware\)。这能避免所有新建的虚拟机都堆在C盘用户目录下。

3.2 创建新的Ubuntu虚拟机

  1. 选择安装来源:点击“创建新的虚拟机”,选择“典型(推荐)”,然后指向你下载好的Ubuntu 22.04 LTS的ISO镜像文件。VMware会自动检测到这是Ubuntu Linux。
  2. 命名与位置:给你的虚拟机起个有意义的名字,例如“Dev_AI_Ubuntu22.04”。位置就选择刚才设置好的默认路径,或者手动指定一个子文件夹。
  3. 硬件资源分配:这是影响性能的关键步骤。
    • 处理器:根据宿主机核心数,通常分配2-4个核心。如果你的宿主机是8核,分配4核给虚拟机可以获得很好的性能,同时不影响宿主机其他工作。
    • 内存:至少分配4GB(4096 MB)。如果宿主机内存有16GB或以上,分配8GB是更舒适的选择。运行AI训练或大型IDE时,内存不足会直接导致卡顿甚至崩溃。
    • 磁盘:选择“创建新虚拟磁盘”。大小建议至少40GB,并选择“将虚拟磁盘拆分成多个文件”。单一文件虽然性能可能略有优势,但拆分文件更便于迁移和备份(例如通过移动硬盘拷贝)。磁盘类型用默认的SCSI即可。
    • 网络适配器:默认的“NAT模式”最适合大多数开发场景。它让虚拟机共享宿主机的IP上网,虚拟机可以访问外网,宿主机也可以直接访问虚拟机的服务(需配置端口转发),同时虚拟机与宿主机处于同一个虚拟子网内,互相可以ping通,非常方便。

注意:分配资源不是越多越好。过度分配会导致宿主机资源紧张,两者都卡。一个实用的原则是,确保宿主机在虚拟机运行时,仍有足够资源保持自身流畅运行。

  1. 自定义硬件(高级选项):在最后一步点击“自定义硬件”,这里有几个重要设置:
    • 显示器:将“加速3D图形”勾选上。这对于运行带有图形界面的应用、或者未来需要做可视化调试时有帮助。
    • 处理器:确认“虚拟化Intel VT-x/EPT或AMD-V/RVI”选项已勾选。这对于在虚拟机内再运行容器(如Docker)或某些需要硬件虚拟化支持的应用至关重要。
    • USB控制器:如果后续需要连接USB设备(如开发板、加密狗),确保其存在且兼容性选择最新版本。

完成创建后,先不要急着启动。我们还有一项准备工作。

3.3 安装VMware Tools(增强功能)

虽然可以在安装完系统后再安装,但我强烈建议在启动安装程序前就加载Tools的ISO镜像。在虚拟机设置中,找到“CD/DVD (SATA)”选项,将其从“使用ISO映像文件”(你的Ubuntu安装镜像)改为“使用物理驱动器”或“自动检测”,然后在下方的“VMware Tools”一栏,点击“下载”或确保其已准备就绪。这样,在Ubuntu安装过程中或安装后,你就能在桌面上看到VMware Tools的安装包,直接安装即可。

VMware Tools的作用巨大:实现宿主机与虚拟机间的无缝剪贴板共享、文件拖放、鼠标自由移动、以及更好的屏幕分辨率自适应。没有它,操作体验会大打折扣。

4. Ubuntu系统安装与初始优化

现在,可以启动虚拟机并开始安装Ubuntu了。

4.1 图形化安装过程要点

Ubuntu的安装界面很友好,但有几个步骤需要留意:

  1. 语言与键盘布局:选择中文或英文,根据习惯来。键盘布局要选对,否则后续输入会很麻烦。
  2. 安装类型:选择“正常安装”即可,它会包含网页浏览器、办公套件等基础软件。如果你想追求极简,可以选“最小安装”。
  3. 磁盘分区:对于新手和大多数开发环境,强烈建议选择“清除整个磁盘并安装Ubuntu”。虚拟机磁盘本身就是一个独立的文件,这个操作只会影响虚拟磁盘,不会动到你的物理硬盘。让安装程序自动处理分区是最安全省心的。
  4. 时区与用户创建:设置好所在地时区。创建用户时,记住你设置的用户名和密码。建议勾选“自动登录”,在开发环境中可以省去每次启动输入密码的麻烦,当然这会降低一点安全性。

安装过程大约需要15-30分钟,完成后重启。重启后,如果之前设置了加载VMware Tools,现在应该能看到一个名为“VMware Tools”的虚拟光盘图标。打开它,将里面的.tar.gz压缩包解压到某个目录(如~/Downloads),打开终端,进入解压后的文件夹,执行以下命令:

sudo ./vmware-install.pl

安装过程中,对所有提示的问题直接按回车选择默认选项即可。安装完成后,再次重启虚拟机,你会发现鼠标可以自由进出虚拟机窗口,屏幕也能全屏自适应了。

4.2 系统基础配置与换源

进入系统后,第一件事是更新软件源并升级系统,为了获得更快的下载速度,我们需要将Ubuntu的软件源更换为国内镜像,例如阿里云或清华大学的镜像。

  1. 备份原列表sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
  2. 编辑源列表:使用你喜欢的编辑器,如sudo nano /etc/apt/sources.list,将文件内容全部替换为阿里云的源(以Ubuntu 22.04为例):
    deb https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb-src https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse deb-src https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse deb-src https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse deb https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse deb-src https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
  3. 更新与升级:执行sudo apt update && sudo apt upgrade -y。这个过程会下载并安装所有可用的更新,确保系统是最新的安全状态。

4.3 安装基础开发工具包

在配置具体语言环境前,先安装一些通用的、必备的工具:

sudo apt install -y build-essential curl wget git vim net-tools openssh-server htop
  • build-essential:包含了GCC、G++、make等编译C/C++程序的核心工具。
  • curl/wget:命令行下载工具。
  • git:版本控制工具。
  • vim:一个高效的文本编辑器(如果你不熟悉,也可以安装nano)。
  • net-tools:包含ifconfig等网络诊断工具。
  • openssh-server:安装SSH服务端,这样你就可以用VS Code Remote-SSH或终端工具(如MobaXterm)从宿主机远程连接到虚拟机,获得更好的操作体验。
  • htop:一个增强型的系统监控工具。

安装SSH服务器后,需要启动它并设置开机自启:

sudo systemctl enable ssh --now

然后,在虚拟机终端输入ip addr,查看虚拟机的IP地址(通常是192.168.xxx.xxx)。之后,你就可以在宿主机的VS Code中安装“Remote - SSH”扩展,然后连接这个IP地址了。

5. 核心开发环境搭建实战

基础系统就绪后,我们开始搭建具体的开发环境。这是整个配置中最体现“辅助”价值的部分。

5.1 Python与PyTorch环境搭建(Conda方案)

对于AI开发,最推荐使用Miniconda或Anaconda来管理Python环境。它能完美解决不同项目间包版本冲突的问题。

  1. 安装Miniconda:从清华镜像站下载安装脚本。

    wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh

    安装过程中,阅读协议,一路按回车,最后会问你是否初始化conda,选择“yes”。安装完成后,关闭并重新打开终端,你会发现命令行前面多了(base)字样。

  2. 配置Conda国内镜像:为了加速包下载,需要配置清华源。

    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ conda config --set show_channel_urls yes
  3. 创建专属的PyTorch环境:不建议在base环境里直接安装。我们创建一个名为pytorch_env的新环境,并指定Python版本为3.9(一个比较稳定兼容的版本)。

    conda create -n pytorch_env python=3.9 conda activate pytorch_env
  4. 安装PyTorch:前往PyTorch官网,根据你的需求(无GPU)选择安装命令。对于虚拟机环境,通常没有直通GPU,所以我们安装CPU版本。

    # 以PyTorch 2.0+为例,使用Conda安装CPU版本 conda install pytorch torchvision torchaudio cpuonly -c pytorch

    由于我们配置了镜像,这里的-c pytorch会从我们设置的镜像中寻找包,速度很快。

  5. 验证安装:激活环境后,进入Python交互界面,输入以下命令验证:

    import torch print(torch.__version__) # 应输出版本号,如 2.0.1 x = torch.rand(5, 3) print(x) # 应输出一个5x3的随机张量

    如果成功输出,说明PyTorch环境安装成功。

实操心得:使用Conda环境是Python项目开发的“黄金法则”。每个独立项目都应创建自己的环境,并通过environment.yml文件记录依赖,确保在任何机器上都能一键复现。命令conda env export > environment.yml可以导出当前环境的所有包。

5.2 C/C++开发环境配置

虽然安装了build-essential,但对于更舒适的开发,我们还需要配置调试器和包管理器。

  1. 安装GDB调试器sudo apt install -y gdb
  2. 安装CMake:很多C++项目使用CMake构建。sudo apt install -y cmake
  3. (可选)安装Clang/LLVM:如果你想使用Clang编译器。sudo apt install -y clang lldb

对于简单的C语言练习,至此环境已经足够。你可以用vimVS Code编写一个hello.c文件,然后用gcc hello.c -o hello && ./hello来编译运行。

5.3 Java与Maven环境搭建

  1. 安装OpenJDK:Ubuntu仓库中提供了多个版本的JDK。安装JDK 11(一个广泛使用的LTS版本):

    sudo apt install -y openjdk-11-jdk

    安装后,通过java -versionjavac -version验证。

  2. 安装Maven:同样通过apt安装。

    sudo apt install -y maven

    安装后,通过mvn -v验证。

  3. 配置环境变量(通常不需要):通过apt安装的JDK和Maven,系统已经自动配置好了环境变量。如果你下载了其他版本的JDK并手动安装,才需要配置JAVA_HOME。可以通过update-alternatives命令来管理多个Java版本。

5.4 Node.js环境搭建

建议使用NodeSource维护的仓库来安装较新版本的Node.js。

  1. 添加NodeSource仓库(以安装Node.js 18.x为例):
    curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
  2. 安装Node.js和npm
    sudo apt install -y nodejs
  3. 验证安装node --versionnpm --version

5.5 数据库安装与配置(以MySQL为例)

  1. 安装MySQL Server

    sudo apt install -y mysql-server
  2. 安全初始化:运行安全脚本,设置root密码并移除一些不安全默认设置。

    sudo mysql_secure_installation

    你会被问到一系列问题:

    • 是否设置验证密码插件?按需选择。
    • 设置root用户的密码。
    • 是否移除匿名用户?选是
    • 是否禁止root远程登录?开发环境为了方便,可以选否(生产环境务必选是)。
    • 是否移除测试数据库?选是
    • 是否立即重新加载权限表?选是
  3. 检查服务状态sudo systemctl status mysql,应显示为active (running)

  4. 登录测试:使用root用户登录。

    sudo mysql -u root -p

    输入你刚才设置的密码,即可进入MySQL命令行。

6. 开发工具集成与效率提升

环境搭好了,还需要好用的工具来干活。

6.1 Visual Studio Code安装与配置

  1. 安装:从VS Code官网下载.deb包,或者通过以下命令添加微软仓库安装:

    wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" | sudo tee /etc/apt/sources.list.d/vscode.list > /dev/null sudo apt update sudo apt install -y code

    安装后,可以在应用菜单中找到VS Code。

  2. 核心插件推荐

    • Python:微软官方出品,提供智能提示、调试、测试等全套功能。
    • Remote - SSH:让你能在宿主机上用VS Code直接连接并编辑虚拟机中的文件,体验如同本地。
    • C/C++:提供C/C++的智能感知、调试和代码浏览。
    • Java Extension Pack:一套Java开发必备插件集合。
    • ESLint/Prettier:用于JavaScript/TypeScript代码规范和格式化。
    • GitLens:超级强大的Git历史查看工具。

6.2 Git全局配置

配置你的Git身份信息,这是提交代码所必需的。

git config --global user.name "Your Name" git config --global user.email "your.email@example.com" # 让Git记住你的凭证(避免每次push都输密码) git config --global credential.helper store

6.3 共享文件夹设置(宿主机与虚拟机文件交换)

虽然可以用VS Code Remote-SSH,但有时直接通过共享文件夹交换大文件或目录更方便。

  1. 在VMware中设置:关闭虚拟机电源。在VMware的虚拟机设置中,找到“选项” -> “共享文件夹”,选择“总是启用”,然后点击“添加”,将宿主机上的一个目录(如D:\SharedWithVM)共享给虚拟机,可以命名为shared
  2. 在虚拟机中访问:启动虚拟机,共享文件夹通常会自动挂载在/mnt/hgfs/目录下。如果没有,可能需要手动安装open-vm-tools-desktop并重启:
    sudo apt install -y open-vm-tools-desktop sudo reboot
    重启后,你应该能在/mnt/hgfs/shared下看到宿主机共享的文件了。

7. 环境验证、快照与日常维护

7.1 综合环境验证清单

搭建完成后,运行一个简单的“冒烟测试”来验证核心功能:

组件验证命令预期输出
系统lsb_release -a显示Ubuntu 22.04信息
Python (Conda)conda activate pytorch_env && python -c "import torch; print(torch.__version__)"输出PyTorch版本号,无报错
C/C++gcc --version输出GCC版本信息
Javajava -version输出OpenJDK版本信息
Mavenmvn -v输出Maven和Java版本信息
Node.jsnode --version输出Node.js版本号
MySQLsudo systemctl is-active mysql输出active
Gitgit --version输出Git版本信息
SSH在宿主机终端执行ssh <虚拟机用户名>@<虚拟机IP>成功登录到虚拟机终端

7.2 创建“黄金镜像”快照

这是VMware最强大的功能之一!在确认所有环境配置无误、可以正常使用后,务必创建一个干净的快照

  1. 在VMware中,确保虚拟机处于开机或关机状态(推荐关机,状态最干净)。
  2. 点击“虚拟机” -> “快照” -> “拍摄快照”。
  3. 给快照起一个清晰的名字,例如“Base_Env_With_All_Tools”。
  4. 添加描述,如“Ubuntu 22.04 with Python(PyTorch), Java, Node.js, MySQL, VS Code configured”。

这个快照就是你未来的“后悔药”和“复制源”。任何时候环境被玩坏了,都可以瞬间回滚到这个纯净状态。在开始一个风险较高的实验(比如升级核心库、修改系统配置)之前,也建议先拍一个快照。

7.3 日常使用与维护建议

  • 定期更新:每周或每两周,在终端执行sudo apt update && sudo apt upgrade -yconda update --all(在base环境)来更新系统和包。
  • 环境隔离:坚持为每个新项目创建独立的Conda环境或使用虚拟环境(venv)。
  • 文档化配置:将重要的环境配置步骤、遇到的坑和解决方案记录在一个Markdown文件中,放在共享文件夹或版本控制里。这就是你项目的“Intv_AI_MK11辅助”文档。
  • 资源监控:使用htop命令随时查看CPU、内存使用情况,避免资源耗尽导致系统卡死。

8. 常见问题与故障排查实录

即使按照指南操作,也难免会遇到问题。这里记录几个我亲自踩过且高频出现的坑。

8.1 虚拟机启动黑屏或卡死

  • 可能原因1:VMware与宿主机Windows的Hyper-V冲突。
    • 排查:在Windows“启用或关闭Windows功能”中,查看是否开启了Hyper-V、Windows沙盒、虚拟机平台等。
    • 解决:暂时关闭这些功能(尤其是Hyper-V),重启宿主机。或者,在VMware虚拟机设置的“处理器”选项中,明确勾选“虚拟化引擎”下的相关选项。
  • 可能原因2:分配给虚拟机的内存不足。
    • 排查:启动时观察VMware状态栏,或宿主机任务管理器内存占用。
    • 解决:关闭虚拟机,增加内存分配(如从4GB增加到6GB)。

8.2 Ubuntu安装后无法进入图形界面或分辨率异常

  • 可能原因:VMware Tools未正确安装或显卡驱动问题。
    • 解决
      1. 尝试在虚拟机启动时按Shift键进入GRUB菜单,选择“高级选项”,然后选择一个“recovery mode”内核启动,在恢复菜单中选择“root”进入命令行。
      2. 重新安装或修复图形界面:sudo apt install --reinstall ubuntu-desktop
      3. 确保VMware Tools已安装:vmware-toolbox-cmd -v。如果未安装,参考前面步骤重新安装。
      4. 检查虚拟机设置中“显示器”的“加速3D图形”是否已勾选。

8.3 Conda环境激活失败或命令未找到

  • 现象:安装Conda后,新开终端提示conda: command not found
  • 原因:Conda的初始化脚本未在当前shell中执行。
  • 解决
    1. 手动初始化:source ~/miniconda3/etc/profile.d/conda.sh(路径根据你的安装位置调整)。
    2. 永久解决:检查~/.bashrc文件末尾是否有Conda的初始化代码。如果没有,可以手动添加一行:source ~/miniconda3/etc/profile.d/conda.sh,然后执行source ~/.bashrc

8.4 PyTorch导入失败或版本不对

  • 现象:在Conda环境中import torch报错,或版本不是预期的。
  • 排查
    1. 确认当前环境:conda info --envs,星号*所在行是当前激活的环境。
    2. 确认环境中的包:conda list | grep torch
  • 解决
    1. 如果环境不对,用conda activate your_env_name切换。
    2. 如果包不存在或版本错,在正确的环境中重新安装:conda install pytorch torchvision torchaudio cpuonly -c pytorch
    3. 注意:有时因为网络问题,安装命令可能只完成了一部分。可以尝试先conda clean --all清理缓存,然后重试安装。

8.5 MySQL root用户无法远程连接

  • 现象:在宿主机用Navicat等工具连接虚拟机的MySQL失败。
  • 原因:默认情况下,MySQL的root用户只允许从localhost连接。
  • 解决
    1. 在虚拟机内登录MySQL:sudo mysql -u root -p
    2. 执行以下SQL语句(将your_password替换为强密码):
      CREATE USER 'root'@'%' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES;
    3. 还需要检查MySQL的配置文件是否绑定了0.0.0.0。编辑/etc/mysql/mysql.conf.d/mysqld.cnf,找到bind-address一行,将其值改为0.0.0.0(或注释掉这行)。
    4. 重启MySQL服务:sudo systemctl restart mysql

    安全警告:在生产环境中,强烈不建议允许root用户远程登录,也不建议使用弱密码。此处仅为开发环境便利。

8.6 SSH连接超时或拒绝

  • 现象:宿主机ssh user@vm_ip连接失败。
  • 排查步骤
    1. 确认IP:在虚拟机内用ip addr确认IP地址是否正确。
    2. 确认服务sudo systemctl status ssh,确保状态是active (running)
    3. 确认防火墙:Ubuntu默认的ufw防火墙可能关闭了。检查状态:sudo ufw status。如果是inactive,则防火墙未启用。如果是active,需要放行22端口:sudo ufw allow 22
    4. 确认网络模式:确保虚拟机网络适配器是NAT模式。在NAT模式下,宿主机可以直接访问虚拟机的IP。
    5. 终极排查:在虚拟机内尝试ssh localhost,如果连自己都连不上,说明SSH服务配置有问题,可能需要重装openssh-server

通过以上步骤,你应该已经拥有了一个功能强大、配置齐全、且可随时恢复的虚拟开发环境。这个环境就像你的专属数字工作台,无论学习、实验还是开发,都能提供一个稳定可靠的起点。记住,在开始任何有风险的操作前,拍个快照,这是使用虚拟机最宝贵的习惯。