在开发中,可能会有用到虚拟机的情况,比如说CentOS,但是通过VMware Workstation工具感觉又有点重量了,因为我感觉VMware Workstation挺吃配置的,于是这里介绍Vagrant搭配VirtualBox快速安装虚拟机。
安装Linux虚拟机
下载VirtualBox
下载 VirtualBox (windows版) : 点我去下载 ,记得windows使用虚拟机要开启CPU虚拟化,在BIOS里开启,具体操作自行百度。
下载好安装即可。
下载Vagrant
下载 Vagrant (可以快速通过镜像创建虚拟机):
Vagrant 官方镜像仓库: 点我跳转
Vagrant 官方下载地址: 点我去下载
由于官方下载实在太慢,这里我分享我的百度云给大家下载:链接:点我去下载 ,提取码:d28l
。
下载好安装即可,安装完需要重启电脑完成相应的配置。
重启之后,在 cmd 命令窗口输入:vagrant -v
,如有相应的版本信息输出,则说明安装成功!
输入命令 vagrant init centos/7
,即可在此目录初始化一个 Vagrantfile
文件。
然后输入 vagrant up
命令去启动,它会下载对应的内容,过程有点慢,于是我找了解决方案,那就是使用中科大的镜像:
1 | # 初始化 |
看到下图的标记的信息表示已经完成了, 使用 CTRL+C
退出
如果启动完成了,在 VirtualBox 中就可以看到虚拟机了,并且是运行状态
。
启动完成后,在 cmd 窗口输入 vagrant ssh
,去连接虚拟机,然后就可以在 windows 窗口中操作 linux 了。
如果不想用 vagrant 下载,可以自己去下载一个镜像,导入到 VirtualBox 中,镜像地址: 去获取 ,提取码:
y4c6
,下载好通过 VirtualBox 导入启动即可。
注意: VirtualBox 可能会与一些软件冲突,比如红蜘蛛,360,净网大师等,需要卸载这些软件。
参考文章: 点我跳转
虚拟机网络设置
使用上述方式装的虚拟机默认使用的是网络地址转换-端口转发
方式,比较麻烦。
我们可以给虚拟机设置一个固定的 ip ,然后和主机相互ping通,通过 SSH 客户端软件连接即可。
在windows命令窗口中使用 ipconfig
查看虚拟机的 ip网段
,比如我这里是 192.168.56.x
网段
打开 Vagrantfile
文件,把 ip 修改到对应 ip 网段
使用 vagrant reload
命令,重新启动虚拟机。
使用 vagrant ssh
连接虚拟机。
在虚拟机中,使用 ip addr
命令查看 ip 地址。
打开另一个 cmd 窗口,先用 ipconfig 查看主机的 ip 地址。
使用 ping
命令,查看主机和虚拟机是否能 ping
通。
主机 ping 虚拟机。
虚拟机 ping 主机。
这样虚拟机网络就设置好了。
补充:虚拟机的 ip
地址信息都是 vagrant 帮我们配置的。
我们还可以加入以下配置,首先进入配置文件
1 | vim /etc/sysconfig/network-scripts/ifcfg-eth1 |
加入以下配置:
1 | GATEWAY=192.168.56.1 |
重启网络
1 | service network restart |
修改 linux 的 yum 源
1 | # 1、备份原 yum 源 |
xshell连接虚拟机
使用 vagrant
创建 centos7
虚拟机,然后使用 “vagrant ssh 主机名
”连接是可以连接到主机的。但是,通过平常的方式使用xshell
却无法直接连接。所以,在此记录一下使用 xshell 连接虚拟机方法,从而使使用更加方便。
1、进入 Vagrantfile
所在目录,执行 vagrant ssh-config
2、查看HostName
,Port
,IdentityFile
三个参数
3、使用 xshell
(1)IP 和端口号采用上面的 HostName 和 Port
(2)用户名和密码:vagrant/vagrant
密码选择上一步骤的IdentityFile
中的 private_key
(3)连接成功
4、配置 xshell 远程 root 用户登录
(1)切换到 root
1 | sudo -i |
(2)设置 root 的密码
1 | vi /etc/ssh/sshd_config |
(3)放开配置,取消前面的 #
(4)修改属性
1 | PasswordAuthentication yes |
(5)重启 ssh 服务,即可使用 xshell 连接
1 | systemctl restart sshd |
(6)使用root/vagrant
即可连接,ip 和端口号和之前一样
5、使用 ip 连接
因为创建虚拟机时,指定 ip 为192.168.56.10
,所以,此时可以通过 xshell 连接 192.168.56.10
和 22
端口,也是可以访问的。
Vagrantfile
这里贴出一个可用的Vagrantfile文件,在非中文目录新建Vagrantfile文件,然后将如下内容粘贴进去。
然后在此目录运行 vagrant up
创建即可。
1 | Vagrant.configure("2") do |config| |