寫代碼寫了10多年, 從小公司到大公司, 前端, 後端, 數據庫, 運維什麼都作, 最後仍是專職作運維了.前端
整理下運維的一些技能, 部分是網上資料並整理.ios
包括對Linux總體的理解/使用和基本命令:sql
入門Linux:鳥哥的Linux私房菜.基礎學習篇(第三版)數據庫
熟悉至少一個內置編輯器: vi, vim, nanovim
至少熟悉一個發行版(或系列),建議做爲服務器經常使用的如Centos(推薦!! 一直在用, 很是好), Debian, Ubuntu,能夠了解多個經常使用發行版後端
能夠對着圖對學習瞭解這些命令. 固然不用所有都學, 遇到一個問題就百度Google再本身整理.安全
Nginx/Apache服務器
Mysql/Mongodb/Redis/Memcached網絡
Tomcat運維
LAMP/LNMP
FTP
DNS
SAMBA
NTP
DHCP
...
其中, Nginx(Apache能夠繞過), Mysql, LNMP最好本身動手搭建, 並整理
防火牆配置,如 iptables, ipset
必備:Shell (初級)
額外:Python,Perl... (初中級)
Nagios
Puppet
Zabbix
Cacti
SaltStack
....
能夠選擇性的折騰下,由於這個涉及到業務,沒有實際環境,很難去理解他們的功能和特色。
(中級)
網絡是很是重要的一塊把《TCP/IP協議詳解》多看幾遍,理解。
熟練使用tcpdump等抓包工具
Linux C,內核
除了技能,我以爲素養(態度)也能夠談談
運維人員的權限很大,因此必定要保證賬號/私鑰的安全。
最好使用加密工具存儲。好比truecrypt,1password
基於本地存儲。切勿用網盤,也不建議用lastpass等
ssh私鑰添加密碼
以上任何一點都很重要,不然弄丟了,風險會很是大。
遇到報警,第一時間處理,而不要等着他人去處理
若是沒法處理,應該第一時間讓同事協助幫忙,而不要禁止報警,讓問題掩蓋
你的任何一個操做,均可能形成系統的損壞、業務出問題。因此敲命令時必定要細心、再三確認。你敲的再快,也就節省那麼一點時間,出了問題纔是大事。
若是代碼有問題,致使系統開銷很大,好比負載,io等。應該第一時間和開發部門確認,要求優化代碼。
運維的知識範圍很廣,要不斷學習。遇到問題,作好分析記錄,過後還能夠在部門內分享交流。
必定要整理分析, 好記性不如爛筆頭!!!! 沒有誰能一步登天, 牛人都是從1+1開始學的, 爲何有的人會成爲牛人, 按期整理分析是必不可少的. 沒有整理就不能成爲本身的知識.
推薦必定要整理本身的知識, 造成本身的一套知識體系! 因此筆記工具必不可少. 我曾經看到過一我的有上萬的筆記, 但每次遇到問題仍是百度, 百度後看到以後添加到筆記中, 結果以前添加過了. 這絕對是在作無用功, 所謂書越讀越薄, 是創建在按期整理本身的知識之上的. 否則你再多的筆記都是無用!!
Evernote, 老牌
Leanote, 有Linux客戶端, 支持代碼高亮 (推薦)
爲知
運維不是一我的的事, 是一個團隊的事, 我曾經管理了10我的運維團隊, 你放心把運維的事交給他們? 因此, 你的知識必需要轉化成他們的知識, 必定要創建一個團隊的知識庫, 而不只僅是本身的知識庫.
如下是構建知識庫的工具:
Confluence, 功能全
TeaKKi, 實時協做, 輕量好用(代碼高亮), 後起新秀 (推薦)