什么是虚拟机昵?
虚拟机就是可以在一台设备上运行多个操作系统的软件,如果你配置cup够猛,内存够大,开十几个linux系统都不在话下。
这次要用到虚拟机,主要是因为以下几个原因:
1、开发方便,自己写的代码可以马上在电脑上看到效果,不用一定要把代码推送到测试环境才可以查看效果
2、php插件和扩展安装方便,不用再烦心window安装某个php扩展时导出寻找安装包和教程
3、方便docker安装,因为发送存管请求的api-server服务是直接docker打包,windows要使用docker时还是要安装virtualBox虚拟机。
4、通过操作linux系统,多学习后端和运维的知识。
废话不多说,开干。
一、安装virtualBox
首先安装virtualBox,我安装的是5.2版本,安装过程百度就有了
送个地址 :virualBox下载和安装教程
安装好virtualBox后,就可以新建一个虚拟镜像
我内存有8Gb,所以分配多点内存给它,来个3Gb
选择虚拟硬盘,如果没有创建过,就选第二个,如果已经有,可以选第三个添加
这项是为了让你的镜像可以在另外的虚拟机软件使用,像VM,不考虑这个的话,直接第一项
选动态分配,除非你硬盘很多空间,硬盘大小,建议30Gb,还可以预留点空间做数据库
设置cpu核心数分配,楼主电脑又8个核心,按刚才内存的分配方法,也分3个核心出来,可以提高虚拟机运行速度
二、安装ubuntu
创建成功后右键启动
选择安装光盘,楼主我选择安装ubuntu18.04的桌面版,镜像官网下载地址
如果错过了选光驱的界面,可以在这里勾选,然后重启虚拟机进入光驱
好了,就进入了unbuntu安装了,这里我就不展开了,随便百度一堆安装ubuntu教程
这里来个神秘链接吧
三、设置共享网络
设置成NAT模式,这时虚拟机就能正常上网了
但问题来了,这里enp0s3网卡给出的ip地址在宿主机并不能ping通,我怎么开发啊!看来这种模式下是不能让宿主机访问的了,于是再百度一番
再开一个网卡,设置“仅主机(Host-Only)网络”,在虚拟机查看多了个网卡,ping一下,通了!
四、设置共享目录
因为不想把代码放到虚拟机当中,所以想虚拟机直接访问宿主机的文件目录,改好宿主机目录就可以查看到效果。所以要把宿主机的文件目录挂载到虚拟机上。
对于Vbox,首先要安装Vbox的增强功能
选pkg后缀的文件,再点击运行软件,就会自动开始安装了
然后到根目录,挂载宿主机的目录
cd /
sodo mount -t vboxsf 宿主机共享目录 虚拟机挂载的目录(要先创建好)
五、安装宝塔php环境
为了方便,直接上宝塔安装php环境。
宝塔官网链接和教程来一个
如果用laravel环境开发的话,可以直接使用homestead来搭建环境
神秘链接来一个
六、配置mysql,让虚拟机数据库可以本地访问
安装了宝塔,一切都很方便,直接一键安装mysql。
由于楼主习惯再宿主机用navicat查看数据库
先进入虚拟机数据库
mysql -u root -r //登陆mysql
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
1、第一个 * 号是数据库名称,第二个 * 号指数据库里的表。 mydb.* 标识mydb数据库里的所有表
2、允许远程登陆的用户名
3、表示host主机IP 这里的%表示正常的IP地址多可以
4、表示用户对应的密码
参考 Tracy苏何 : 虚拟机连接本地数据库
注意事项:
安装前应该先启动任务管理器的cpu信息,看看虚拟化是否开启要不会弹出相关的错误信息,提示电脑不支持虚拟化
如果未开启的话,要重启电脑进入bios的设置中开启相关开关(不同主板显示不一样的,楼主的是intel主板)