news 2026/9/30 5:09:22

VMware虚拟机安装CentOS与宝塔面板完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
VMware虚拟机安装CentOS与宝塔面板完整指南

1. 为什么新人不建议“裸装”服务器:选型思路与前置准备

1.1 这套组合到底解决什么问题

很多刚接触网站搭建的朋友,第一次接触“宝塔”都是因为在云服务器上装网站环境太麻烦。你想想看,要在Linux上手动装Nginx、MySQL、PHP,再从源码编译配置,光是依赖关系就能劝退一大半人。宝塔面板做的事情,就是把这些环境的安装、配置、运维全部图形化,点什么就装什么,这对新人来说简直救星。

不过新人还有个现实问题:云服务器要花钱,买来了又怕折腾坏。所以很多教程会让大家先在VMware虚拟机里把Linux和宝塔完整跑一遍,练熟再上真实服务器。这里提醒一下,题目写的VMwork通常指的就是VMware Workstation,网上也有写成WMware或者Vmware的,都是同一个东西,不用被叫法绕晕。这套组合(VMware虚拟机 + CentOS系统 + 宝塔面板)是很多愿意做技术分享的人推荐的入门标配,原因就三个:免费、可回滚、和真实服务器操作基本一致。

1.2 硬件配置要满足什么底线

开始之前先说物理机的配置要求。VMware跑Linux比跑Windows要省资源得多,但也不是随便一台老爷机就行。我自己实测下来,宿主机至少要有8GB内存,分配2GB给虚拟机跑CentOS和宝塔不卡;如果你用4GB内存的电脑,虚拟机里做最小安装也能跑,但面板偶尔会有延迟。CPU双核即可,硬盘预留40GB以上空间,因为后面装完宝塔和网站环境,镜像加系统加数据,大概占15GB到20GB。

这里有个容易被忽视的点:电脑如果开了Hyper-V或内核隔离,VMware启动虚拟机会明显变慢,严重时直接无法打开。这个在1.3我会细说,新人最容易在这个环节卡住,一头扎进安装流程才发现根本跑不起来。

1.3 需要提前下载的三样东西

下载来源问题必须强调。虚拟机软件用VMware Workstation 17,官方安装包在官网下载即可,安装过程一路下一步,不需要额外破解配置。Linux镜像我推荐CentOS 7.9 x86_64的ISO文件,大约4GB,下载地址在CentOS官方镜像源或阿里云镜像站都能找到。宝塔面板的安装脚本不用提前下载,安装时会通过wget在线获取,你需要确保虚拟机在安装完成后能正常联网。

还有一个前置检查:Windows功能里如果开启了Hyper-V、Windows虚拟机监控程序平台、适用于Linux的Windows子系统,这几个都可能和VMware冲突。最简单的判断方法是,安装VMware后新建虚拟机时提示“此主机不支持虚拟化实际模式”或者界面卡顿,多半就是冲突了。处理方式是在“控制面板 > 程序 > 启用或关闭Windows功能”里关掉Hyper-V,重启后再试。做这些检查尽量在装系统之前,别等到装到一半才排查。

2. 从零创建虚拟机:VMware 17 的完整配置流程

2.1 新建向导中的关键选项

打开VMware Workstation,点击“创建新的虚拟机”,选择“典型(推荐)”,然后选择“稍后安装操作系统”。这里要注意,很多新人会选“安装程序光盘映像文件”并直接指向ISO,其实也没问题,但“稍后安装”给你更多调整硬件配置的空间,而且安装过程中不会因为ISO路径带中文或特殊符号而出问题。

客户机操作系统选择“Linux”,版本下拉菜单选“CentOS 7 64位”。这一步很关键,版本选错可能导致后续虚拟硬件兼容性异常。命名虚拟机的时候建议用英文,比如baota-test,不要用中文路径,否则有些脚本在安装过程中会因为路径编码问题报错。位置可以保持默认,也可以放到你剩余空间比较大的盘符下,建议预留你设置磁盘大写后的两倍空间,方便后面快照。

