在学习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
以上例子只是参考,不代表绝对;主要看中的是 思想思路
好的学习思想思路 就是技术人员的灵魂~
https://blog.51cto.com/liubao0312/1699492