从苦逼到牛逼,详解Linux运维工程师的打怪升级之路
时间:2018-08-17 08:34 来源:网络整理 作者:墨客科技 点击:次
陈浩,北信源研发工程师,五年Linux运维工作经验,热衷运维技术研究、实践和团队分享。 运维工程师是从一个呆逼进化为苦逼再成长为牛逼的过程,前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感知前方潮流变化。如:今年大数据,人工智能比较火……(相对表示就是 Python 比较火) 之前写过运维基础篇,发现对很多人收益挺大,接下来也写下关于这4年多的运维实践经验,从事了2年多游戏运维,1年多安全运维,1年大数据运维,相关行业信息不能算非常精通,但是熟悉和熟练还是相对可以的。 初级篇linux运维人员常用工具拓扑详见: 1.rsync工具很多地方经常会用到rsync工具,实施几台服务器的同步效果。我们公司就是使用这个工具完成服务器的游戏的服务端和客户端同步,有几个文章例子: rsync 强化技术(手动修改端口开启防火墙的情况下)并且通过脚本只同步需要的服务器 inotify+rsync+mutt+msmtp 实现linux文件或者目录自动更新并且实现发邮件给管理员 2.网络服务服务有很多种,每间公司都会用到不同的,但基础的服务肯定要掌握,如FTP、DNS、SAMBA、邮件, 这几个大概学一下就行,LAMP和LNMP是必须要熟练,我所指的不是光会搭建,而是要很熟悉里面的相当配置才行,因为公司最关键的绝对是Web服务器,所以Nginx和Apache要熟悉,特别是Nginx一定要很熟悉才行,至少有些公司还会用Tomcat,这个也最好学一下。 其实网络服务方面不用太担心,一般公司的环境都已经搭建好,就算有新服务器或让你整改,公司会有相应的文档让你参照来弄,不会让你乱来的,但至少相关的配置一定要学熟,而且肯定是编译安装多,那些模块要熟悉一下他的作用,特别是PHP那些模块。 这面2点只是基础,也是必要条件,不能说是工具,以下才是真正的要掌握的工具。 Samba文件共享服务(共享脚本 让你工作更轻松) Linux web服务安装apache 思路 (源码编译,自己定义服务) FTP(持虚拟用户,并且每个虚拟用户可以具有独立的属性配置) linux 下构建DHCP服务器 3.脚本语言Shell脚本和另一个脚本语言,Shell是运维人员必须具备的,不懂这个连入职都不行,至少也要写出一些系统管理脚本,最简单也得写个监控CPU,内存比率的脚本吧,这是最最最基本了,别以为会写那些猜数字和计算什么数的,这些没什么作用,只作学习意义,写系统脚本才是最有意义,而另一个脚本语言是可选的,一般是3P,即Python、Perl和PHP,PHP就不需要考虑了,除非你要做开发,我个人建议学Python会比较好,难实现自动化运维,Perl是文本处理很强大,反正这两个学一个就行了。 Shell(一) 入门到复杂 自己做的各种脚本实例与解释 Shell(二)入门到复杂 脚本实例(计算器) 4.sed和awk工具这两个工具必须要掌握,同时还要掌握正则表达式,这个就痛苦了,正则是最难学的表达式,但结合到sed和awk中会很强大,在处理文本内容和过滤Web内容时十分有用,不过在学Shell的同时一般会经常结合用到的,所以学第3点就会顺便学第4点。 sed 简明教程https://coolshell.cn/articles/9104.html 5.文本处理命令sort 、tr、cut、paste、uniq、tee等必学,也是结合第3点脚本语言时一并学习的。 6.数据库首选MySQL,别问我为什么不学SQL Server和Oracle,因为Linux用得最多绝对是MySQL,增删改查必学,特别要学熟查,其它方面可能不太需要,因为运维人员使用最多还是查,哪些优化和开发语句不会让你弄的。 MySQL(手动编译详细思路,以及增删改查、授权、备份还原) 7.防火墙防火墙也算是个难点,说难不难,说易不易,最重要弄懂规则,如果学过CCNA的朋友可能会比较好学,因为iptables也有NAT表,原理是一样的,而FILTER表用得最多,反正不学就肯定不合格。 防火墙(一)主机型防火墙 防火墙(二)SNAT和DNAT 8.监控工具我个人建议,最好学这3个:Cacti,Nagios,Zabbix,企业用得最多应该是Nagios和 Zabbix,反正都学吧,但Nagios会有点难,因为会涉及到用脚本写自动监控,那个地方很难。 CentOS 6.2+Nginx+Nagios,手机短信和QQ邮箱提醒 服务器集中检测Cacti 9.集群和热备 (责任编辑:admin) |