2.2 处理器、内存与磁盘的推荐分配

处理器数量给1,每个处理器的核心数给2,这足够跑宝塔面板和Nginx、MySQL、PHP这些基础环境。内存建议2048MB起步,宿主机内存充裕的话给到4096MB更舒服,特别是安装MySQL和PHP时,内存太紧会导致面板卡顿甚至安装失败。网络类型选“NAT”,这是新人的首选,因为NAT模式下虚拟机通过宿主机上网,不需要额外配置局域网环境,对刚装好的机器来说最容易通网。

磁盘容量给40GB,选择“将虚拟磁盘拆分成多个文件”。拆分文件的好处是便于移动、复制和备份,实际使用中性能没有差别。不需要勾选“立即分配所有磁盘空间”,那是给生产环境用的,会把物理机硬盘空间一下占满,对学习场景没必要。创建完成后先别急着开机,还要做两个调整。

2.3 虚拟机参数调整与常见“选项缺失”问题

创建完成后,点击“编辑虚拟机设置”,在“选项”里把“客户机操作系统”再确认一次,然后到“显示器”设置里勾选“加速3D图形”,否则后面如果改用了带图形界面的CentOS,画面会非常卡。在“硬件”里选中“CD/DVD (SATA)”,右侧勾选“使用ISO映像文件”,把CentOS镜像路径填进去。同时建议到“选项 > 高级”把“固件类型”设为“BIOS”,UEFI在部分AMD机器上安装CentOS 7会卡在启动界面,BIOS兼容性最稳。

这里说一个热搜里很多人问的“wmware 17虚拟机没有配置和打开选项”的问题。如果是打开软件后看不到“创建新的虚拟机”选项,或者右键无法编辑设置,一般不是安装坏了,而是VMware进程异常、界面显示不完整,或者Windows账户权限不够。处理办法:彻底关闭VMware,右键“以管理员身份运行”;如果还不行,去Windows功能里把“虚拟机平台”勾上,重启电脑。这个坑我遇到过两次,第一次以为软件坏了重装了,后来发现其实就是权限问题。

2.4 设置启动顺序并开始安装

完成上述步骤后,点击“开启此虚拟机”,屏幕上会进入CentOS安装引导界面。如果提示“此主机支持Intel VT-x,但Intel VT-x被禁用”,需要重启电脑进BIOS,把Intel Virtualization Technology设置为Enabled,这是虚拟机运行的前置条件。出现GRUB引导菜单后,第一项Install CentOS 7会自动高亮,按回车即可进入安装程序。

3. CentOS 安装阶段的每个选择项详解

3.1 安装引导界面与语言选择

虚拟机开机后,首先看到CentOS的GRUB菜单。第一项“Install CentOS 7”是正常安装,如果等待倒计时结束后没操作会自动进入,建议直接按回车确认。如果画面卡住不动,先检查是不是和Hyper-V冲突,Windows自带的Hyper-V会抢占虚拟化资源,需要在Windows功能里关掉。

进入图形安装界面后,语言建议选择“中文(简体)”,不过如果你对Linux命令行有学习打算,保持英文界面反而能帮你熟记单词。我倾向于建议新人直接选中文,因为后面看到报错信息更容易理解。安装界面的每一项设置都值得认真看,这和你以后维护服务器的每一步都相关。

3.2 软件选择:最小安装还是带GUI

安装信息摘要页面第一个要设置的是“软件选择”。宝塔面板本身只需要命令行环境,所以选“最小安装”即可,最小安装占用的系统资源最少,对虚拟机的性能压力最小。但如果你完全无法适应黑窗口,可以选“GNOME桌面”带图形界面的版本。注意选桌面版后内存占用会明显增加,我见过一个朋友用4GB宿主机跑CentOS桌面版,开个面板就把内存吃满了,所以我建议拉一个最小安装的镜像,图形界面会让你分心。

