首页
友情链接
点点滴滴
关于本站
秋码记录
一个游离于山间之上的Java爱好者 | A Java lover living in the mountains
累计撰写
142
篇文章
累计创建
317
个标签
累计创建
46
个分类
栏目
首页
友情链接
点点滴滴
关于本站
搜索
包含标签
虚拟化
怎样快速搭建 Linux 虚拟机呢?(vagrant 篇)
作为一名Coder(程序员或码农),供职于中小型互联网公司,而你恰恰偏向于服务端,那么,产品部署在生产环境的艰巨任务,便毫无疑问的落在你身上了。 只有大厂(大型互联网)企业才有运维部,而能进大厂的显然是少部分人,大多数Coder终究还是混迹于初创或中小型互联网公司,一名服务端 Coder往往都是身兼数职,甚至有可能干掉了frontend(这也就是初创或·中小型·互联网公司在Job Descriptio[职位描述]中,要求你在懂得服务端技术知识,还需熟悉frontend相关内容),当然咯,也有些中小型公司会分工明确,虽然没设立什么运维部,但起码也有一两个深耕于Linux 服务器多年的运维人员。 甭管你是Full Stack engineer(全栈),抑或是backend(服务端),总逃不掉要将开发完成的程序部署到服务器上吧!由于开发环境和生产环境之间存在着差异,从而导致了你按照开发环境所需的必要准备,在生产环境开始部署程序,出乎意料的一幕总能让你吃惊不已,你挠着头,口中喃喃说道,“这不可能吧,都按着必要环境部署的,不应该啊!……” 所以嘛,在把程序部署到生产环境之前,我们有必要在本地安装虚拟机,而这虚拟机所对应的系统便是生产环境上的系统,之后在该虚拟机上安装程序运行的必要条件,随后,在虚拟机环境里调试程序,等一切调试妥当后,方可部署到生产环境中。 安装 Vagrant 安装 VirtualBox 在安装Vagrant之前,我们必须安装一个虚拟化工具,它是跨平台的,也就是说,搭建一个虚拟机,安装了它就可以,Vagrant可以到一边凉快去了。 既然它(VirtualBox)本身就可以搭建一个虚拟机,而为什么又要Vagrant呢?对于这个问题,我不置可否,你回过头看看本文的标题,其中有个关键词——快速(虽然有点夸张的成分),你或许便能明白了。 至于怎么安装 VirtualBox,不在本文的范畴内,况且它跟其他软件安装方式一样,一路Next(下一步)下去 。 VirtualBox 官方地址:https://www.virtualbox.org/ 安装 Vagrant 在安装完VirtualBox,接着安装Vagrant,而它的安装也是同安装其他软件一样,一路Next(下一步)下去,除非你要修改安装路径。 Vagrant官方地址:https://www.vagrantup.com/ 。 安装好Vagrant后,可以在Terminal中输入vagrant version,便会输出当前安装的Vagrant版本信息。 初始化虚拟机 我们在某个空文件夹下,调出Terminal,并输入vagrant init centos/7 当初始化成功之后,会在当前目录下自动生成一个Vagrantfile配置文件。 你可在这里:https://portal.cloud.hashicorp.com/vagrant/discover 找到你想要的系统。 我们启动刚刚安装好的VirtualBox软件,可以看出目前是没有任何虚拟机。 我们再次回到Vagrant初始化虚拟机的Terminal中,继续输入vagrant up命令,用于启动虚拟机。 当我们转过身,去看VirtualBox,明显有一个虚拟机正在运行。 连接到虚拟机 我们可以在当前Terminal中,键入vagrant ssh进入虚拟机,默认是vagrant用户。 可是有时在Linux安装软件时,是需要root权限的,那么,总得使用root来操作吧! sudo passwd root 再输入两次密码后,便可以使用su root切换到root用户了。 退出虚拟机 可是使用logout退出虚拟机,回到宿主机。 关闭虚拟机 在回到宿主机下,方能使用vagrant的所有命令。 vagrant halt 配置私有网络(内部网络/局域网网络) 在虚拟机搭建起的服务,总得需要外部来访问吧,这其中当然就包括宿主机,所以,就需要就知道虚拟机的IP地址。 我们打开前面用Vagrant init初始化的虚拟机,自动为我们生成了一个vagrantfile配置文件。 打开注释。 config.vm.network "private_network", ip: "192.168.33.10" 还需配置一个使用频繁的文件传输功能,毕竟,我们在宿主机开发的程序,需要传输到虚拟机进行部署调试,那么,宿主机与虚拟机之间的文件传输就再所难免,在使用过VirtualBox 或VMware等虚拟化工具时,文件传输总是令人头疼。然而,Vagrant通过文件夹映射,实现了宿主机与虚拟机之间能很好的进行文件传输。 还是在vagrantfile配置文件中,去掉文件夹间的映射前的注释。 config.vm.synced_folder "./data", "/vagrant_data" ./data是在宿主机下的文件夹,也就是与vagrantfile配置文件同属一个路径下。 /vagrant_data是虚拟机内的文件夹。
2024-08-24
[虚拟机]