如何将linux用在开发环境中的
如何将linux用在开发环境中的
1.我为什么要写这篇文章
一直想深入学习一下linux的使用,于是将家里的笔记本装了linux系统,但是要将自己的系统打造一个适合开发的环境确实是一件费心费力的事,而且会经常出现一些莫名其妙的问题,以我自己的使用经验觉得要想用linux做开发环境,你要了解每个软件,不然出现一些问题就很难解决,其他不说,就是光搞好驱动问题就让人蛋疼了。
我的电脑装了linux之后一直高温不下,在网上找了一些方法,关掉独显也好不了多少,开机2个小时温度就飙到70-90度,试过很多发行版,debian,ubuntu,centos,fedora均没解决问题,至于那些gentoo之类的光看评论就吓尿了,每次都要折腾好久的驱动问题,还有些系统的源都被党国屏蔽了,如果要将驱动,开发环境,办公使用的软件折腾完真的是一件费心费力的事,而且只能使用web qq, wineqq还是那么老的版本也不好用, bclode经常登录不上去,报未知错误,由于工作的需要,我注定不适合完全linux办公环境。但是作为一个程序员linux的使用和排错能力还是要有的,于是我今天就分享我使用的方式。
2.windows + 虚拟机
在虚拟机里面装linux是很普遍的,我很多同事为了学习就在虚拟机里面装了linux,没事的时候倒腾两下,但是并没有用到实际工作中去,于是我就想为何不将我们的代码,服务放到linux虚拟机里面去,然后用windows访问里面的服务,代码可以在windows下开发,部署放到linux里,我觉得这样做有以下好处:
1.跟生产环境同步,保证自己的代码可以在linux下运行。
2.移植方便,直接把虚拟机文件打包考到另外一台电脑上面就可以使用了。
3.定期可以将虚拟机文件放到云盘中,等于备份了系统,随时还原 (但是文件太大上传有点麻烦,备份到硬盘倒是很方便的)
4.因为linux用到开发中了,经常玩肯定能学到东西,这个就不用说了。
3.实现
在网上看了各种虚拟机比较,当然还是VMware比较好,而且提供了VMvare-tools,共享文件夹,共享网络都很好,共享的文件夹就挂载到了linux中,可以将开发的代码放到共享文件夹里面,这样linux就可以部署了,也不需要代码拷来考去,或者用svn更新什么的,就比较麻烦了。
我的方案是win7+centos7 因为生产环境使用的是centos,不过实际实现时有一些注意事项:
vmvare提供了3种网络共享的方式 桥接、NAT及host-only 具体有什么区别我就不说了,自己查吧。一般都是使用桥接,这样虚拟机就相当于一台独立的机器,其他机器就可以访问虚拟机里面的服务,但是我工作的公司因为每台电脑都要进行mac登记才能上网,所以我不得不选择nat方式,nat方式不需要什么设置,比较简单,但是主机无法访问虚拟机里面的服务,后来在网上找到解决的方法就是做端口映射。上图:

如图:
通过本机的800端口来访问虚拟机里面的80端口,实现也很简单,只需要在虚拟机里面做一个端口映射就可以了。
在vmware里的 编辑->虚拟网络编辑器-> 选择nat模式 net设置->添加