3.3 磁盘分区:新手选自动

接着是“安装位置”,直接点击“完成”使用自动分区配置。自动分区会创建LVM逻辑卷,这也是云服务器上最常见的分区方式,后面如果要扩容磁盘,LVM操作比普通分区灵活很多。网上很多教程让新人手动分区,说什么“/分区给多少、swap给多少”,说实话对纯新人没必要,宝塔和CentOS的自动分区足够跑测试站。

如果你哪天想手动调整,记住一个通用原则:/boot给500MB,swap给2048MB,剩余全部给根分区/。这样在绝大多数场景下都不会爆盘。另外,分区方案尽可能在安装时就确定,装完系统后再调整根分区大小比较麻烦,对新手来说命令操作有一定风险。

3.4 网络和主机名:这一步决定你能不能访问外网

在安装信息摘要页面点击“网络和主机名”,右上角把以太网开关打开。这一步超级重要,默认是关闭的,如果没打开就开始安装,装完后系统没有网卡配置,后面装宝塔会发愁。主机名可以改成你喜欢的名字,比如vm-baota,不用太纠结,方便你以后一眼认出这台虚拟机就行。如果后面发现网络没通,也可以在这里先点“配置”,把IPv4设置为自动,然后重新激活连接。

3.5 设置root密码并完成安装

点击“根密码”设置root的密码。CentOS对密码强度有要求,太简单会提示你确认两次,你可以点两次“完成”强制使用弱密码,但作为新手不建议这么做。root密码是这台虚拟机的最高权限入口,后面登录宝塔也可能用到SSH root身份,建议至少8位以上混合密码。安装过程等待进度条走完,点击“重启”。重启后如果卡在某个黑屏界面,不用慌,直接按回车;仍然卡住就强制关虚拟机,再从虚拟机设置里把ISO连接断开,从硬盘启动。

4. 进系统后的网络与基础环境配置

4.1 第一次登录:确认IP地址

重启后通过命令行登录,输入root用户名和刚才设置的密码。注意敲密码的时候屏幕不显示输入字符,这是正常的,别以为键盘坏了。登录成功后会看到类似[root@vm-baota ~]#的提示符。

第一步先运行ip addr命令查看网卡IP。如果你看到ens33这块网卡下面有一个192.168.x.x的地址,说明网络已经通了。如果没有IP,说明之前“网络和主机名”里的以太网开关没打开,或者DHCP没有生效,可以直接运行dhclient ens33自动获取地址,或者用nmcli con up ens33激活连接。确认有IP后再往下走,否则后面安装宝塔必挂。

4.2 配置网络源:为什么很多教程会让你换yum源

CentOS 7官方源在国内访问速度很慢,安装宝塔面板时它要在线下载很多依赖包,如果不换源,很可能下载到一半就超时。换源操作是:备份现有源文件,然后下载阿里云镜像源文件。这一步在宝塔安装前做能省很多事。

实际操作命令为:

cd /etc/yum.repos.d/ mkdir backup mv *.repo backup/ curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo yum clean all && yum makecache

需要注意,如果虚拟机没有外网,这一步会失败。很多新手装宝塔时报错“Could not resolve host: mirrors.aliyun.com”,基本都是网络没配好,不是源文件的问题。换完源之后,可以再装一个epel-release扩展源,很多软件包在EPEL里才有,比如后面可能用到的htop,宝塔部分依赖也会用到。

4.3 基础工具补齐

最小安装的CentOS里很多常用命令是没有的,比如wget、vim、unzip,这些后面装宝塔和部署网站时都可能用到。提前装好:

yum install -y wget vim net-tools unzip

这里装net-tools是为了用ifconfig命令,虽然现在大家习惯用ip addr,但宝塔面板里显示的IP信息、一些脚本的默认检测命令还是走ifconfig,装上省心很多。另外,如果后面想用lsof查端口占用,也顺手装上lsof,排查问题时很好用。

4.4 关于SELinux和防火墙的预处理

