linux工程师,RHCE
分类: 系统运维
2021-09-30 13:38:13
还记得我当时上大学的时候,连电脑开机都不会。因为家住贫困山村,所以从来没用过电脑。当我们去机房做实验的时候,我连开机都不会。不知道什么是主机,什么是显示器,只能尴尬地问别人。但是目前我已经入职某大厂。那么我到底是如何做到的?今天就说一下我的经历。
依稀还记得,当时我在大二的时候,曾经参加过一个培训。当时我看到对方培训人员演示的时候,使用的是一种黑乎乎的界面,但是却能够做很多事。这简直颠覆了我对计算机的认知。(虽然也没什么认知)。后来我听学长说那是Linux系统,一个和Windows系统不相上下,甚至在服务器端已经远超WindowsServer的系统。这些立即引来了我的兴趣。
于是我就向学长请教更多关于Linux的事。当时学长说可以自己安装一个Linux系统,然后找一个视频和书籍自己系统学习一下。然后最后我通过网上搜索,找到了一个关于Linux培训的培训机构的课程。我每天如饥似渴地学习这些知识。然后跟着视频边学边联系。
期间我也阅读了一些关于Linux的经典书籍。比如台湾鸟哥的《鸟哥的Linux私房菜》,炒鸡适合小白入门的,如何利用shell命令快速开发常规任务的《linux shell脚本攻略》等书籍。通过这些书籍,在加上我跟着视频的学习。我发现我慢慢的竟然可以脱离视频和书籍,自己手动敲命令,做一些Linux系统的实验了。很多命令我不用刻意去背,竟然就能轻松说出其参数和用法了。这些都得益于这些书籍和视频。
慢慢我越学知识越多,会的也越多。我不再局限于基础的Linux命令,开始写shell脚本,自动处理Linux的一些问题。开始学习搭建各种服务,满足自己的求知欲。
然后我发现实际上Linux入门并不困难,只要具备Linux基础,读懂Linux的命令格式,就能构思出各种命令之间组合的奥妙。
慢慢的我已经基本上轻松部署出各种服务了。我的只是层面也越来越宽广,知道的也越来越多,眼界也越来越开阔。慢慢的我已经不再局限于部署了。在我看来如果只是停留在“部署”这个层面,无论是说最简单的“FTP”还是现在的虚拟化技术“K8S”,这些其实都只能算是基础。
在“部署”之上,就是对服务器的基本维护,举个例子,访问网站时常会出现“404”、“502”的报错,你能够在很短的时间,迅速定位问题,解决问题,那么恭喜你,你已经成功入门这个领域了!!!但是即使达到这个程度,你依然还只是一名普通的不能再普通的运维工程师,你如果想进步,想脱离普通,那么你仍然需要不断学习,所以为了后期发展,转型云计算运维、大数据运维、运维开发、自动化运维等还是要不断学习!(个人首推云计算,一个是相对技术易于理解,二是企业基本都在使用)。
举个栗子,电商公司一般架构规模在50-100台服务器之间,会涉及的到的技术有防火墙、负载、高可用、数据库、存储、备份、监控,更甚者会涉及日志、虚拟化、云平台等技术;那么由于内存、CPU这些硬件性能的限制,如果单纯将服务上线,随着业务流量的增长,客户访问量增多,一个集群架构负载的客户流量是会被限制,常有人问我为什么Nginx的连接数达到600内存和CPU就消耗了83%,那么就要考虑“服务调优”
最后,结合我对Linux的学习和理解,我谈几点对学习的建议,以供各位朋友可以少走弯路,早日学懂Linux。
1. 选择适合自己的发行版。Debian系和Redhat系是目前 受众最多的两个版本系列。大家可以选择这两种之一,毕竟文档最多,使用人数也多,以后有啥不懂的或者出现了问题,网上搜素或者问别人的成本也相对较低。
2. 多练习,多练习,多练习。一定不要眼高手低,只是单纯的背命令,而是去练习这些命令和思考这些命令的使用场景。以及这些参数额使用场景和搭配。Linux学习一定要多去动手操作,多去敲命令。舍弃掉Windows桌面的使用习惯,一直使用命令行来做任何你想做的事。
3. 学习shell,一定要学这个脚本语言,这个脚本语言可以给你以后的工作带来很多的便利。
4. 当你掌握所有的部署服务之后,一定要去学习虚拟化,docker,云计算等,并且深入理解其中的工作原理。
5. 后面可以系统学习一下Linux内核的系统调度和算法等知识。
最后,相信你学习完这些之后,入职大厂,会很轻松的。各位加油咯!!!