☰
VMware虚拟机安装Ubuntu 20.04 Server全流程详解(含避坑指南)
2026/9/29 14:34:12 网站建设 项目流程

搞服务器部署的同行应该都有印象,Ubuntu Server 20.04 LTS 是这几年使用率极高的一套底层系统,很多云主机、容器平台、CI/CD 环境里都跑着它。日常做实验或者本地开发的时候,不可能每次都找物理机装系统,用 VMware Workstation 开一台虚拟机是最省事的选择。这篇内容就来完整走一遍 VMware 虚拟机安装 Ubuntu 20.04 Server 的流程,从镜像准备、虚拟机创建、系统安装到装完之后的初始化配置,最后附上我在实际工作中踩过的一些坑。适合刚接触 Linux 服务器、想在自己电脑上跑一个无图形界面的服务器环境来练手,或者做开发场景验证的同学参考。

1. 准备工作与版本选择

1.1 为什么选 VMware Workstation + Ubuntu 20.04 Server

VMware Workstation 是老牌的 x86 虚拟化方案,在 Windows 和 Linux 主机上都能运行,快照、克隆、网络模式、虚拟机迁移这些功能都非常成熟,尤其适合本地做多节点实验。它有 Pro 和 Player 两个版本,Pro 的功能更全,支持快照和自定义网络,本地学习建议直接上 Pro,官方下载页面就能拿到试用版,没有特殊需求的话试用期已经足够完成绝大部分实验。Ubuntu 20.04 是 LTS(Long Term Support)版本,官方支持周期一直到 2030 年,apt 源稳定,社区资料丰富,和 Docker、Kubernetes、Zephyr 开发环境这些常见场景兼容性都很好。选择 Server 版而不是 Desktop 版,核心原因就是服务器生产环境绝大多数是无图形界面的,早一点熟悉纯命令行操作,后面上手云服务器会轻松很多。

还有一个被很多人忽略的好处:虚拟机和宿主机之间的资源是隔离的。你在虚拟机里随便折腾,装错包、改错配置、把系统搞挂了,大不了回滚快照或者重装一遍,对宿主机一点影响都没有。这个“试错成本低”的特点,决定了它非常适合作为 Linux 入门的第一站。

1.2 镜像下载与文件校验

Ubuntu 20.04 的官方镜像可以在 ubuntu.com/download/server 页面获取。文件全名一般是ubuntu-20.04.x-live-server-amd64.iso,其中尾号 x 表示小版本修订号,比如 20.04.6 就是比较靠后的修订版,优先选数字最大的即可。国内网络环境下,如果官网下载速度不理想,也可以去清华、阿里云、华为云等开源镜像站下载,文件名和校验值都是和官方保持一致的。

下载完成之后,强烈建议校验一下 SHA256,避免镜像文件在下载过程中损坏。Windows 下可以用 PowerShell 执行Get-FileHash .\ubuntu-20.04.x-live-server-amd64.iso -Algorithm SHA256,然后把输出的哈希值和官网提供的 SHA256SUMS 文件对一下。这一步看起来多此一举,实际上我遇到过不止一次下载到一半中断导致 iso 文件损坏、安装中途报错的情况,所以千万别跳过。

1.3 主机环境检查

创建虚拟机之前,先确认三件事:CPU 虚拟化是否开启、内存是否够用、磁盘空间是否充足。

CPU 虚拟化在任务管理器里就能看到,如果提示“虚拟化已启用”,说明 BIOS 里 Intel VT-x 或 AMD-V 已经打开;如果没开,需要重启进 BIOS 找 “Intel Virtualization Technology” 或 “SVM Mode” 这类选项手动打开。内存方面,宿主机至少留 8GB 以上,给虚拟机分配 2GB 到 4GB 比较合适,Ubuntu Server 本身很省内存,2GB 跑基础服务完全够,但如果后续要跑 Docker 或编译任务,建议给到 4GB。磁盘空间建议预留 20GB 以上,严格说 10GB 也能装,但装完以后 apt 缓存、日志、镜像文件很快会把空间吃满。

VMware Workstation 的版本不用太纠结,16.x 或 17.x 都可以,操作逻辑基本相同。唯一要注意的是安装完成后弹出的“VMware Tools 安装”提示和版本无关,后面我会专门说明如何处理。

