编程 云计算 java centos Firefox wordpress linux Android 微软 php google apache Ubuntu 开源 Python 程序员 Windows shell mysql nginx

Linux 系统运维学习方法汇总

大綱

一、前言

二、Linux 運維大環境說明

三、Linux 運維學習思路

四、Linux 運維大方向說明

五、Linux 運維學習必看書籍推薦

六、Linux 運維實踐內容簡介

註,本博文主要用於交流與學習。如有雷同,純屬意外。

一、前言

最近,有不少博友問我。剛進入運維行業怎麽學習呢?思路是什麽?一點思路也沒有,然後與大家在群裏交流了一下。現在總結一下,與大家分享一下。下面我們就廢話不多說,直接上幹貨。^_^……

二、Linux 運維大環境說明

首先我們來說一下,Linux 運維的大環境。現在運維的大環境是什麽呢?這樣說吧,現在做運維的95%的人都不是在做運維,簡單的說其實是在做雜活。或說是“全能型人才”。就是什麽事都做。比如,辦公室內網維護(其實,修電腦與裝系統為主業)、無線路由器安裝與配置(其實,安裝與配置家用的TP-Link)、維護OA系統與郵件系統(其實,就是人事行政不想做這種小事讓你來給新來的人員增加與刪除OA與郵件賬戶等)。還有就是有的領導什麽軟件打不開了,讓你去幫忙處理一下(你到那邊什麽事都沒有做,只是重啟一下電腦而且,嘿嘿),等等吧。其實,這根本不是運維。說白了就是簡單的技術支持(或說是網絡管理員)。這是一種情況,而且很多人都是這種情況且工資不高。

上面我們說完了,第一種情況,下面我們來說說第二種情況。第二種是什麽呢?一般他們屬於監控運維,這些運維一般是公司最基層的員工,主要做一些監控方面的工作。讓你每天看著顯示器,一但網站或者線上業務出問題了,你得通知運維工程師讓他們去處理問題,這樣你的工作就基本完成了。這類監控工程師一般加班都很多,而且線上權限很低。你一般不能做任何操作,或者你只有查看的權限。這類監控工程一般還學習不到什麽技術,可能你在公司一兩年了都不知道這套監控系統是怎麽搭建的。再則就是公司來幾臺服務器了,你去安裝一下系統就完了。雖然工作不多,但還是那句話。工資不高且經常加班。(但沒辦法,一般剛入行的運維都得經歷這個過程的)

下面我們來說一說,第三種情況。第三種類型是運維工程師,一般這些都是公司運維的主力,他們每天處理各種問題,包括搭建服務器、配置相關服務、配合開發上線業務、管理權限、開發一腳本等。其實從他們開始我們才能說他們是做運維的,運維工程師也分為好多種,有系統管理運維工程師、開發運維工程師、產品運維工程師等等,每個公司的分類不同,但又大同小異。系統管理運維工程師主要傾向於管理Linux服務器,開發運維工程師主要傾向於各種腳本與模塊的開發工作,比如有的大公司一般他們的監控系統都是根據自己的需要進行開發的,或者根據某些監控進行二次開發。產品運維工程師主要傾向於業務相關,幫且業務上下線,解決開發提出的一些問題等。如果是現在做的就是這個說明你運維基本已經上路了,可以說哥們好好努力,“錢途”無限好啊!

下面一種是,高級運維工程師。一般這些人都是公司的中層幹部,一般都是資歷比較深的。工資一般都是10K左右的。一般做到這個職位的人,我想說是比較輕松的,每天事情比較少。一般什麽事都是運維工程師做完了,除非遇到一些重大事情,他們才會出馬的。比如,網站老是被攻擊啊、網站架構調整啊、某些數據庫有重大改變啊等。一般高級運維工程或叫運維主管,都是做這些事情的。哥們如果你現在做到這個職位同,說明你已經很不錯了,嘿嘿。

