Parallels Ubuntu虚拟机项目如何让手机访问?完整解决方案

本期敖行客研发实战日记,Parallels + Ubuntu 虚拟机 环境为例,解决在虚主机运行的项目,怎样在移动端调试访问的干货教程。

1、背景

在日常开发过程中,很多项目并不是直接运行在本机环境,而是在虚拟机中运行,例如:

  • Mac 使用 Parallels Desktop 创建 Ubuntu 开发环境
  • 项目运行在 Ubuntu 虚拟机中
  • 前端或移动端需要通过手机访问调试

这时候经常会遇到一个问题:

项目在虚拟机里面运行正常,Mac 主机可以访问,但是手机无法访问。

原因在于:虚拟机默认网络环境与宿主机、局域网设备之间存在隔离。

本文以:

  • Mac + Parallels Desktop
  • Ubuntu 虚拟机
  • Web 项目(假设端口 3000)

为例,完整解决:

如何让手机访问运行在虚拟机中的项目。

2、 第一阶段测试让主机可以访问虚拟机的项目

2.1 确认虚拟机IP地址

进入 Ubuntu 虚拟机终端:

bash 复制代码
ip addr | grep "inet "

输出示例:

inet 10.211.55.4/24 # Parallels 共享网络分配的 IP(主机与虚拟机通信)

inet 172.20.0.1/16 # Docker 网络

inet 172.18.0.1/16 # Docker 网络

inet 172.17.0.1/16 # Docker 网络

inet 172.19.0.1/16 # Docker 网络

关键10.211.55.4 是 Parallels 共享网络下虚拟机与 Mac 主机通信的 IP。

2.2 检查项目绑定地址

ss -tlnp | grep 3000(假设项目端口)

如果显示 127.0.0.1:3000,说明项目只监听本地,外部无法访问。需要修改启动配置

2.3 开放Ubuntu防火墙端口

如果 Ubuntu 开启了防火墙,需要放行项目端口。

开放3000端口:

sudo ufw allow 3000/tcp

或临时关闭

sudo ufw disable

2.4 Mac 主机访问虚拟机项目测试

直接在主机浏览器上直接访问http://10.211.55.4:3000

3、访问故障

若是运行项目中有数据请求 需要将原先本地请求如:localhost:3000/xxxx

这个就得更改http://10.211.55.4:3000/xxxxx

4、端口转发

若是主机能正常访问虚拟机上项目 此时就需要解决关键一步:

5、获取主机局域网ip(本人是mac为例)

ifconfig | grep "inet " | grep -v "127.0.0.1"

输出示例:

inet 192.168.3.76 netmask 0xffffff00 broadcast 192.168.3.255 i

net 10.211.55.2 netmask 0xffffff00 broadcast 10.211.55.255

关键 IP192.168.3.76 是 Mac 在 Wi-Fi 局域网中的地址。

6、修改项目 URL 为 Mac 主机 IP

(与前面1.1类似,是需要修改项目运行的ip的地址)

URL=http://10.211.55.4:3000

修改后(使用 Mac 主机局域网 IP)

URL=http://192.168.3.76:3000

成功后手机浏览器访问:http://192.168.3.76:3000

若此时手机端访问成功,那么基本上打通信息端就已经成功了,

需要解决一些奇怪的兼容性问题就不再需要让维运打包盲测了。

敖行客介绍:

敖行客(Allthinker)聚焦服务企业研发团队及开发者,以搭载自研企业级智能体引擎的 AT Work-Agent 研发工作台为核心支撑,打造 AI 原生一体化研发协同体系,依托企业智能体重构研发协作范式,致力于赋能各类研发团队轻量化完成智能化升级。

AT Work介绍:

AT Work-Agent 研发工作台是国内首个分钟级部署、AI 原生全链路研发协同平台,依托企业级智能体赋能研发全流程,零门槛打造专属 AI 研发团队,实现研发效率与数据安全的双重飞跃。

官网:www.allthinker.com

邮箱:allthinker@allthinker.com

相关推荐
En^_^Joy3 分钟前
Nginx 从入门到精通:配置、原理与实战详解
运维·nginx
玖石书20 分钟前
WSL2 手动安装 Ubuntu 24.04 到指定磁盘位置
linux·运维·ubuntu·wsl
库玛西1 小时前
深入浅出传输层:UDP 与 TCP 协议全景指南
linux·服务器·网络·c++·笔记·tcp/ip·udp
随便做点啥1 小时前
32卡-64G-910B4-16后端-(Qwen3.8-27B-W8A8)集群部署报告
运维·服务器·经验分享·docker·vllm
薛定谔的悦5 小时前
储能 EMS 的功率策略:从一块电表到一次逆流的 200 毫秒
大数据·linux·能源·储能·bms
2601_962218477 小时前
万象生鲜系统区块链溯源技术帮助生鲜企业搭建食品安全数字化体系
大数据·运维·微服务·云原生·架构
智塑未来8 小时前
中小公司在线文档选型:从协作入口到安全边界
运维·安全
新时代牛马8 小时前
Linux 内核入门地图:架构、源码目录与五大子系统
linux·运维·架构
智购科技无人售货机厂家8 小时前
2026自动售货机制冷系统维护指南:从散热器清洁到压缩机换油的工程实践~YH
运维·redis·物联网·缓存·架构
剑客的茶馆8 小时前
开发者,运维怎样转行FDE?
运维·ai·开发·fde