一、前言
作为开发人员来说,不可避免的有时候会用到linux操作系统。我们可以直接租一个阿里云的远程服务器,然后使用Xsell等远程连接软件去访问。但是阿里的远程服务器一年要好几百块钱,配置越高越贵。就学习而言,如果说想节约成本。那我们只有在自己的本机上搭建一个Linux虚拟机环境了。一说到搭建虚拟机,很多人想到的就是VMware这款软件。但今天我们可以通过vagrant+virtualbox来安装centos7系统。
二、环境搭建
2.1vagrant安装
1、访问官网,下载vagranthttps://www.vagrantup.com/
2、点击download下载对应的版本,我是window系统这里就下载window版本
3、下载完成后,双击,傻瓜式安装,一直点下一步就可以了。安装完成后,使用如下命令,验证是否安装成功。如果出现下面图片,则说明安装成功。
vagrant
2.2virtualbox安装
1、官网下载virtualbox。官网:www.virtualbox.org/ download.virtualbox.org/virtualbox/…
2、选择对应版本下载,下载完成后,也是傻瓜式安装,直接点击下一步就可以了。
3、我在安装的过程中,出现了一个严重错误,导致安装失败。如果你也是,可以尝试以下方式看是否能解决。如果没有出现错误,则忽略此步骤。
在我的电脑 -> 管理 -> 服务和应用程序 -> 服务 开启如下两个服务
1,Device Install Service.
2, Device Setup Manager.
将这两个服务开启后,再次安装virtualbox。
2.3安装centos7
1、创建一个centos7文件夹
2、打开命令行,cd 进入centos7文件夹下,执行 vagrant init centos/7 命令
vagrant init centos/7
打开文件夹,会发现文件夹里新增了一个Vagrantfile文件
3、创建一个virtualbox.box文件
新建一个virtualbox.box文件,可以直接从以下网盘下载。
链接:pan.baidu.com/s/1Cy7YUlOt… 提取码:ddt7
4、将virtualbox.box文件添加到vagrant管理的镜像中 执行命令 vagrant box add centos/7 D:\virtualbox.box。路径根据你实际存放的位置来写
//后面是virtualbox.box在磁盘中的路径
vagrant box add centos/7 D:\virtualbox.box
查看是否添加成功。
vagrant box list
5、开启centos虚拟机
在之前创建的centos7文件夹打开cmd命令行。开启centos虚拟机
vagrant up 启动虚拟机
vagrant halt 关闭虚拟机
6、出现如上图片,说明虚拟机启动成功。如果执行vagrant up命令报错,我们可以尝试以下解决方式。没报错的话,就忽略此步骤
用vagrant+virtualbox搭建一个centos的环境,执行vagrant up指令启动虚拟机的时候报错。可能是virtualbox会和Hyper-V 有冲突。按照下面的步骤,我的后来可以运行了
6.1 关闭Hyper-v 控制面板–》程序–》启动或关闭Window功能
关闭后,重启电脑,发现执行命令vagrant up还是不能启动虚拟机
6.2 命令行关闭 命令行输入 bcdedit 查看 一般来说可能是 hypervisorlaunchtype Auto 需要将它设置为off
输入命令并回车执行:bcdedit /set hypervisorlaunchtype off
再次执行 vagrant up执行成功
造成vagrant up命令执行失败的可能性有很多。这只是其中的一种
至此,使用vagrant+virtualbox搭建centos7完成,后面可以修改Vagrantfile对虚拟机进行相应配置
2.4Xshell安装与连接
如果说我们不喜欢使用cmd来操作,习惯使用Xshell这样的远程连接软件,那么我们还需要再进行一些配置
1、下载Xshell,这一步不做详细介绍
2、在centos文件夹下执行vagrant ssh-config
我们发现PasswordAuthentication 它的值为no。我们需要将它修改为yes。不然使用Xshell是无法连接的。
3、使用root账户,修改ssh配置
1、vagrant ssh 进入到虚拟机中
2、sudo -i 转为root账户
3、vi /etc/ssh/sshd_config 进入文件。进入文件后,我们先要按i进入insert模式才能修改文件。修改完成后,按esc退出Insert模式,然后键盘输入:wq保存并退出
4、 修改PasswordAuthentication yes
5、 passwd修改密码,比如abc123
6、 systemctl restart sshd 刷新
4、修改完成后,我们输入ip a命令来查看IP地址
5、将这个ip地址复制下来,然后打开Xshell,如果主机名,用户名和密码,即可使用Xshell登录
2.5 VirtualBox静态ip 当什么也没有配置的时候,我们虚拟机的ip默认是随机给的,也就是说每次启动虚拟机,我们虚拟机的ip地址可能会不一样。这样就会导致一个问题,我们的项目链接虚拟机上Docker安装的MySQL数据库配置文件每次都要修改。这肯定是不行的,不利于我们项目的开发
如果我们虚拟机每次启动后,虚拟机的Ip地址如果不变的话,那么这个问题岂不是就解决了,所以我们要制定虚拟机的ip地址。先查看本机的ip地址。window机器在命令行窗口敲如下命令
ipconfig
如果虚拟机此时处于启动的状态,先停止虚拟机 找到virtualbox的 ipv4地址
修改VagrantFile文件,将配置修改为如下图,当然了ip地址需要根据你自己的本机的配置来改
修改完成后,重新执行命令vagrant up 启动虚拟机即可
三、总结
到此为止,我们的Linux环境搭建好了,但是值得注意的是,我们每次开启和关闭虚拟机最好是使用命令行来关闭。不要直接关闭cmd窗口,这样有可能导致下次启动虚拟机失败,又报一些不知名的错误。