最後一種,也是最牛的一種被稱為“神一樣存在的人”,運維架構師。一般這種重量能人物只有像大的互聯公司才有,比如百度、QQ、阿裏等大公司才有。他們負責網站的整體架構,包括網絡、開發、系統、數據庫、安全等各個方面。一般他們都是全能型人才,這才是真正的全能。一般他們都是公司的高層,他們的工資不是談月薪哦,都是年薪。有的都是有股份或者期權的,嘿嘿。這也是我們大家努力的方向啊。好了,大環境基本就說到這裏吧。下面我們來總結一下。

總結,首先是運維工程師的職位劃分,一般分為網絡管理員->初級運維工程師(也叫監控運維工程師)->運維工程師(可分為系統運維工程師、開發運維工程師、產品運維工程師等)->高級運維工程師(也可以分為高級數據庫管理員(DBA)、高級網絡運維工程師CCIE)、高級安全運維工程師等)->運維架構師(一般只有大公司有,是全能型人才)。然後我們再說一下,做運維的一般的工資情況,一般運維工程師在3k-6k之間,高級運維工程師在8k-12k之間,運維架構師一般都是20k以上。所以大家可以看到做運維還是很“錢途”的。最後,說一下公司情況。一般想要做運維基本都要選擇大公司去做,一般這些公司的特點是開發與運維的人比較多能學習到東西,其次是服務器比較多平臺比較大有發揮的空間,最後是有利於自己的提升。一般小公司我就不說了,大家自己都明白那根本就是運維,可以直接的說是打雜的。我說一下,我一朋友的親身經歷。我朋友以前的公司是教育培訓的。過去是時候說是去做運維的,管理服務器。去了才知道,服務器沒幾臺。最苦B的就是最後連搬貨他們都得上的。嘿嘿^_^……還有就是,最近手機遊戲比較火,去遊戲公司做運維也是很給力。好了,到這裏我們運維大環境我們就說到這下面我們來和大家說一下,運維的學習思路是什麽?特別對剛入行的博友一些建議吧。

三、Linux 運維學習思路

首先,得說明一下。一般做運維的基本都在北上廣這三個城市,其它地方想你都不用考慮的。至於什麽原因我想我都不用說,大家都知道。下面我們來說一下,基本思路。

1.明確方向

其實,不管是從事什麽行事,做什麽事情。明確方向是很重要的。我覺得這是最重要的。既然選擇了運維這個行業就要下定決心去做好這件事,嘿嘿。好了,大道理我就不說了,大家自己去體會。下面我們會詳細說明運維行業中的幾個大方向。

2.看書

我覺得你不管理做什麽看書是必不可少的,運維行業也屬性IT行業的範疇。IT行業就是個終身學習和行業,同樣的運維行事也是這樣,得終身學習。我這裏說的看書是一個概念,其實並不一定要買一本紙質的書籍拿在手裏看,現在是互聯網時代了,大家都知道上網。我們也可以運用網絡來學習不是嘛。現在人啊,我老說都是在浪費互聯網只知道看網頁,看電影、看電視、玩遊戲,基本都用於娛樂。我覺得上網應該只做這三個重要的事,一是看看國際動態。二是關心國內政策。三是關註自己行業最前沿的技術。我們這裏看書不僅僅是紙質的書籍,這是其中的一部。我們還可以看電子書籍、技術博客、官方文檔等。得多學習知識,特別是剛入行。還有就是得學會使用搜索引擎,如百度與谷歌。可以這麽說,你遇到的任何技術問題都可以在谷歌上找到答案。因為你遇到的問題,別人早就遇到過。

3.實踐

看書之後最後要的是得實踐。不實踐哪來的工作經驗呢?你以為工作經驗怎麽來的,都是不斷的實踐,不斷的總結,才有了所謂的經驗。有句話說的好,理論是用來指導實踐的,實踐是用來驗證理論的。你不去做怎麽知道,書籍中的內容是否正確。書上講的內容一定可以在產生環境中運用的起來嘛。嘿嘿,還是去做一遍吧。下面我們會詳細的說明,初學都應該做哪些操作實踐。

4.再看書、再實踐

有句話說的好,看山是山,看水是水;看山不是山,看水不是水;看山還是山,看水還是水。只有通過不斷的看書,不斷的做實驗。你的收獲才會越來越多。你的經驗才會越來越多。

四、Linux 運維大方向說明

1.網站運維

電子商務網站

社交網站

視頻網站