2. 虚拟机创建流程详解

2.1 新建虚拟机向导:典型还是自定义

打开 VMware Workstation,点击“创建新的虚拟机”后,向导会问“典型(推荐)”还是“自定义(高级)”。新手可能觉得典型更省事,但我一般建议选自定义。原因很简单:典型模式会隐藏不少关键参数,很多细节装完以后想改还要单独进设置,不如在创建的时候就一步到位。比如典型模式默认给你定好的虚拟机硬件兼容性、磁盘类型、固件类型,自定义向导里都能手动确认。

在“虚拟机硬件兼容性”页面选择 Workstation 17.x 即可,和当前软件版本保持一致。客户机操作系统选 Linux,版本下拉框里选 Ubuntu 64 位。如果你的 VMware 版本里没有单独的 Ubuntu 20.04 选项,选 Ubuntu 64 位也一样,本质上都是按 64 位 Linux 来配置的,不会影响安装。固件类型建议保持 BIOS,虽然 UEFI 也支持,但 BIOS 在实际兼容性上最稳,尤其后续要做 PXE 启动或磁盘迁移的时候,麻烦少一些。

2.2 核心硬件参数设置

处理器配置里,给 2 个处理器核心、每个核心 1 个内核一般就够用。不需要盲目给高配置,虚拟机性能瓶颈通常不在 CPU 而在磁盘 I/O,而且给太多核反而会拖慢宿主机。内存这里我建议直接给 2048MB 到 4096MB,具体看你宿主机内存余量。小于 2048MB 的话,安装过程中有时候会显得很卡,尤其做 apt 更新的时候。

网络类型选 NAT 即可。NAT 模式的原理是虚拟机通过宿主机共享 IP 上网,对外表现为宿主机的一个进程,优点是不需要额外配置就能上网,而且不会占用局域网 IP,适合大多数学习场景。如果你需要让局域网里其他设备也能直接访问这台虚拟机,那就选“桥接模式”,相当于虚拟机直接接入物理网络;但桥接模式有时会遇到 DHCP 分配慢、IP 冲突的问题,新手先别急着折腾。I/O 控制器和磁盘类型保持默认就行,虚拟磁盘建议选择“将虚拟磁盘存储为单个文件”,后续迁移、备份时只操作一个 vmdk 文件,方便得多。

2.3 ISO 挂载与启动前设置

虚拟机创建完成后,在“编辑虚拟机设置”里找到 CD/DVD 一栏,勾选“启动时连接”,然后选择“使用 ISO 镜像文件”,浏览到刚才下载好的 Ubuntu 镜像。如果之前建虚拟机时已经选了“稍后安装操作系统”,这里务必确认 ISO 路径没选错,否则开机大概率会提示找不到启动介质。

启动之前还有一个小检查项:看“显示器”设置里是否勾选了“加速 3D 图形”。Ubuntu Server 没有桌面环境,3D 加速完全用不到,如果勾选了建议取消。实际装机时我遇到过因为 3D 加速导致安装界面黑屏的情况,把这个选项关掉之后就正常了。确认无误就可以开机进入安装流程。

3. Ubuntu 20.04 Server 安装全程拆解

3.1 引导界面与语言选择

虚拟机开机后,很快会出现 GRUB 引导菜单。第一行是 “Try or Install Ubuntu Server”,意思是可以先试用或直接安装,通常直接回车就能进入安装环境。如果长时间卡在黑屏或一个闪烁的光标上,先检查是不是 ISO 镜像没挂载成功,或者刚才说的 3D 加速导致图形输出异常。

进入安装器后,第一步是选择语言。这里我强烈建议选 English,而不是中文。原因不是中文不好,而是服务器环境的软件、日志、报错信息绝大多数都是用英文输出的,如果安装界面用中文,后续你在排查系统报错时看到满屏英文,反而会不适应。另外部分终端工具对中文编码支持不够好,可能出现乱码。选好语言后回车,安装器会加载一些组件,耐心等待即可。

3.2 键盘布局、网络与代理设置