CentOS默认开启了SELinux(安全增强机制)和firewalld防火墙。宝塔面板在安装过程中会自动处理大部分防火墙规则,但如果你纯手动装环境,SELinux很可能拦截Nginx访问文件。我个人的做法是:先临时关闭SELinux,等宝塔装完再决定是否开启。

setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

防火墙暂时不要关,宝塔会开启它需要的端口。很多新人为了让面板能访问,直接systemctl stop firewalld把防火墙关掉,这是非常不好的习惯。你要做的是记住当时的防火墙状态,后面在宝塔面板里也能管理端口放行。

5. 安装宝塔面板:国内镜像与常见坑位

5.1 官方安装脚本怎么用

宝塔面板的安装脚本在不同时期版本有差异,建议直接到宝塔官网找到Linux版安装命令。经典命令是:

wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

安装过程会持续3到8分钟,取决于虚拟机的性能和网络情况。屏幕上会滚动大量安装日志,中途不要关闭窗口,也不要按Ctrl+C,否则安装中断后可能出现半成品状态,清理起来麻烦。如果安装过程卡住不动,先观察是否停在一个下载操作上,比如某个软件包下载进度不变,那基本是网络超时,可以按Ctrl+C中断后重新执行安装脚本。宝塔安装脚本是幂等的,重复执行不会出乱子,这一点可以放心。

5.2 安装完成后的面板账号信息

安装完成后,面板会输出一段文字,里面包含面板访问地址、用户名和密码,例如:

外网面板地址: http://192.168.x.x:8888/xxxxx 内网面板地址: http://192.168.x.x:8888/xxxxx username: xxxxx password: xxxxx

这里特别提醒:宝塔Linux面板的初始地址是IP:8888,后面跟的xxxxx是安全入口路径,如果你直接访问IP:8888不带路径,会提示404。这个设计是防扫描的,很多新人会误以为自己安装失败。把这段信息截图保存或复制到本地笔记里。如果忘记密码,可以在终端执行bt命令进入宝塔命令行工具,选择“修改面板密码”来重置。

5.3 首次登录面板后必须做的三件事

登录面板后,弹窗会提示安装“LNMP”或“LAMP”环境。新人选LNMP(Nginx + MySQL + PHP)即可,这是目前建站最主流的组合。安装方式选择“编译安装”还是“快速安装”?对于虚拟机,我强烈建议选“快速安装”。编译安装虽然性能稍微好一点,但在虚拟机上编译Nginx和MySQL可能要等半小时以上,而且虚拟机资源有限,编译极易卡死。快速安装的稳定性足够你学习使用。

第一件事:在面板设置里把面板端口从8888改成其他端口,比如8889或10080,改完后记得在虚拟机防火墙里放行新端口,再用新端口访问。第二件事:绑定域名和IP白名单。如果你只在本机学习,可以把域名这一项留空,但务必设置面板SSL证书,可以用自签名证书先护住面板入口。第三件事:修改安全入口路径,默认的xxxxx是随机生成的,建议换成你自己的字符串,并定期更换。

5.4 面板出现“响应时间太长导致无法访问”的原因

这个现象在新人里很常见,就是浏览器访问面板一直转圈,甚至报ERR_CONNECTION_TIMED_OUT。排查顺序我建议这样来:先确认主机和虚拟机之间网络是否通,用虚拟机内ping www.baidu.com和宿主机的命令行ping 虚拟机IP分别测试;然后看宝塔面板服务是否在运行,用bt命令选择“停止面板”再“启动面板”试试;最后看是不是防火墙规则或者面板安全入口失效。很多情况下,虚拟机从休眠中唤醒后网络会掉线,导致面板访问超时,重启虚拟机就能恢复。

6. 新人必踩的四个坑:从“无法访问面板”到“响应时间过长”

6.1 坑:虚拟机内能访问网站,宿主机浏览器打不开

