一、下载安装
首先,我们需要下载安装VirtualBox和vagrant。VirtualBox官网:https://www.virtualbox.org/。vagrant官网:https://www.vagrantup.com/
关于virtualBox和vagrant的安装都是下一步下一步就可以了,安装好后我们继续往下进行。
vagrant安装完成可以在cmd命令窗口输入vagrant测试是否按照成功。我们通过Vagrantfile文件进行按照,在其中我们可以配置:镜像、网络、数据、cpu、内存。
二、搭建centos服务器
1、安装centos7
(1)、首先创建centos7文件夹,并进入其中(注意:目录路径不要有中文字符)
(2)、在centos7目录下打开cmd,运行vagrant init centos/7,此时会在当前目录下生成vagrantfile默认的模板文件
vagrantfile文件生成后,用编辑器打开,里面有几处配置需要我们手动修改一下:
- 设置镜像:config.vm.box = "centos/7"
- 网络使用:config.vm.network "public_network"
- 设置当前虚拟机的配置:
config.vm.provider "virtualbox" do |vb|
vb.memory = "3000"
vb.name = "aron-centos7"
vb.cpus = 2
end
(3)、准备centos7的box
vagrant对镜像的管理其实和Maven管理jar包依赖一样,如果我们在cmd中执行vagrant up,它会根据当前vagrantfile所在的目录去进行创建,但是现在关键的是我们的centos7这个镜像没有,它会根据boxes at https://vagrantcloud.com/search去搜索下载centos7镜像,但国外的网站比较慢,所以我们最好先自行下载到本地。
在cmd中运行vagrant up(注意不要运行,拉取远端的centos7太慢),此时我们能找到centos7的镜像的链接(https://vagrantcloud.com/centos/boxes/7/versions/2004.01/providers/virtualbox.box),复制出来用迅雷等下载。用Ctrlc+c停止vagrant up命令运行。

(4)、添加centos7 box
在cmd中执行以下命令:
//vagrant box add 添加后的box名 要添加的box镜像的路径+名称
vagrant box add centos/7 C:\dvTools\centos7Box\virtualbox.box
(5)、vagrant box list 查看本地的box,这时可以看到centos/7

2、创建centos7虚拟机
安装成功centos7的box后,我们就可以使用vagrant up命令,在virtualBox中自动创建centos7虚拟机。首先导入centos7所采用的内容;然后配置虚拟机的网络地址;设置虚拟机的名称;生产ssh的端口;初始化当前虚拟机;将ssh的端口映射到我们物理主机的2222端口;还生成了private key;


3、进入虚拟机验证网络是否通畅
输入:vagrant ssh我们就可以进入到我们创建的centos7虚拟机中了。输入:exit退出。

输入:sudo -i切换到虚拟机的根目录,我们可以输入:clear 清空命令行日志。
![]()
输入:ip a 回车,我们可以查看当前虚拟机的IP地址是10.0.205.131。

我们新打开一个cmd命令窗口,输入ipconfig查看我们物理机的ip,我们可以看到虚拟机的网络地址和物理机的网络地址是在同一个网段,我们可以在新打开的cmd窗口ping一下10.0.205.131,发现是可以ping通的,这是因为我们在vagrantfile文件中设置了:config.vm.network "public_network"共享网络,这个非常关键,一定要能ping通。


4、配置centos7虚拟机安全认证
通过vagrant ssh进入虚拟机;输入sudo -i切换到虚拟机根目录;输入:vi /etc/ssh/sshd_config编辑虚拟机配置,通过/ Passw 搜索找到“PasswordAuthentication”,将其配置改为yes,开启安全认证,改好后按Esc退出编辑,再输入:wq+回车保存退出编辑模式。

输入passwd,修改root账户的登录密码,如下图就修改成功了。然后再通过: systemctl restart sshd 将centos服务重启,这样我们就可以使用xshell通过centos虚拟机的IP地址和root账户、root密码来登录链接我们的服务器了,当然我们也可以通过宿主主机的127.0.0.1和2222端口来链接。


三、总结扩展
1、总结
在vagrantfile文件目录下进入cmd执行的命令总结:
vagrant up: 正常启动centos虚拟机;
vagrant halt:优雅关闭虚拟机;
vagrant ssh-confg:查看vagrant虚拟机的相关配置信息。
vagrant ssh:进入vagrant虚拟机
vagrant虚拟机中命令总结:
sudo -i:进入虚拟机根目录。
vi /etc/ssh/sshd_config+回车:打开编辑模式,编辑虚拟机ssh的配置
/Passw—+回车:编辑模式中/+字符+回车,回车搜索匹配的字符,此处是搜索匹配Passw字符;按Esc退出编辑模式;
:wq + 回车:保存编辑并退出
2、扩展
(1)、vagrant导出box镜像文件
由于我们新下载的centos7镜像是新的,搭建出来的虚拟机中没有我们需要的应用,那么,我们能不能用已有的虚拟机导出一个box文件呢?答案当然是可以的。通过以下命令,我们可以导出我们的box镜像文件:
//vagrant package --base 虚拟机名称 --output 导出的box镜像的名称
vagrant package --base qz-centos7 --output qzVirtualBox.box
但是这种方式自建的box镜像文件,在创建了虚拟机启动的时候会报【default: Warning: Authentication failure. Retrying...】错误。需要我们先在Vagrantfile文件中新增以下配置,然后启动就不会报警告了:
config.ssh.username = "root" //vagrant登录账号名称,默认是root
config.ssh.password = "vagrantPassword" //vagrant登录密码,就是前面安全认证的密码

本文详细介绍了如何在Win10环境下使用VirtualBox和Vagrant搭建CentOS7服务器,包括下载安装步骤、配置Vagrantfile、创建虚拟机、设置网络和安全认证,以及Vagrant导出box镜像文件的方法。通过这种方式,可以便捷地创建和管理CentOS服务器环境。
4163

被折叠的 条评论
为什么被折叠?