键盘布局默认是 English (US),除非你有特殊需求,否则保持默认。接下来是网络配置界面,安装器会检测网卡并尝试通过 DHCP 获取 IP。在 VMware NAT 模式下,这里通常会自动拿到一个 192.168.x.x 的地址,显示在网卡名称下方,说明网络正常,可以直接继续。如果这里显示没有网络,大概率是虚拟机网络适配器没连上,或者 Windows 里 VMware 的 NAT 服务没启动,这部分我在后面问题排查里会详细讲。

网络这块还有一个进阶操作:如果希望虚拟机用固定 IP,可以选中网卡后回车,选择 Manual 手动配置,然后填 IP 地址、子网掩码、网关和 DNS。例如 NAT 网段是 192.168.110.0/24,网关是 192.168.110.2,那你可以把 IP 设为 192.168.110.128,子网掩码 255.255.255.0,网关 192.168.110.2,DNS 填 223.5.5.5 或 114.114.114.114。注意这个操作有两个前提:第一,你确实知道当前 NAT 网段和网关地址;第二,你选的 IP 不要和其它虚拟机或宿主机冲突。不确定的话就先走 DHCP,装完系统后再通过 netplan 改固定 IP,这样更安全。

代理设置页面保持空白,除非你处在必须走代理才能访问外网的特殊网络环境下。这里如果填错代理地址,后续 apt 更新会全部失败,而且报错信息还不好查。

3.3 Ubuntu 存档镜像源配置

安装器会让你配置 Ubuntu archive 镜像源。默认是http://archive.ubuntu.com/ubuntu,这个地址在海外访问很快,但在国内环境下载速度经常让人崩溃。建议直接改成国内的镜像源,比如清华源https://mirrors.tuna.tsinghua.edu.cn/ubuntu/或者阿里云源https://mirrors.aliyun.com/ubuntu/。这一步非常关键,直接决定了后面 apt 更新和安装软件包的速度。

修改方法很简单:在镜像源那一页下方,有一个 “Edit” 选项,进去之后把服务器地址改成你选定的镜像站地址即可。特别注意 URL 必须以/ubuntu/结尾,不要省略路径,否则安装器会判定地址非法。如果走默认源安装也能成功,但中间下载软件包可能要等好几次超时,实际体验差距很大,所以这一步值得多花一分钟。

3.4 存储布局与磁盘分区策略

存储配置是安装过程中最需要理解的一步。安装器会识别出你之前给虚拟机创建的那块虚拟磁盘,通常显示为“可用空间”或一整块磁盘。可以看到两个选项:一个是 “Use An Entire Disk”,带 LVM 或不带 LVM;另一个是 “Custom Storage Layout” 手动分区。

对于绝大多数学习场景,我建议选择第一种,并且勾选 LVM(逻辑卷管理)。LVM 的核心价值在于“逻辑卷可以在线扩容”,比如安装时给根分区分了 18GB,后面发现空间不够,只要底层虚拟磁盘还有未分配空间,就可以用lvextend命令扩展根分区,不需要重新分区、不丢失数据。这对新手来说非常有意义,因为你很难一开始就准确预判未来的容量需求。

如果你选手动分区,比较合理的方案是:/boot分 1GB,格式 ext4;/根分区分掉剩余空间,格式 ext4;swap给 2GB 或和内存大小一致。为什么/boot需要独立分区?因为很多引导加载器对引导分区的位置和格式有严格要求,独立分区可以避免根分区满了以后无法引导系统的尴尬。不过对于普通虚拟机,用默认整盘加 LVM 的方案就够了,等以后需要搞双系统或多块磁盘时再研究手动分区也不迟。

3.5 用户信息与 OpenSSH

安装器接下来会要求设置服务器名称和用户名。服务器主机名默认是ubuntu-server,可以改成你喜欢的名字,但建议只用字母、数字和中划线,不要用下划线或中文,否则有些服务解析主机名时会出问题。创建的登录用户是具备 sudo 权限的普通用户,密码建议设置得稍微复杂一点,大小写字母加数字,因为这台虚拟机以后很可能直接暴露在你本地网络中。

重头戏是 “Install OpenSSH server” 这一步,一定要勾选。Ubuntu Server 本身没有图形界面,你日常操作主要靠 SSH 远程登录,如果这时候不装 OpenSSH,装完系统后只能回到 VMware 的虚拟控制台去操作,而且还要手动补装,比较麻烦。这里还可以选择通过 GitHub 导入公钥,如果你有 GitHub 账号,并且想要免密登录,可以把自己的公钥填进去;暂时没有的话,先用密码登录,后续再用ssh-copy-id补上公钥也可以。