这个问题十个人里有八个人会遇到。原因绝大多数是防火墙或监听地址问题。先分清现象:虚拟机里用curl http://127.0.0.1:8888能返回内容,但宿主机浏览器访问http://虚拟机IP:8888超时,那问题出在网络层。

排查链路:第一步,在宿主机命令行里运行ping 虚拟机IP,如果ping不通,先查VMware的NAT网卡是不是被禁用了,或者Windows防火墙拦截了VMware进程。第二步,虚拟机内运行systemctl status firewalld,如果有防火墙,执行firewall-cmd --list-all看8888端口是否放行,没有就运行firewall-cmd --zone=public --add-port=8888/tcp --permanent && firewalld-cmd --reload。第三步,确认Nginx监听的不是127.0.0.1而是0.0.0.0,宝塔默认监听所有地址,但如果你手动改过配置文件就可能出问题。

6.2 坑:安装时卡在软件包下载不动

很多新人在执行yum install的时候发现进度条停在某个包不动,等很久都没反应。直接原因是国内网络和官方源之间连接不稳定,前面换阿里云源能解决大部分。如果换了源还卡,就观察是卡在哪个源地址上,比如卡在mirror.centos.org,那就是源没换成功。另外,VMware的虚拟机网络在桥接模式下有时会出现在线但丢包的情况,改用NAT模式能明显改善。

6.3 坑:面板能打开,但网站页面访问极慢或者超时

面板能登录说明宝塔本身没问题,但创建的站点访问很慢,这在热搜里也有体现。我遇到的情况多半是PHP-FPM进程数量太低,同时内存不足导致频繁交换。解决办法:到宝塔面板的“软件商店”里给PHP调高内存限制,并在“PHP配置”里把pm.max_children从默认5改成8或10,然后重启PHP进程。另外还要检查虚拟机的DNS配置,站点解析到数据库或外部请求超时,把虚拟机的/etc/resolv.conf改成nameserver 223.5.5.5和nameserver 8.8.8.8能缓解部分问题。

6.4 坑:重启虚拟机后IP变了,导致面板地址失效

NAT模式下VMware默认用DHCP分配IP,重启后IP可能变化。如果你是用IP加安全入口访问面板,IP一变就找不到面板了。有两种解决办法:一是给虚拟机配置静态IP,在/etc/sysconfig/network-scripts/ifcfg-ens33里把BOOTPROTO=dhcp改成static,并加上IPOADDR、NETMASK、GATEWAY、DNS1;二是在VMware的“编辑 > 虚拟网络编辑器”里设置DHCP地址池的起始和结束IP,让虚拟机每次拿到同一段地址。我更推荐前者,因为云服务器上用的也是静态IP配置思路,练会了以后直接迁移。

7. 安装完成后:新人的安全加固清单

7.1 修改面板端口和安全入口

装好面板不等于万事大吉,如果不做安全加固,你的虚拟机在局域网里相当于裸奔。先到面板的“设置”里把端口改成自定义端口,比如33666,同时开启面板SSL。很多人觉得这是测试虚拟机无所谓,但你的操作习惯会迁移到真实服务器上,从一开始养成加固习惯,后面才不会踩大坑。改完端口后,旧的8888端口就不会再被外部访问,这对防止局域网内被扫到端口很有用。

7.2 配置系统防火墙

宝塔面板本身可以管理防火墙规则,但底层还是Linux的firewalld。我建议直接在系统层面把常用端口明确放行:22(SSH)、面板自定义端口、80(HTTP)、443(HTTPS),其余端口不开放。注意虚拟机里测试时别把端口范围放得太大,新人常见的错误是firewall-cmd --add-port=1-65535/tcp,一次把所有端口放开了,这和关闭防火墙没有区别。正确的放行方式是一次添加一个端口,并在确认对应服务正常运行后,通过firewall-cmd --list-all复查。这个习惯一定要养好,不然以后上真实服务器第一天就容易被扫爆。

7.3 打好虚拟机快照