金融網站

搜索網站

……

註,一般都是些大型網站運維。他們的服務器一般都比較多,訪問量比較大。特別是電子商務網站有支付接口的,對網站安全的要求也比較高。

2.遊戲運維

遊戲網站

遊戲APP

遊戲應用

……

註,特別是一些網頁遊戲網站與手機遊戲APP。現在手機遊戲比較火,現在做遊戲運維也很不錯。

3.大數據運維

虛擬化

雲計算

……

註,這個就比較高端了,是最近流行的一個運維方向。大數據與虛擬化方向,有興趣的博友可以進行關註。

4.開發運維

監控系統

模塊開發

……

註,一般對你的開發能力要求相對較高,對系統維護能力相對較少一點。比如你得精通Shell編程或精通一門開發語言如,PHP開發或Python開發。主要應用領域是Linux運維自動化,目前我也正在從這個方向發展。

5.數據庫運維

DBA

mysql DBA

Oracle DBA

SQL Server DBA

……

註,數據庫運維我們就不多說了,你得對各種數據庫非常的精通如,Mysql數據庫、Oracle數據庫、SQL Server數據庫等。

6.總結

有博友會問了,那麽多知識我應該怎麽學習呢。一句話千裏之行,始於足下。我們先從最基本的操作系統學起。下面我們為大家介紹幾本書。供大家學習參考!

五、Linux 運維學習必看書籍推薦

1.系統系統

現代操作系統(原書第3版)

深入理解計算機系統(原書第2版)

深度探索Linux操作系統:系統構建和原理解析

鳥哥的Linux私房菜:基礎學習篇

鳥哥的Linux私房菜:服務器架設篇

循序漸進Linux基礎知識、服務器搭建、系統管理、性能調優、集群應用

深入學習:

30天自制操作系統(附光盤1張)

2.網絡方面

TCP/ip詳解卷1:協議

TCP/IP詳解卷2:實現

3.開發方面

O'Reilly:Shell腳本學習指南

Python基礎教程(第2版)

細說php(第2版)(含DVD光盤1張)

4.數據庫方面

高性能MySQL(第3版)

MySQL性能調優與架構設計

5.運維書籍

高性能Linux服務器構建實戰:運維監控、性能調優與集群應用

構建高可用Linux服務器(第2版)

高性能網站構建實戰

構建高性能Web站點(修訂版)

6.虛擬化

KVM虛擬化技術:實戰與原理解析

7.大數據

大數據時代生活.工作與思維的大變革

六、Linux 運維實踐內容簡介

1.Linux操作系統基礎

Linux操作系統及常用命令

Linux文件管理命令

bash特性

Linux用戶及權限

Linux用戶管理命令

bash與IO重定向

grep及正則表達式

egrep及擴展正則表達式

bash腳本編程

vim編輯器詳解

Linux文件查找詳解

特殊權限SUID等詳解

註,以上內容可以到鳥哥的Linux私房菜:基礎學習篇 這本書中查找學習。

2.Linux操作系統管理基礎

facl及用戶及Linux終端管理

磁盤及文件系統管理

Linux壓縮及歸檔

Raid及mdadm命令

LVM 管理

Linux網絡配置

Linux軟件管理

Linux進程管理

Linux系統啟動流程詳解

Linux內核編譯及系統裁減

Linux日誌系統syslog

sudo詳解

註,以上內容可以到鳥哥的Linux私房菜:基礎學習篇 這本書中查找學習。

3.Linux常服務管理

ssl協議、openssl及創建私有CA

OpenSSH服務及其相關應用

DNS服務相關概念與配置詳解

bind服務安裝配置

DHCP服務

Web服務及http協議

httpd安裝與配置

基於openssl的https服務配置

php相關概念及配置

數據庫及MySQL

MySQL初步,數據類型及SQL語句

建立LAMP平臺

郵件服務系列之基礎原理

郵件服務系列之編譯安裝Postfix

郵件服務系列之Postifx常用配置

ftp服務

iptables系列之基礎原理

samba服務

tcp_wraper&xinetd

配置使用vnc服務

註,以上內容可以在 鳥哥的Linux私房菜:服務器架設篇 這本書中查找學習,書沒有的內容我的博客中有所補充。