3.6 Featured Server Snaps 与正式安装

后面会看到一个 “Featured Server Snaps” 的页面,会推荐安装一些 snap 包,比如 Docker、MicroK8s、Certbot 等。我的建议是全部不勾选,直接选择 Done 继续。原因很简单:在这个阶段安装会拖慢整个安装流程,而且你用不到的服务装得越多,潜在的安全暴露面也越大。等系统装完以后,按需用 apt 或 snap 单独装,要的可控性更好。

随后安装器开始正式写入系统并安装软件包,这个过程根据网络速度可能持续几分钟到十几分钟。期间你会看到软件包下载进度条在动,如果某一步卡住很久没反应,先别急着关闭窗口,耐心再等一会儿,很多所谓“卡死”其实只是在等待网络请求超时。安装完毕后,安装器会提示 “Remove the installation medium and press Enter to reboot”,意思是移除安装介质并重启。在 VMware 里,这一步一般不需要手动去断开 ISO,安装器会自动处理,直接回车重启即可。

4. 安装完成后的初始化配置

4.1 首次登录与系统更新

重启之后,虚拟机会进入 GRUB 菜单,默认启动项就是刚刚装好的 Ubuntu 系统。启动过程中会看到一堆内核日志快速滚动,不用紧张,这是正常现象。等到出现login:提示符,输入刚才创建的普通用户名和密码,就能登录系统。看到类似ubuntu@ubuntu-server:~$的命令提示符,说明登录成功。

首次登录后第一件事是把系统包索引和软件包更新到最新。执行:

sudo apt update sudo apt upgrade -y

apt update是刷新软件包索引,apt upgrade是实际升级已安装的包。为什么要把这步放在最前面?因为镜像是某个时间点的快照,下载软件源地址和系统组件可能都有更新,不更新的话,后续安装其它软件时容易遇到版本不匹配的问题。注意升级过程中如果看到类似 “Configuration file …” 的交互式提示,通常直接回车保留当前版本即可,不用纠结。

顺手确认一下系统版本:

cat /etc/os-release

如果能看到VERSION_ID="20.04",说明系统版本没问题。

4.2 固定 IP 与 SSH 登录优化

安装时如果走的是 DHCP,重启后虚拟机每次拿到的 IP 都有可能变化,这对于 SSH 登录来说非常不友好。建议给虚拟机配置一个固定的静态 IP,这样远程连接地址永远不变,也方便后续搭建集群时配置主机清单。

Ubuntu 20.04 默认用 netplan 管理网络配置,配置文件通常位于/etc/netplan/00-installer-config.yaml。先查看一下当前配置文件内容:

sudo cat /etc/netplan/00-installer-config.yaml

看到的大致内容是一个网络接口的 dhcp4 配置。如果想把默认 NAT 网络改成固定 IP,可以将文件修改为类似下面的内容:

network: version: 2 ethernets: ens33: dhcp4: no addresses: - 192.168.110.128/24 routes: - to: default via: 192.168.110.2 nameservers: addresses: - 223.5.5.5 - 8.8.8.8

需要注意的是:IP 地址/24这种写法是 CIDR 表示法,表示子网掩码是 255.255.255.0;网关地址一定要和 VMware NAT 的实际网关一致,否则数据包出不去。改完之后执行sudo netplan apply使配置生效,然后执行ip addr show确认地址已更新。这个操作我建议在 VMware 虚拟控制台里进行,因为如果网络配置写错,远程 SSH 会立刻断开,但在控制台里还能救回来。

4.3 安装 open-vm-tools 与 VMware Tools 的真相

很多人在装完 Ubuntu 虚拟机后会遇到一个弹窗提示:“VMware Tools 继续运行脚本未能在虚拟机中成功运行。如果您在此虚拟机中配置了自定义的 VMware Tools 运行脚本,请自行修正该问题。” 这个提示有时候会让人很慌,但先不用管它。

实际上,VMware 官方推荐的 Linux 虚拟机增强工具早已不是传统安装包里的 VMware Tools,而是系统包管理器里的open-vm-tools。它在功能上完全对标 VMware Tools,提供了剪贴板共享、分辨率自适应、虚拟机开关机同步等能力,而且随系统内核更新自动适配,不需要像传统 VMware Tools 那样每次内核升级后重新编译模块。

