在学习linux技术的前2年里,相信很多人都或多或少的走过很多弯路;现如今互联网技术发展迅速,如何才能有利的找到自己的着重点学习它(linux)呢?其实这并不难,难的只是学习它的人选择性太多了。

        自2012年第一次接触linux运维这个工作时,几乎都是什么都想学 可又什么都学不下去; linux运维 这个职位的定义 要会的东西很多,其中包括:web层、缓存层、数据库层、存储层等等很多的方方面面;然而这些确实对于我这样一个初学者来说 简直就是乱七八糟的 ,这不比上学的各种课本容易; 但最终所有的技术永远都围绕一个点来出发,那就是 基础 ,正所谓 基础不牢 地动山摇,下面我就来说说自己总结的一套学习体系:

        1、首先确定自己所在的公司都用到了哪些技术;

        2、关注现代社会互联网的新技术(这里的新技术 并不是都要学习的);

        3、在技术种类繁多的情况下,挑选对自己工作有利的 和 未来前景趋势较大的;

        4、结合上面的 做一次阶梯性的筛选 优先级;

举个例子说明:

     比如我们公司(一家小公司,规模人数:50人左右)所用到的技术有如下几个点,nginx(做负载均衡)、tomcat(多实例)、redis(持久化数据库)、MC(memcache做缓存)、activeMQ(消息队列)、mysql(后端数据库) 这几个点是目前我们公司线上环境用到的,自己线下环境 可自由扩展来学习 这里就不说了

现在炒的比较多的技术又有哪些呢?

       docker(容器技术)、openstack(私有云技术)、hadoop、MongoDB、python 等等;

最后在结合一下社会技术的归属点: 

        java 环境  =======   hadoop 、tomcat(中小企业最常用)、resin(大中型企业常用) ;

        web层  =======   nginx、tomcat、php、resin  【apache这里没有提,不是不用 而是用的越来越多的还是nginx】

        数据库  =======   mysql、oracle、MongoDB、redis 

        .........

        .........

        其他技术就不说了,只说这个先;

有了上面的列表,咱们大概也就有了一些清晰的思路 如何来学习自己需要的技术了;

最个优先级的排比:

    运维: web(nginx、tomcat)、mysql、redis、MongoDB、MQ(学习至少2种:所在公司使用的 和 普通公司用的最多的,比如metaQ)

    开发: web(tomcat)、mysql、redis、javaEE、css等等

    DBA:mysql、MongoDB、redis、MC


以上例子只是参考,不代表绝对;主要看中的是 思想思路


好的学习思想思路 就是技术人员的灵魂~


这里就说这么多,如有好的建议 还请广大撸友们多多提议,小弟不胜感激!!!