4.Mysql數據庫專題

Mysql 數據的安裝與配置

Mysql 配置文件的優化

Mysql 授權詳解

Mysql 日誌管理詳解

Mysql 用戶管理詳解

Mysql 復制詳解

Mysql 備份與還原詳解

Mysql 集群詳解

Mysql 讀寫分離詳解

註,以上內容可以在我博客裏查找學習。

Mysql 事務和隔離級別

Mysql 數據庫的優化

Mysql 分區

註,以上內容在 高性能MySQL(第3版)與 MySQL性能調優與架構設計這兩本書中查找學習。

5.Linux集群和存儲專題

Linux 集群的基本概念與LB(負載均衡)集群詳解

LVS 集群中持久連接詳解(PPC+PCC+PNMPP)

Linux 高可用(HA)集群基本概念詳解

Linux 高可用(HA)集群之Heartbeat詳解

Heartbeat+httpd+NFS 實現高可用的Web服務器

Linux 高可用(HA)集群之heartbeat基於crm進行資源管理詳解

Heartbeat+MySQL+NFS 實現高可用(HA)的MySQL集群

Linux 高可用(HA)集群之Corosync詳解

Linux 高可用(HA)集群之Pacemaker詳解

Linux 高可用(HA)集群之DRBD詳解

Corosync+Pacemaker+DRBD+MySQL 實現高可用(HA)的MySQL集群

CentOS6.4+cman+rgmanager+iscsi+gfs2+cLVM 實現廉價的可擴展的集群共享存儲

Linux 高可用(HA)集群之keepalived詳解

註,以上內容可以在我博客中查找學習。另外也可以參考這兩本書:

高性能Linux服務器構建實戰:運維監控、性能調優與集群應用

構建高可用Linux服務器(第2版)

6.HTTP代理加速及應用服務器專題

IO復用詳解及高並發系統設計初步

配置Ngnix作為WebServer詳解

Nginx反向代理、負載均衡、緩存、URL重寫及讀寫分離

Memcached安裝配置及保存phpsession於memcached中的方法

http反向代理及haproxy

http緩存機制及varnish詳解

Tomcat系列之JAVA技術詳解

Tomcat系列之組件詳解及服務安裝配置

Tomcat系列之服務安裝配置及Nginx反向代理tomcat服務

Tomcat系列之apache使用mod_jk和mod_proxy反向代理

Tomcat系列之apache負載均衡請求至tomcat及DeltaManager的使用

註,以上內容可以參考我博客學習。

7.Linux系統原理基礎及系統調優

計算機及操作系統原理

Linux操作系統原理

CPU負載觀察及調優方法

Linux內存子系統原理及調優方法

IO和文件系統優化

Linux網絡子系統調優

註,以上內容可以參考這幾本書:

深入理解計算機系統(原書第2版)

深度探索Linux操作系統:系統構建和原理解析

高性能Linux服務器構建實戰:運維監控、性能調優與集群應用

構建高可用Linux服務器(第2版)

8.雲計算、虛擬化專題

虛擬化技術基礎原理詳解

kvm虛擬化

OpenStack

Hadoop

註,以上內容可以參考這幾本書:

KVM虛擬化技術:實戰與原理解析

O'Reilly:Hadoop權威指南(第2版)

雲計算與OpenStack(虛擬機Nova篇)(這本書我沒看過,聽群裏的人說還不錯)

9.系統及服務監控專題

SNMP原理和實戰

RRD-tools繪圖原理和應用

Cacti原理和安裝

Cacti配置和高級用法

Nagios基礎和入門配置

Nagios高級應用及插孤城組件開發

Nagios高級應用及飛信報警功能

註,以上內容可以參考我的博客,還有官方文檔。

http://www.cacti.net/

http://www.nagios.org/

10.總結

以上內容是我自己學習與經歷。大家學習的方法有兩種:一種是自學,另一種是參加培訓(這種方法時間周期比較短,學習效率高)。若是自學,必須得堅持對自己要求高一點,特別是自覺性,自控能力比較強的博友。若是參加培訓推薦“馬哥教育”。

延伸阅读

评论