安装方法很简单:

sudo apt install open-vm-tools -y

装完重启虚拟机,那个烦人的弹窗就不会再出现了。如果你用的是桌面版 Ubuntu,一般还需要再加装open-vm-tools-desktop,但我们是 Server 版,装基础包就够了。这里还有个小技巧:安装完 open-vm-tools 后,建议执行一次sudo reboot,让工具彻底加载,之后再使用控制台操作时,鼠标进出和剪贴板粘贴会流畅很多。

4.4 快照与日常维护习惯

安装和基础配置完成以后,趁着系统状态还干净,我强烈建议打一个快照。快照相当于给当前虚拟机的磁盘状态拍一张照片,以后系统怎么折腾都行,出了问题一键回到这个状态。操作方式是在 VMware 界面顶部菜单点击“虚拟机 → 快照 → 拍摄快照”,给快照起个名字,比如ubuntu-20.04-base-installed,备注里写上“系统刚装完,已更新到最新,已装 open-vm-tools”。

快照的使用有两个重要心得。第一,打快照之前最好确认虚拟机已经关机,或者至少是处于一致性状态;强制在运行状态打快照虽然也支持,但恢复时可能遇到磁盘状态不一致的问题。第二,快照不是备份,不要依赖快照保存重要数据;快照文件会随着运行时间越来越占磁盘空间,而且单个快照链拉长后会影响性能,建议在重要的里程碑节点打几个即可,用完旧快照可以删掉。

5. 常见问题排查与避坑经验

5.1 SSH 无法连接的排查思路

这是 Ubuntu Server 虚拟机最常碰到的问题,具体表现是:在宿主机或局域网其它电脑上执行ssh 用户名@虚拟机IP一直超时或被拒绝。我总结了一个排查链路,按顺序走一遍基本能定位。

第一步,先确认虚拟机里的 SSH 服务是否在运行。执行systemctl status sshd或者systemctl status ssh,如果服务状态不是 active (running),就执行sudo systemctl enable --now ssh启动并设置开机自启。第二步,确认 IP 地址。执行ip addr show,看看网卡上有没有配 IP,以及 IP 是否和宿主机在同一个网段概念下的互通关系。第三步,确认防火墙。Ubuntu server 默认装完没有启用 ufw,但如果你之前开过防火墙,需要执行sudo ufw allow OpenSSH放行 22 端口。第四步,看看宿主机到虚拟机的连通性,在 Windows 命令行执行ping 虚拟机IP,能通再试 SSH。

还有一个非常隐蔽的问题:如果你给虚拟机配的是 NAT 网络,宿主机访问虚拟机一般没问题;但如果虚拟机换了桥接模式,IP 是局域网 DHCP 分配的,而宿主机的安全软件或 Windows 防火墙拦截了入站连接,也会导致 SSH 连不上。这时候检查 Windows 防火墙里有没有相关规则,或者临时关掉防火墙测试一下。

5.2 虚拟机没有网络适配器 / vmnet1 vmnet8 感叹号

在 Windows 宿主机上,打开网络连接中心会看到 VMware 创建的两块虚拟网卡:VMnet1(Host-Only)和 VMnet8(NAT)。有时候这两块网卡会显示黄色感叹号,或者虚拟机里根本没有网络适配器,重启虚拟机和 VMware 都没用。

这种情况多半是 Windows 服务里 VMware 相关服务没有正常运行。按Win + R输入services.msc,找到名字里带 VMware 的服务,比如 “VMware NAT Service” 和 “VMware DHCP Service”,确认它们的运行状态。如果停止,右键启动,并把启动类型设为自动。另外,打开 VMware 的“编辑 → 虚拟网络编辑器”,点右下角的“更改设置”,然后直接点击“还原默认设置”,让 VMware 重建虚拟网卡和 NAT/DHCP 配置。这个方法能解决绝大多数虚拟网络异常问题。

需要注意的是,如果你在虚拟网络编辑器里看到 VMnet8 子网地址和你本地局域网的网段重叠,也会导致路由冲突,表现为虚拟机无法上网或无法和宿主机通信。这种情况下可以手动改一下 VMnet8 的子网网段,比如改成 192.168.110.0/24,避免冲突。

