如何将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 的升级版本,它是作为一共软件升级安 ...
随机推荐
- Android调试优化篇
为了开发出商业级的应用程序,大规模的測试是不可避免的,同一时候为了提高应用程序的执行速度,须要进行必要的优化.在Android中.提供了丰富的调试与优化工具供开发者应用,主要包含模拟器和目标端等两种场 ...
- Android DrawerLayout 抽屉
Android DrawerLayout 抽屉 DrawerLayout 在supportV4 Lib在.类似的开源slidemenu如,DrawerLayout父类ViewGroup,自定义组件基本 ...
- 简单的反射 把datatable 转换成list对象
/// <summary> /// 把datatable 转换成list对象 /// </summary> /// <typeparam name="T&quo ...
- Oracle集合操作函数:Union、Union All、Intersect、Minus
Union.对两个结果集进行并集操作.不包含反复行,同一时候进行默认规则的排序: Union All.对两个结果集进行并集操作,包含反复行.不进行排序: Intersect,对两个结果集进行交集操作. ...
- 使用WPF创建无边框窗体
一.无边框窗口添加窗口阴影 实际上在WPF中添加无边框窗口的窗口阴影十分简单. 首先,设置WindowStyle="None"以及AllowsTransparency=" ...
- define a class for a linked list and write a method to delete the nth node.
1.问题 define a class for a linked list and write a method to delete the nth node. 2.算法 template <t ...
- Nginx得知——Hello World模
Hello World HTTP模 1.构造config ngx_addon_name=ngx_http_mytest_module HTTP_MODULES="$HTTP_MODUL ...
- 简单的虚拟摇杆控制移动(NGUI)
一.用NGUI创建虚拟摇杆贴图 先创建一个sprite作为背景叫做JoyStick 并添加一个BoxCollider,再创建一个sprite child作为虚拟摇杆中间的按钮,叫做button 二.通 ...
- leetcode第一刷_Minimum Path Sum
能够用递归简洁的写出,可是会超时. dp嘛.这个问题须要从后往前算,最右下角的小规模是已知的,边界也非常明显,是最后一行和最后一列,行走方向的限制决定了这些位置的走法是唯一的,能够先算出来.然后不断的 ...
- 系统如何端子app弄root才干
最近由于调试USB OTG怪东西.这导致USB端口被占用,这项.虽然我是project版本号,但不能运行adb shell,这是不可能的debug该. 所以,我现在是一个系统终端apk,规划 http ...