然后保存就好了,如果不行还要做检查一下linux的防火墙,开放80端口。如果要让别人的电脑也能访问,还需要在windows防火墙设置一下。当然哥比较懒,因为开发的时候经常要给别人看,都是直接关闭防火墙。当然你也可以将数据库什么的都放到linux里面去,windows只装一些软件使用linux里面的服务。
但是用虚拟机如果要想不卡对电脑的配置还是要有要求的,我是8G内存,虚拟机开2G内存,开启虚拟机,IDE等工作软件基本要占用80%-90%的内存,使用还是比较流畅的,也可以将虚拟机后台运行,只使用它的服务就好了。
如何将linux用在开发环境中的的更多相关文章
- 将linux用在开发环境中
我是如何将linux用在开发环境中的 1.为什么不直接安装Linux在主机 一直想深入学习一下linux的使用,于是将家里的笔记本装了linux系统,但是要将自己的系统打造一个适合开发的环境确实是一件 ...
- 我是如何将linux用在开发环境中的
1.我为什么要写这篇文章 一直想深入学习一下linux的使用,于是将家里的笔记本装了linux系统,但是要将自己的系统打造一个适合开发的环境确实是一件费心费力的事,而且会经常出现一些莫名其妙的问题,以 ...
- Idea开发环境中搭建Maven并且使用Maven打包部署程序
1.配置Maven的环境变量 a.首先我们去maven官网下载Maven程序,解压到安装目录,如图所示: b.配置M2_HOME的环境变量,然后将该变量添加到Path中 备注:必须要有JAVA_HOM ...
- Linux设备驱动开发环境的搭建(转)
经过两周的摸索,终于对Linux设备驱动开发有了个初步的认识,下面对Linux设备驱动开发环境的搭建做个小结,以方便自己以后查询,同时也能给同道的初学者一点帮助. 刚接触Linux设备驱动时,初学者往 ...
- Unix/Linux环境C编程新手教程(12) openSUSECCPP以及Linux内核驱动开发环境搭建
1. openSUSE是一款优秀的linux. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaXRjYXN0Y3Bw/font/5a6L5L2T/font ...
- Unix/Linux环境C编程入门教程(12) openSUSECCPP以及Linux内核驱动开发环境搭建
1. openSUSE是一款优秀的linux. 2.选择默认虚拟机 3.选择稍后安装操作系统 4.选择linux opensuse 5. 选择默认虚拟机名称 6.设置处理器为双核. 7.内存设置为2 ...
- 【课程分享】深入浅出嵌入式linux系统移植开发 (环境搭建、uboot的移植、嵌入式内核的配置与编译)
深入浅出嵌入式linux系统移植开发 (环境搭建.uboot的移植.嵌入式内核的配置与编译) 亲爱的网友,我这里有套课程想和大家分享,假设对这个课程有兴趣的,能够加我的QQ2059055336和我联系 ...
- wxWidgets 的 Linux / Windows 混合开发环境
目标 建立一个开发 GUI 交互界面程序的环境,要求: 以 C/C++ 为主要程序设计语言. 最好能充分利用已有的 MFC 开发经验. 以 Linux 为主要开发环境.可以在 Windows 中编译并 ...
- 在 Linux 平台及 IPv4 环境中构建 IPv6局域网 测试环境
在 Linux 平台及 IPv4 环境中构建 IPv6 测试环境 1 IPv6简介 IPv6(Internet Protocol Version 6)作为 IPv4 的升级版本,它是作为一共软件升级安 ...
随机推荐
- SpringSecutiry权限管理手册
SpringSecutiry权限管理手册: 请见以下URL: http://www.mossle.com/docs/auth/html/preface.html Spring Security 参考文 ...
- Arrays.asList()
1.数组--->List String[] ss={"abc","def","xyz","aaaaaaaa",&q ...
- HBase系列文章汇总
本文整理汇总了本博客自去年学习HBase以来写的全部关于HBase的相关内容.持续更新中,很多其它内容.敬请关注! 相关知识: 1.<布隆过滤器(Bloom Filter)> 2.< ...
- MyEclipse每次修改js有另一种部署
今天在做时间格式显示这块内容的时候.我改动了这个js函数,同一时候凝视的掉了其它的一些替换的方法,可是在浏览器中执行发现效果一点也没有改变.于是debug js,发现浏览器中识别的还是之前未改动的js ...
- 更新代码和工具,组织起来,提供所有博文(C++,2014.09)
为了更容易地管理各种规范和工具所涉及的资源鲍文,现在把这些资源迁移 GitHub 在,趣者可前往下载. C++ 1.<通用高性能 Windows Socket 组件 HP-Socket v3.2 ...
- 带项目的一些体会以及合格的 Leader 应该具备什么特质?(转)
许多项目有这样几种 Leader: 1. 泛泛而谈型 很多时候 Leader 仅仅给出一个大方向,提一些高屋建瓴的理论方向,事情还是交由普通开发人员去做.完了可能又会回头埋怨开发人员的水平不行,没有达 ...
- 宝更容易使用比读IC卡信息的工具
编程语言:VC++ 更新时间:2014.10.23 操作系统:windowAll 工具:PCSC读卡器 在上一个博文<<解惑:NFC手机怎样轻松读取银行卡信息?>>中,介绍了支 ...
- 读书时间《JavaScript高级程序设计》四:BOM,客户端检测
隔了一段时间,现在开始看第8章. 第8章:BOM BOM提供了很多对象,用于访问浏览器的功能.BOM的核心对象是window,它表示浏览器的一个实例. window对象是通过javascript访问浏 ...
- CSS十问——好奇心+刨根问底=CSSer (转)
最近有时间,想把酝酿的几篇博客都写出来,今天前端小学生带着10个问题,跟大家分享一下学习CSS的一些体会,我觉得想学好CSS,必须保持一颗好奇心和刨根问底的劲头,而不是复制粘贴,得过且过.本人能力有限 ...
- ti8168 eth0 启动
ti8168 原始文件系统进去后没有网络eth0接口,为了有该接口须要配置/etc/network/interfaces 文件 详细配置例如以下(红色要配置) # /etc/network/inter ...