5.3 安装界面黑屏或卡住的处理

Ubuntu Server 安装通常很顺利,但有些人会遇到安装界面黑屏、光标闪烁或卡在引导菜单的问题。我个人遇到过的几类原因和处理建议如下。

第一类,ISO 镜像损坏或下载不完整。重新校验 SHA256,重新下载镜像,不要用浏览器断点续传下载,建议用专门的下载工具。第二类,和虚拟机硬件兼容性相关。在虚拟机设置里把“虚拟机硬件兼容性”调低一个版本,比如从 Workstation 17 改成 Workstation 16,有时候能绕过显示或声卡驱动兼容问题。第三类,和显卡/3D 加速相关。取消勾选“加速 3D 图形”,如果 VMware 版本较老,可以试试在 VMX 配置文件里加上mks.enable3d = FALSE强制关闭。

如果安装过程中卡在某一步,比如进度条不动,先判断是网络问题还是磁盘问题。看安装器日志里有没有反复重试请求的信息,有的话多半是镜像源速度太慢或网络不稳,换国内镜像源一般能解决。磁盘 I/O 导致卡顿的情况在 VMware 里不太常见,但宿主机磁盘空间严重不足时也会出现,这时候建议先清理宿主机磁盘空间再重来。

5.4 磁盘空间不足与 LVM 扩容提示

很多人初始化虚拟机时只给了 20GB 磁盘,结果用着用着就发现根分区满了。执行df -h看到/dev/mapper/ubuntu--vg-ubuntu--lv已用 100%,会让人有点慌。如果你安装时选择了带 LVM 的整盘方案,这里其实有很大操作空间。

LVM 扩容的逻辑是:虚拟磁盘 → 物理卷 → 卷组 → 逻辑卷。首先要做的是在 VMware 设置里给虚拟磁盘扩容,关机状态下编辑虚拟机设置,硬盘大小从 20GB 改成 40GB,完成后开机。然后在虚拟机里依次执行:

sudo pvresize /dev/sda3 sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

第一行让物理卷识别到磁盘新增的空间,第二行把卷组里所有剩余空间都分配给根逻辑卷,第三行调整文件系统大小让系统真正利用上空间。执行完再df -h看一眼,根分区已经变大。这里要特别提醒:如果当初安装时没有用 LVM,直接用的普通分区,扩容就麻烦很多,所以才反复强调用默认 LVM 方案。

下面是几个高频问题速查表:

问题现象可能原因解决思路
SSH 连不上sshd 未运行 / 防火墙拦截systemctl status sshd,放行 22 端口
虚拟机无法上网NAT 服务未启动 / 虚拟网卡异常还原虚拟网络配置,重启 VMware NAT 服务
VMware Tools 脚本报错未安装 open-vm-toolssudo apt install open-vm-tools
安装过程中断镜像损坏 / 网络不稳校验 SHA256,换国内镜像源
根分区满了初始磁盘空间不足磁盘扩容后通过 LVM 扩展逻辑卷
登录后显示乱码语言环境 / 终端编码冲突临时执行export LANG=C.UTF-8验证

我在实际工作中帮同事搭过不少这样的虚拟机环境,最深的感受是:很多人以为服务器版很难,其实装完之后你会发现它就是一套很干净、很稳定的 Ubuntu,难点从来不在“安装”本身,而是在安装之后怎么配置网络、怎么管理磁盘、怎么排查那些奇奇怪怪的问题。我建议新手入门时先别急着折腾各种花活,老老实实把 SSH、固定 IP、open-vm-tools 这三样搞定,后面再玩 Docker、Kubernetes 或者嵌入式交叉编译环境,都会顺畅很多。

最后再分享一个小技巧:本地做集群实验时,比起单块 NAT 网卡,我更习惯给虚拟机配两块网卡,一张 NAT 用于访问外网,一张 Host-Only 用于虚拟机之间和宿主机通信。这样做的好处是,你在 Host-Only 网段里分配 IP、搭服务,不会污染局域网的 DHCP 地址池,实验结束清理也干净。先把基础环境跑通,再逐步扩展网络拓扑,这套节奏是最稳的。

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

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

立即咨询