这是虚拟机比云服务器最大的优势。在安装好面板并确认能正常访问之后,立刻给虚拟机打一个快照。VMware里点击“虚拟机 > 快照 > 拍摄快照”,名字可以叫“宝塔已安装-初始状态”。之后再做什么配置实验,出问题可以直接恢复到快照,省去重新安装的几小时。我自己的习惯是每次大改动前后都会拍照,磁盘空间反正够用。比如装完环境后拍一张,部署完测试站后拍一张,再改配置前拍一张,这样任何时候出问题都能快速回到稳定节点。

7.4 主机通过浏览器访问虚拟机网站的验证

最后一步验证:在宿主机浏览器输入http://虚拟机IP:端口/安全入口进入面板,然后在面板里创建一个测试站点,访问测试页看是否正常。这个流程跑通后,你已经在本地拥有一套完整的网站运行环境了。后面可以把WordPress或者其他CMS往上一装,开始真正练习搭建站点。如果你在自己本机上测试,记得把浏览器代理关闭,否则访问虚拟机IP时会卡在代理上,也会出现“响应时间太长”的提示。

我用这种方法带过好几个零基础的朋友,他们从完全不知道Linux是什么,到能在虚拟机上独立装好宝塔并跑通一个测试站点,普遍只需要半天时间。卡住他们的问题基本都是上面这几个网络和防火墙相关的点,只要按照排查顺序一步步来,都能解决。如果你在操作过程中遇到跟本文不一样的情况,先别急着重装,多看看日志信息,那里面往往直接写着答案。虚拟机的灵活之处就在于可以反复试错,一次不行就再来一次,整个过程本身就是学习Linux服务器运维最好的练习。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/30 5:08:46

STM32 HAL库 CubeMX 直流电机PID转速闭环控制实战

1. 从需求出发:这套直流电机闭环到底解决什么问题做电机控制的朋友应该都有过这种体会:开环调速就是"看天吃饭",电池电压掉一点、负载变一点、电机温度升一点,转速立马跟着飘。想让一台普通的直流有刷电机稳稳停在设定转…

作者头像 李华
网站建设 2026/9/30 5:08:24

开源ArmorPaint实战:Blender PBR材质贴图高效绘制与避坑指南

写材质贴图这几年,我换过不少工具:PS手绘没有3D视图实时反馈,Quixel Mixer功能不错但商业授权要求绕来绕去,Substance Painter个人版一年上千块咬咬牙也忍过。后来在一个Blender社区帖子里看到有人提ArmorPaint,说它是…

作者头像 李华
网站建设 2026/9/30 5:08:13

企业智能体落地难?文件解析才是第一道墙

1. 为什么“文件问题”成了企业智能体落地的第一道墙我去年帮三家企业部署内部知识助手,每家都卡在同一个地方:不是模型调不起来,不是API调不通,而是上传一份PDF后,系统要么返回空结果,要么把合同条款和页眉…

作者头像 李华
网站建设 2026/9/30 5:07:03

从零实现Tracert:原始套接字与ICMP路由跟踪详解

简介:一份以计算机网络课程设计为背景的Tracert程序设计报告,面向学习原始套接字编程、ICMP协议与路由跟踪原理的学生或开发人员。报告从设计目的出发,逐步讲解路由跟踪的工作机制,并给出基于Windows Socket API的程序框架与流程分…

作者头像 李华
网站建设 2026/9/30 5:06:03

2026工业AI落地实录:从质量检测到工艺优化的真实图景

1. 工业AI从概念到落地的真实图景1.1 为什么2026年是个关键节点2026年这个时间点很微妙。往前推五年,工业AI还停留在PPT和概念验证阶段,几乎每场行业展会都在讲“智能制造”“黑灯工厂”,但真正走进车间、跑在产线上的项目屈指可数。往后看&a…

作者头像 李华
网站建设 2026/9/30 5:04:44

I2C多主机仲裁与时钟延展:开漏输出下的总线共享机制详解

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华