安装linux工作环境
1,介绍Vagrant
我们做web开发的时候经常要安装各种本地测试环境,比如apache,php,mysql,redis等等。出于个人使用习惯,可能我们还是比较习惯用windows。虽然说在windows下搭建各种开发环境是可行的,各大开发环境都有windows版本。然而在windows下配置有时候会显得繁琐,并且还会导致开发环境(windows)和生产环境(lunix)不一致。
能不能在windows下也像linux那样开发?也许你想到了,用虚拟机。用虚拟机装个linux系统就好了。装完linux系统就设置共享目录,设置网络端口映射,等等。好像也有那么点繁琐。
还有,假如我们是一个团队进行开发,那么每个人的电脑上都要装个虚拟机+ linux系统+各种运行环境。手动设置麻烦不说,大家的开发环境不太一致(可能你装了apcahe我装了nginx等),也是头疼。能不能把各种设置都自动化,并且保持整个团队的开发环境一致呢?
Vagrant就是为了解决这个问题而生的。它使用开源 VirtualBox 作为虚拟化支持,可以轻松的跨平台部署。
2,下载
下载VirtualBox:http://download.virtualbox.org/virtualbox/4.3.28/VirtualBox-4.3.28-100309-Win.exe
上面给出的是4.3.28版本的下载链接。要下载其他版本请访问官网https://www.virtualbox.org/wiki/Downloads
下载Vagrant:
https://dl.bintray.com/mitchellh/vagrant/vagrant_1.7.2.msi
上面给出的是1.7.2版本的下载链接。要下载其他版本请访问官网
http://www.vagrantup.com/downloads.html
下载虚拟镜像:
https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.0.0/centos-6.6-x86_64.box
上面给出的是centos-6.6镜像下载链接,要下载其他镜像请访问官网
http://www.vagrantbox.es/
3,安装
下载好上面的软件包后,先安装VirtualBox,然后安装Vagrant。都是双击即可安装的,所以没什么好介绍。下面介绍下怎么把镜像导入。
先新建一个工作目录
比如我新建了D:VagrantWorkcentos-6.6-x86_64
打开cmd命令提示符,进入新目录,以我上面的目录为例,输入
D:
cd D:VagrantWorkcentos-6.6-x86_64
然后输入命令初始化
vagrant init centos6.6
把下载的centos-6.6-x86_64.box复制到本目录D:VagrantWorkcentos-6.6-x86_64下,执行
vagrant box add centos6.6 centos-6.6-x86_64.box
检查是否导入成功
vagrant box list
4,配置
用文本编辑器打开D:VagrantWorkcentos-6.6-x86_64目录下的Vagrantfile文件便可以进行一些常用配置。
下面列举出几个常用的配置。要用到其他配置请访问官网文档或者百度谷歌一下。
1,端口映射
config.vm.network :forwarded_port, guest: 80, host: 8080
把上面这句代码前面的#号去掉。它表示映射本机的8080端口到虚拟机的80端口
2,如果需要自己自由的访问虚拟机,但是别人不需要访问虚拟机,可以使用private_network,并为虚拟机设置IP。
config.vm.network :private_network, ip: 192.168.33.10
把上面这句代码前面的#号去掉即可
3,目录映射
config.vm.synced_folder "D:/www", "/var/www/html"
如果启用上面的命令,表示把本机的data目录共享到虚拟机里的/var/www目录
5,启动
进入目录D:VagrantWorkcentos-6.6-x86_64后执行命令
vagrant up
虚拟机启动之后则可以通过 vagrant ssh 联入虚拟机进行进一步的环境配置,或者软件安装相关的工作,在Windows系统下,并不能直接通过 vagrant ssh 连到虚拟机,需要使用 Putty,Xshell 等第三方工具进行连接。连接地址127.0.0.1,端口2222。登录的帐号root的密码为 vagrant
6,导出
在cmd里进行工作目录后,执行下面命令
vagrant package
完成后会在当前目录就会生成package.box,之后新建虚拟机则可使用这个box。如果事先在你的虚拟机里建立好了各种开发环境,那么你直接把这个box给你的团队其他成员安装,这样就可以省去一台台电脑部署的时间,还可以保持开发环境一致。很方便有木有。
7,其他命令
下面列举出一些常用的cmd操作命令
vagrant up (启动虚拟机)
vagrant halt (关闭虚拟机——对应就是关机)
vagrant suspend (暂停虚拟机——只是暂停,虚拟机内存等信息将以状态文件的方式保存在本地,可以执行恢复操作后继续使用)
vagrant resume (恢复虚拟机 —— 与前面的暂停相对应)
vagrant box remove centos6.6 (移除box,其中centos6.6是box名)
vagrant destroy (删除虚拟机,删除后在当前虚拟机所做进行的除开Vagrantfile中的配置都不会保留)
安装linux工作环境的更多相关文章
- PHP入门:在Windows中安装PHP工作环境
PHP入门:在Windows系统中分别安装PHP工作环境 一.什么是LAMP? Linux+Apache+Mysql+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是 ...
- 在Windows下食用Linux工作环境(WSL+cmder)
在Windows下食用Linux工作环境(WSL+cmder) 为什么要这么瞎搞呢?因为最近换了个硬盘,搞了个双系统,然后习惯性地按下 Ctrl+Alt+T 发现什么都没有召唤出来,然后忽然想起换了系 ...
- Linux工作环境:CentOS7最小安装+Xfce桌面环境
ref: https://blog.csdn.net/smstong/article/details/44802989 3.1 执行CentOS7 最小安装去官网下载CentOS-7.0-1406-x ...
- Linux工作环境搭建
云主机工作环境搭建 网易云主机 需要申请弹性公网IP,不然需要OpenVPN才可以链接. 低于50块钱时,不能进行云主机创建. 更新yum源 cd /etc/yum.repos.d/ mkdir re ...
- docker 安装linux centos 环境
如何在centos7中使用docker创建一个支持ssh连接的容器 以下内容已有现成的,这里借用下这哥们的帖子https://www.cnblogs.com/caidingyu/p/10642158. ...
- 使用VMWare虚拟机创建CentOS版本号的Linux学习环境(每一步都有截图与说明)
学习Android开发.假设不学习Linux的基本使用,总感觉心里过意不去,由于毕竟Android还是搭载在Linux的基础之上的. 因此.学习一种Linux系统的基本操作.对我们以后的学习还是非常有 ...
- Linux/CentOS环境下如何安装和配置PhantomJS工作环境
PhantomJS 是一个基于WebKit的服务器端 JavaScript API.它全面支持web而不需浏览器支持,其快速,原生支持各种Web标准: DOM 处理, CSS 选择器, JSON, C ...
- 简简单单安装debian桌面工作环境
linux一般给人的影响是对使用者的要求偏高, 使用者需要自行配置很多相应的系统工作参数,因此,从一定的程度上阻碍了用户去使用它.而本文所介绍的是, 使用者完全可以消除这个障碍,非常简单地安装好自己的 ...
- 安装完CentOS 7 Minimal之后,从头打造桌面工作环境
安装完CentOS 7 Minimal之后,从头打造桌面工作环境 U盘装CentOS 7 DVD版不能引导的解决办法 更改root密码 SSH登录 增加除root之外的常规用户 装完CentOS 7之 ...
随机推荐
- JIT动态编译器的原理与实现之Interpreter3
JIT动态编译器的原理与实现之Interpreter(解释器)的实现(三) 接下来,就是要实现一个虚拟机了.记得编码高质量的代码中有一条:不要过早地优化你的代码.所以,也本着循序渐进的原则,我将从实现 ...
- Hadoop 统计文件中某个单词出现的次数
如文件word.txt内容如下: what is you name? my name is zhang san. 要求统计word.txt中出现“is”的次数? 代码如下: PerWordMapper ...
- 异常:failed for object com.sdu.crm.pojo.Customer@136a986 [java.lang.NullPointerException]
异常: failed for object com.sdu.crm.pojo.Customer@136a986 [java.lang.NullPointerException] 大家好,如果大家看到了 ...
- 如何在ASP.NET Core应用中实现与第三方IoC/DI框架的整合?
我们知道整个ASP.NET Core建立在以ServiceCollection/ServiceProvider为核心的DI框架上,它甚至提供了扩展点使我们可以与第三方DI框架进行整合.对此比较了解的读 ...
- CSS3样式linear-gradient的使用
linear-gradient linear-gradient是CSS3中新增的样式,主要用于颜色的渐变效果.MDN地址 linear-gradient在不同内核下使用方式不同,详细内容可参考w3cp ...
- (细节控)swift3.0与融云IMKIT开发问题(一部分) override func onSelectedTableRow Method does not override any method from its superclass
原官网文档方案如下,在swift3.0的情况下出现 override func onSelectedTableRow Method does not override any method from ...
- 浅谈 Linux
1969年,美国贝尔实验室的肯-汤普森在DEC PDP-7机器上开发出了UNIX系统. 1971年,肯-汤普森的同事丹尼斯-里奇发明了C语言:1973年,UNIX系统的绝大部分源 ...
- 软件各种版本的含义!例如RC,M,GA等等
RC版本 RC:(Release Candidate) Candidate是候选人的意思,用在软件上就是候选版本.Release是发行.发布的意思.Release.Candidate.就是发行 ...
- 首页导航点击A连接跳转并添加上背景色,
<style> ul li { float: left; height: 50px; width: 120px; color: white; text-align: center; mar ...
- CodeForces 721C Journey
$dp$,拓扑排序. 记$dp[i][j]$表示走到节点$i$,走过了$j$个点的最小时间,然后就可以递推了.要注意的是节点$1$的入度一开始不一定等于$0$. #pragma comment(lin ...