我们在项目开发完毕之后,会将项目部署到服务器上,以向外界提供服务,一般服务器都是Linux的系统以centos居多,那么就要求负责部署的工作人员会使用centos系统以及一些服务环境的配置,为了方便学习centos系统,我们要么直接购买云服务器或者自己Windows上安装centos系统以供学习,市面上比较常用的Windows安装centos系统的方式主要有两种:第一种是通过VMware进行安装,第二种是通过vagrant+virtualbox进行安装;还有一种就是Windows10自带的Linux系统;本文介绍使用vagrant+virtualbox在Windows上安装centos7系统。
进入 vagrant官网 点击Download下载对应系统的版本
我们是在Windows上安装,所以下载Windows的版本
下载完毕后,双击选择安装目录直接下一步下一步安装完毕。
检测是否安装成功
打开cmd,输入vagrant,出现如下输出则安装成功:
进入 virtualbox官网 点击左侧的downloads下载对应系统的版本
同样下载Windows的版本
下载完毕后,双击选择安装目录直接下一步下一步安装完毕。
安装完毕后,桌面上会有一个virtualbox的图标。
点击 链接下载 提取码:cegn
我们在后面初始化vagrant目录之后,需要配置生成的Vagrantfile文件其中会指定安装的系统为centos7,如果我们未下载centos7的安装包并且未指定centos7镜像的话,安装的时候会从远程去拉取centos7的镜像,可能会比较慢。
1.新建文件夹,作为centos7的安装目录-路径和文件夹不要有中文
2.使用 vagrant init 命令初始化文件夹-在新建的这个文件夹目录使用
会生成Vagrantfile文件
3.指定vagrant镜像映射
通过 vagrant box list 查看是否将我们之前下载的centos7系统镜像指定
如果没有指定通过命令 vagrant box add centos/7 D:\资料\virtualbox.box 指定
4.修改Vagrantfile文件
主要修改以下三个内容:
a、指定使用的centos7系统镜像
config.vm.box = "centos/7"
b、指定网络链接
config.vm.network "public_network"
c、指定centos7系统名称,所用cpu、内存等信息
config.vm.provider "virtualbox" do |vb|
vb.memory = "2048"
vb.name = "centos7-02"
vb.cpus = 2
end
5.安装centos
执行 vagrant up 命令
如果顺利的话出现下面的提示就表示安装成功:
我们在virtualbox中也能看到刚刚安装的centos7系统,并且处于运行状态:
安装过程可能会遇到的问题:
1.Which interface should the network bridge to?
出现Which interface should the network bridge to?选择哪个网卡的提示,并且一直卡在这里
通过观察前面的提示,有一个输出是:
1) Intel(R) Wireless-AC 9462
2) Npcap Loopback Adapter
也就是我们这里有两个网卡可供选择,分别是1和2,我们这时只需要选择输入1或者2即可继续安装。
一般情况下电脑只有一个网卡,并不会出现这个提示,对于我这里来说也就是只有 1) Intel® Wireless-AC 9462 我这里的第二个网卡 2) Npcap Loopback Adapter 是虚拟网卡,是因为电脑上安装了 Wireshark 抓包程序才出现的,所以我这里选择了 1 直接在 Which interface should the network bridge to? 后面输入 1 即可。
2.There was an error while executing VBoxManage, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.
说明没有开启虚拟化支持,那么需要进入Windows的BIOS中设置开启支持虚拟化,重启Windows并进入BIOS设置,一般是在启动的过程中不断按F2/F10/Del,其中以F2居多,主要看自己Windows的主板是什么牌子,根据品牌的不同快捷键不一样,然后进入Virtuallizationon或者Intel Virtual Technology,设置为Enabled,也就是开启虚拟化的支持,然后保存重启Windows(这块可以百度自己电脑主板牌子怎么设置开启虚拟化支持);还有一种可能是VirtualBox的版本过低,卸载之后下载官方最新的版本。
到此vagrant+virtualbox安装centos完毕,接下来进入centos中,使用xshell连接上centos。
6.进入centos,并使用xshell连接centos
a、进入/登录centos命令:
vagrant ssh
b、查看ip命令:
ip a
其中eth1的ip地址是我们用xshell连接centos需要的地址
c、切换到centos根目录命令:
sudo -i
一定要切换到centos根目录之后,后面修改可以使用root账户登录的时候,编辑的文件才有内容,否则编辑的文件是空的
d、修改 /etc/ssh/sshd_config 文件中可以使用root账户登录
vi /etc/ssh/sshd_config
将PasswordAuthentication no改为PasswordAuthentication yes
e、修改root账户密码
passwd
systemctl restart sshd
g、测试使用xshell连接centos
连接centos的时候可以使用两个ip进行连接
第一个是刚刚 ip a 查看的eth1的IP地址即 172.16.0.22 使用这个ip连接的话使用22端口,如下:
第二个是使用127.0.0.1进行连接,因为vagrant进行了端口映射,如果使用127.0.0.1进行连接的话,端口号默认是2222,我这里是2200,原因在于我之前安装过已经将2222端口占用了,所以vagrant进行了2200端口的映射,如下:
如果忘记是映射的Windows的哪个端口的话可以使用下面的命令查看ssh映射关系
vagrant ssh-config
这里有一个注意点就是,vagrant的命令不是在centos中进行使用的,只能在Windows上进行使用,也就是需要退出centos系统,回到Windows中才能使用,退出可以使用 exit 命令退出,需要两次退出,第一次 exit 是退出centos根目录,第二次 exit 是退出centos系统
vagrant ssh 进入当前目录vagrant安装centos系统中,如果当前目录未通过vagrant安装centos系统则会报错
vagrant status 查看当前目录通过vagrant安装的centos系统的状态
vagrant halt 关闭当前目录通过vagrant安装的centos系统
vagrant up 开启当前目录通过vagrant安装的centos系统或者安装centos系统(不论是开启还是安装,如果有多个网卡的话都会有选择网卡的提示)
如果是开启的话会比安装最后多一些输出:
vagrant destroy 删除centos系统
vagrant reload 重新加载配置,比如已经安装过的centos系统,我们改了 Vagrantfile 文件之后,要生效的话,需要重新加载。
已经安装过的centos系统也可以在virtualbox中进行界面化的操作
centos7安装jdk、git、maven
centos7安装MySQL、redis