一直梦想有个舒服的Linux环境,可以部署各种中间件或者我本地的项目,以及学习熟悉各种命令,我是2019年的intel mac笔记本,本来搞了个Docker Desktop里边已经装了redis mysql centos7 nginx zk nacos rabbitmq,本来想docker内部搭建个centos 然后再那上边安装各种软件,但是总感觉怪怪的,一层套一层的很难受。而且在docker上的centos,宿主机一直ping不通(试了docker-connector和通过(docker-mac-network)中转的方式没一个好使的,气得我睡不着觉。。。。唉。。)
md 不想花钱买, 直接在mac上搞个虚拟机吧 , 于是开始有了本文的记录。
本来我本地有个vmware很早之前安装的, 但是现在不知道咋回事不能使用了(可能当时就没安装好由于工作忙也就放弃了)
了解到可以通过 VirtualBox 来搞虚拟机于是赶紧试试吧!
ps: Parallels Desktop我也试了,是在VirtualBox之前试的,,没安装成功而且这玩意还收费,安装过程中 中途卡死了md不知道啥情况干脆放弃了。最终是VirtualBox救了我,关键是开源免费稳定哈哈哈!
VirtualBox下载点这个:https://www.cnblogs.com/cxbks-write-down/articles/16133640.html VirtualBox就是个软件,安装步骤没啥好说的,下载下来直接傻瓜式安装就好了。
Centos7镜像下载点这个:https://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/?spm=a2c6h.25603864.0.0.161df5adzxHXWW
然后点击图中标红的,就可以下载了一共4.4g有点慢 不过也还可以耐心等会就ok了
在你安装好VirtualBox后会在启动台看到如下图标:
好了接下来我们准备安装虚拟机!(一般点击下一步这些步骤比较简单就省略了)
双击启动VirtualBox,进入下边界面,给你的虚拟机起个名以及安装到哪里,以及镜像文件的选择:
起名并选择你刚下载的Centos7镜像(类型和版本会自动识别不用理会)注意:此处不要选择自动安装,自动安装很容易出问题,手动比较靠谱些
: 设置内存大小和核数: 磁盘配置: 上一步操作完点击下一步后,弹出来摘要(核对一下): 点击继续,出现下边信息:
可以看到你配置的虚拟机的一些重要参数,(我这里啥都没动,网卡的话先配默认的nat方便连接外网,下边我们安装好后
会介绍如何将 nat修改为桥接模式
,一会再配不着急)
点击启动后,一路next,然后来到这个软件选择,我当时选择的是GUI服务器和基本开发工具,右侧选择的是java环境+基础开发工具。
忘记截图了这里在网上找一个,总之就这个意思,最基本的还是要选择的。你选择的越多,给你配的就越多,总之基本开发工具这一项是必需要选择的。
配置Centos7(当时没退出虚拟机,无法截图,直接手机拍了一张,将就看): 注意: 这里网络和主机名那一项是选择的nat模式(方便直连外网), 语言选择中文,开启以太网,创建用户,然后接收协议许可,其他的 我记得我点击进去选的都是默认,没改什么,总之如果有标黄色的,那么就得点击进去,然后点击完成,直到没有黄色的警告了,那么点击开始安装!
没有黄色警告后,点击开始安装:
安装过程手机拍一个: 静静等待安装完成后,输入账号密码,进入系统,刚进来如果是可视化界面的话,那么点击这个就可以进入命令行了:
进入终端后,我们ping一下宿主机和百度如下(可以看到虚拟机访问宿主机和外网都没问题):
看下虚拟机ip: 用宿主机ping虚拟机(发现ping不通):
由于我们一开始安装虚拟机创建了一张nat类型的网卡virbr0 ,(nat是虚拟机可以直连外网 但是宿主机不能连虚拟机),如果想宿主机联通虚拟机还需要配置一张仅主机类型的网卡,而且使用和配置时候个人觉得比较麻烦,所以我决定 不使用nat+仅主机,而是使用 桥接模式
。
三种模式对比如下:(从下图可以知道,桥接模式是和宿主机ip具有相同地位的。桥接模式 连通外网、宿主机以及其他虚拟机都是没问题的,我喜欢!!!)
下边我们改为桥接网卡并配置测试!
首先点击这个进入网络配置: 之后修改创建时候的nat为桥接模式(我们选择en0网卡): 点击确定后,可以看到修改成功:
之后我们就进入虚拟机,给刚配的那张桥接类型的网卡 设置静态ip及子网掩码
执行命令: cd /etc/sysconfig/network-scripts/
之后执行 vi ifcfg-enp0s3
如果你没修改过,那么他应该是长这样: 现在给我们的这张enp0s3网卡配置ip和子网掩码以及dns和网关,并把BOOTPROTO的值改为static
(代表使用静态ip
)
于是我在enp0s3网卡的配置如下
(IPADDR的值 一定要和宿主机的网段一致,后边的就递增就可以,宿主机是102 所以虚拟机ip我们就设置为192.168.1.103 网关子网掩码和dns和宿主机保持一致即可):
文本粘出来了就是下边这段: ``` TYPE=Etherneti PROXYMETHOD=none BROWSERONLY=no BOOTPROTO=static DEFROUTE=yes IPV4FAILUREFATAL=no IPV6INIT=yes IPV6AUTOCONF=yes IPV6DEFROUTE=yes IPV6FAILUREFATAL=no IPV6ADDRGEN_MODE=stable-privacy NAME=enp0s3 UUID=91f8a4a6-0ff0-412a-8f84-b48e4f615efb DEVICE=enp0s3 ONBOOT=yes
IPADDR=192.168.1.103 GATEWAY=192.168.1.1 NETMASK=255.255.255.0 DNS1=192.168.1.1 ```
然后esc退出后,:wq保存修改,只有执行命令来重启网卡:service network restart ifconfig看下我们刚配的有没有生效:(下图可以看到配的ip子网都生效了)
然后我们分别测试:宿主机->虚拟机 ,虚拟机->宿主机 ,虚拟机->外网 的联通性(记得关闭虚拟机防火墙哦)。
宿主机ip: 192.168.1.102
虚拟机静态ip: 192.168.1.103
宿主机 ping 虚拟机:
虚拟机 ping 宿主机:
虚拟机 ping 外网:
可以看到连通性没问题终于搞好了!哈哈
安装nginx步骤之前写过了在这里:centos7中安装nginx, 安装好后,我们看下nginx状态是active(running)说明nginx启动成功!
在宿主机访问下虚拟机的nginx (再次验证了宿主机和虚拟机的连通性):
好大功告成了!
如果不使用客户端,我们每次操作虚拟机都得进入虚拟机,我不想这样,于是搞个FinalShell客户端,来连接下我的虚拟机,如下填入ip端口和用户名密码:
连接成功:
ok到这里,终于搭建了属于自己的虚拟机,心情很开心快乐。以后可以开心的玩耍linux了,再也不用担心mac命令和linux不一致的问题了。
终于终于 。。。。。。。。。。。舒服了 哈哈哈! 开心,逛街去吧!~~