Linux运维好还是redis开发与运维下载好?

用户名:Jacken_yang
文章数:98
评论数:76
访问量:151715
注册日期:
阅读量:1297
阅读量:3317
阅读量:584441
阅读量:469844
51CTO推荐博文
&&&&&&&&本人是linux运维工程师,对这方面有点心得,现在我说说要掌握哪方面的工具吧。说到工具,在行外可以说是技能,在行内我们一般称为工具,就是运维必须要掌握的工具。我就大概列出这几方面,这样入门就基本没问题了。linux系统如果是学习可以选用redhat或centos,特别是centos在企业中用得最多,当然还会有其它版本的,但学习者还是以这2个版本学习就行,因为这两个版本都是兄弟,没区别的,有空可以再研究一下SUSE,有些公司也喜欢用,例如我公司 。。。。。工具如下:1、linux系统基础,这个不用说了,是基础中的基础,连这个都不会就别干了,参考书籍,可以看鸟哥linux基础篇,至少要掌握这书60%内容,没必须全部掌握,但基本命令总得会吧2、网络服务,服务有很多种,每间公司都会用到不同的,但基础的服务肯定要掌握,如FTP, DNS,SAMBA, 邮件, 这几个大概学一下就行,LAMP和LNMP是必须要熟练,我所指的不是光光会搭建,而是要很熟悉里面的相当配置才行,因为公司最关键的绝对是WEB服务器,所以nginx和apache要熟悉,特别是nginx一定要很熟悉才行,至少有些公司还会用tomcat,这个也最好学一下。其实网络服务方面不用太担心,一般公司的环境都已经搭建好,就算有新服务器或让你整改,公司会有相应的文档让你参照来弄,不会让你乱来的,但至少相关的配置一定要学熟,而且肯定是编译安装多,那些模块要熟悉一下他的作用,特别是PHP那些模块。这面2点只是基础,也是必要条件,不能说是工具,下以才是真正的要掌握的工具。3、shell脚本和另一个脚本语言,shell是运维人员必须具备的,不懂这个连入职都不行,至少也要写出一些系统管理脚本,最简单也得写个监控CPU,内存比率的脚本吧,这是最最最基本了,别以为会写那些猜数字和计算什么数的,这些没什么作用,只作学习意义,写系统脚本才是最有意义,而另一个脚本语言是可选的,一般是3P,即python, perl和php,php就不需要考虑了,除非你要做开发,我个人建议学python会比较好,难实现自动化运维,perl是文本处理很强大,反正这两个学一个就行了。4、sed和awk工具,必须要掌握,在掌握这两个工具同时,还要掌握正则表达式,这个就痛苦了,正则是最难学的表达式,但结合到sed和awk中会很强大,在处理文本内容和过滤WEB内容时十分有用,不过在学shell的同时一般会经常结合用到的,所以学第3点就会顺便学第4点。5、文本处理命令,sort , tr , cut, paste, uniq, tee等,必学,也是结合第3点时一并学习的。6、数据库,首选mysql,别问我为什么不学sqlserver和oracle,因为linux用得最多绝对是mysql,增删改查必学,特别要学熟查,其它方面可能不太需要,因为运维人员使用最多还是查,哪些优化和开发语句不会让你弄的。7、防火墙,不学不行,防火墙也算是个难点,说难不难,说易不易,最重要弄懂规则,如果学过CCNA的朋友可能会比较好学,因为iptables也有NAT表,原理是一样的,而FILTER表用得最多,反正不学就肯定不合格。8、监控工具,十分十分重要,我个人建议,最好学这3个,cacti,nagios,zibbix,企业用得最多应该是nagios和 zibbix,反正都学吧,但nagios会有点难,因为会涉及到用脚本写自动监控,那个地方很难。9、集群和热备,这个很重要,肯定要懂的,但到了公司就不会让你去弄,因为新手基本不让你碰,集群工具有很多,最好学是LVS,这是必学,最好也学学nginx集群,反向代理,还有热备,这个就更多工具能实现了,像我公司是自己开发热备工具的,mysql热备也要学,就是主从复制,这个别告诉我容易,其实不容易的,要学懂整个流程一点也不容易,只照着做根本没意思。10、数据备份,不学不行,工具有很多,但至少要把RAID的原理弄懂,特别是企业最常用的1+0或0+1,自己做实验也要弄出来,备份工具有很多,如tar, dump, rsync等,最好多了解一下。算了,说到这10点已经够你受了,应该可以入门了,因为有些技术会比较难学,例如apache和nginx中还有些很重要的技术,如系统调优和服务优化,还有程序优化,这些在没接触工作前很难学习到的,所以先把这10点学了吧,估计要学熟至少3个月不止,就脚本那部分已经让你很吃力了,我建议是先学熟shell,等工作后再学另一门脚本语言,这样会比较好。以上就是踏入linux运维工程师需要掌握的工具,其实还有很多工具要掌握的,但你在学习环境中是很难学到,最后我再提醒一下,这里所指的工具相当于技能,而不是像windows或ubuntu那些图形化工具,那些工具没用的,还有,学linux就别装图形界面,这样虚拟机就不用吃太多内存,而且绝对不建议在真机上装linux,这样只用于装B用,根本达不到学习效果。#####################################################################################&&&&曾经在一年多前写了一篇关于要成为linux运维需要掌握哪些技能和工具的贴子,然后不小心被好几个网友抄袭转发到其它网站上,当然有些是认识的,最后还很幸运地被某些热心的学习者把那段内容剪下来当作圣经般的参考,为此我很感动,为了报答一些热心学习linux的朋友,下面本人将推出第二版介绍linux运维需要掌握的技能文章。&&& 首先,咱们先讨论什么是运维,很多人完全不懂运维是干什么的,只知道学linux,但总有个目的吧。这样吧,咱们区分一下学linux能干什么工作为主,一般分为维护类和开发类,开发类就是底层开发偏多,还有嵌入式,底层开发就是C了,一般是linux C开发,这个需求量不大,虽然工资比较高,但难度实在高,反正不是每间公司都有这些岗位,而嵌入式这个简直是高端技术活,懂这个直接无视我这个文章啦。所以我们既然不是做开发的,那么就做维护方面,就是linux运维这岗位了。具体运维是做什么呢,从字面意思:运行维护,就是公司服务器的运行与维护,但如果只是这么想,其实是不太对的,保障服务器的运行与维护,有些人会理解成硬件方面,那就是网络运维,咱们学的内容是应用方面的,简称是应用运维,而应用就在平台上,什么叫平台呢,这个大家从工作中就会明白,这些就不多解说了。下面开始说说要掌握什么技术 这个传送门贴子基本包含了运维需要掌握的技术,其实我也没需要再补充什么,因为学得越多,能掌握的其实就越少,你总不可能天天学一大堆东西都能完全掌握吧,而每间公司可能才那么需要几个技术点就够了,其它你学过的技术点没一会就忘记了,这是人之常情,你的大脑不是硬盘,用一会就容易忘记的,不可能长期都会记得住的。下面介绍一下怎么才算掌握到这个技术点?&有些人会以为,我懂部署这个软件,设置这个功能,我就学会了,例如我会部署LAMP,LNMP,我就很牛了,特别有很多种部署方法我都掌握,或者我能写个脚本一键去安装部署,以为很厉害,其实我只能说句,这只是入门级别,在一些面试官眼中,这简直是不值一提的技术,部署什么服务什么的,难听点说句,找个网管上网随便搜索篇文章对着弄就行了,有何难度,而且你去到公司里,很多平台架构都弄好了,还需要你去装什么LAMP吗,一定要明白这个道理,懂安装懂配置什么的,只是基本功,并不是说你对LAMP很熟很了解,其实你是不了解,从大学或培训机构里学的都是部署环境之类的技术,其实根本就不懂怎么去应用这个环境架构,例如公司要求对某个功能进行安全加固,在apache里有这个模块,添加后还需要配置,然后日常的维护又需要去操作,还有apache的日志格式需要输出带有session id的格式,这些需求你真的懂吗,不是单单会部署会安装就以为学会,其实LAMP是很难的,不是你想象中那么简单。&不要把每件事看得很简单,在学习过程中,大家会以为使用这个软件基本功能就以为学会了,其实当工作后,需要对这个软件学得比较精通,才叫真正掌握到,例如监控软件zabbix或nagios,你在学习时可能只是懂安装和简单的配置,但里面有些复杂的功能,你还需要去慢慢了解,如像trigger这些比较难又不好理解的功能等。&每当面试时,需要说出你的优点是什么,其实简单点说,拿出你的亮点,不是说我懂这个软件的安装和配置,这些都是零分,例如我懂得怎么优化这软件,怎么深入操作这软件等。&大家其实把linux理解成windows就行了,只是换成命令行操作罢了,运维都是要掌握各式各样的软件,就像你用windows办公,是不是要装office,输入法,浏览器,杀毒软件等,其实道理和概念是一样的,不要把linux当作很高端的样子。&最后,我说说运维的真正核心技能,那些什么安装部署环境等,全部都可以下个文档去对照操作,这些操作别说网管,连开发都可以代替你去做,所以运维一定要掌握有价值的技术,才能体现出价值,要让开发和网管是无法代替到的,下面我说说入门级的:&监控软件,这个就算是网管和开发都难以掌握,主要是配置复杂,他们没心去弄,而且监控是运维的重要职责,当然还得看公司资源问题,监控常见的有很多,但最常用还是nagios,zabbix,cacti这三款,其实把这三款学熟是件不容易的事,别以为部署出来能配置一些简单的监控项就代表会监控了,绝对不是那么简单的,你看看zabbix就知道了,我曾经做过一个zabbix二次开发的项目维护,那个难度不是一般的高,而且功能又多又难搞,绝不是什么培训机构1-2天就教会的,这是不可能的。&其次就是shell脚本,这是运维的核心技能,也是必需要掌握的,如果不掌握脚本能力,你就别做了,甚至你根本就做不了,面试官一见你连简单的脚本都写不了,直接不要。&那有些人就怕了,我的编程能力很差,真的写不出啊。其实谁的编程能力会强,除非是天生头脑特灵活的人,否则其实大家的水平都不会相差太远,脚本比开发语言简单得多了,只是大家没遇到一些案例和需求,所以是写不出来,这个是需要慢慢去练习的。&核心技能是这2个为主,然后有加分的,例如掌握python和perl和php,当然,对于一个刚入行的人来说,这基本不太可能了,一来是精力没太多,二来是时间没有,这个只能入行后再去学习。&下面说说运维在工作中需要掌握的技术,注意,这是在工作中掌握的,在学习过程中是比较难掌握的&一共四大方面:1、排错;2、优化;3、数据库;4、开发语言,第5必须的,就是运维意识,相当重要&第1点和第2点都需要经验去支持,这个没经验你根本不知道排错和优化是怎么搞,在学校和培训机构各种吹虚里,根本就不可能掌握到,这不是说你安装什么软件时遇到错误能解决那些,那种虽然也叫排错,但只是基础级别,真正的排错是指平台出故障,让你去分析与处理,而出现的错误会各式各样,而且涉及的范围也很广,所以这个是需要经验去支持的。&第2点优化更是个大问题,基本没经验是弄不了,别以为培训机构会教1-2天优化课程就掌握了这技术,这是不可能的,优化可以说是运维最吃香的技能,但也是最高难度的,因为涉及的知识面很广而且还需要很深入了解,优化是有风险,不是随便在网上搜个文章对着改一下配置文件参数或系统参数就优化了,这是乱来有风险的,甚至怎么样才算有效优化,我也不想说,因为对于没入行的人来说是很难去理解。&第3点数据库,也是运维加工资的重要核心技能,有些公司的运维可能接触不到数据库,其实运维的加工资技能要么就是开发,要么就是数据库,如果这2点都不会,那么就是个比网管高级点的打杂罢了,相对于数据库来说,运维的操作还是会有的,而且还昔昔相关,一但操作失误又无法回滚,你就真的要滚回家了。&第4点开发语言,就是上面所说的,要懂PYTHON或PHP,至于学这个干麻,这个我也不好说,要解释又一大段话,只能说现在都存在这个需求,特别是python,你会发现公司招聘时有这个需求,但真正工作时又不需要用,其实不是这个意思,python是自己想用就用,而不是公司要求你用,例如你去完成一个很麻烦的操作,而shell可能无法满足你或者效率很低,那么你就需要用python去满足,这是自己需求使用的,跟公司无关,但就能体现出你的价值了。&而第5点是每个运维都必须的,意识是很重要,并不是你技术很牛,学的技术很多很熟,就不代表你不需要运维意识,其实领导很看重运维意识的,例如有没有做好备份,权限分配问题,平台测试情况,故障响应时间等,这些都是意识,而不是你学了很多技术自认大牛了,平台发现故障你又没什么大不子,以为很简单的问题喜欢处理就处理,不需要向其它部门反馈等,领导不是看你的技术如何,而是看你的运维意识如何,你没运维意识,技术再牛也没用,只会让其它部门的人跟你不协调。&大概就说到这吧,今年我的目标是把数据库学熟,然后转DBA,然后再加个PY,要知道做IT这行是苦B的,需要无尽的学习,不学习只会被淘汰,不想被年轻的淘汰,就只能不断增值自己,不然不是你工资无法提升,而是你无法再从事这行,希望这篇文章能帮到大家.博文原链接:作者个人博客:
了这篇文章
类别:┆阅读(0)┆评论(0)
10:06:26 12:47:40 14:52:45 16:26:49 16:41:03 17:25:52 17:27:26对于零基础来说,学安卓开发好?还是linux运维好?
本人算的上是完全的小白零基础,不是计算机专业的,数学也挺渣的,论难度上,前景上,综合考虑哪个更好一点呢,我打算报个培训班,不知道能不能跟上听得懂。。求大神解答呀 ,惆怅~~~~~~~~~~~~~~~~~~~~~~~~~~~~网友回复:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~网友回复:
为啥不买本书下载些视频自学呢?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~网友回复:
【对于零基础来说,学安卓开发好?还是linux运维好?】
请将本文分享给你的朋友:
对于零基础来说,学安卓开发好?还是linux运维好? 的相关文章
------分隔线----------------------------
北京联盟郑重声明:本文仅代表作者个人观点,与北京联盟无关。其原创性及文中陈述内容未经本站证实,北京联盟对本文及其中全部或者部分内容的真实性、完整性、及时性不作任何保证和承诺,请网友自行核实相关内容。随笔- 112&
&&&&&&&&&&&
linux运维发展常见的就是下面两条路线:
第一条:运维应用--&系统架构--&运维开发--&系统开发
第二条:运维应用--&应用dba--&架构dba--&开发DBA
下面详细每个阶段的职位说明(以北上广为例):
01. 运维应用级别:
这个阶段就是玩别人的软件,例如:linux,nginx,mysql,php,nagios 大多数的linux运维工程师,网络工程师,系统工程师都是这个阶段。 这个阶段的工资平均3-10K。处在这个阶段的伙伴们要注意了。
这里属于金字塔的底端,工资是相对比较低的。
02. 系统架构级别:
这个阶段就是用已知软件架构大规模集群方案以及实现各种技术方案
这个就是所谓的系统架构师,如果是程序开发就是程序架构师。
这个阶段的工资平均10K-30K,属于运维应用上层,需要靠技术,
沟通,思想三条线通力配合才能达到这个水平。
03. 运维开发级别:
这个阶段就是利用已知语言,开发基本的应用层工具,例如:web管理系统
这个阶段的平均工资大概10-30K,如果具备前两个运维应用和系统架构的积淀,
那么工资30-60K很轻松。
04. 系统开发级别:
这个阶段就是修改开源的软件,或者开发新的服务软件(例如:也开发一个web软件,存储软件)与底层软件(例如:OS)
这个阶段的平均工资大概20-60K,如果具备前两个运维应用和系统架构的积淀,工资更高!
05. 数据库管理和架构:
这个阶段就是也主要是玩别人的软件,但是由于数据相对更重要,所以工资要一些。
数据库也需要架构,所以数据库的高级阶段工资也会较高,数据库开发职位不多,就不说了。
这个阶段的工资平均10K-40K。要求至少第一层运维应用的能力。其他能力有就是加分。
阅读(...) 评论() &搞Linux运维的,需要学习些什么语言?
要评论问题请先或
- What's the fucking is going on?
赞同来自: 、、
要参与问题请先或
- Do all in command line
赞同来自: 、
要参与问题请先或
要参与问题请先或
- IT老兵一枚!
要参与问题请先或
- 图书馆的IT人
要参与问题请先或
- 理工小强
要参与问题请先或
- Where amazing happens!
要参与问题请先或
- Shell 版主
要参与问题请先或
要参与问题请先或
- 80后it男
要参与问题请先或
- 这个代码有点难
要参与问题请先或
- 喜欢产品设计 喜欢捣蛋新技术的程序员
要参与问题请先或
- just do it 屌丝做it
要参与问题请先或
- 视频托管 视频服务
要参与问题请先或
要参与问题请先或
要参与问题请先或
要参与问题请先或
- 无线爱好者
要参与问题请先或
- 风雨无阻,继续前行
要参与问题请先或
要参与问题请先或
- 回避现实的人,未来将更不理想
要参与问题请先或
浏览: 12785
关注: 18 人

我要回帖

更多关于 开发运维一体化 的文章

 

随机推荐