运维入门

从最低的说起
1.设备
网线的线序接法,百兆和千兆网线,光纤线,思科路由,华为路由,交换机什么的,包括一些VLAN组建,交换机和路由器之间的学习,一般我建议学习到CCNP就够了,计算机硬件了解,一般你自己DIY过电脑,一般都清楚明白。了解服务器和普通PC的区别,服务器 分别是 1U 2U 4U,然后就是找托管的托管服务器,费用根据机房线路多少,带宽,地域而决定,注册域名,备案最好也懂。

2.数据链路层
关乎就是MAC地址的走向,交换机学习,局域网的东西。

3.网络层
了解中国互联网几大ISP,电信,移动,联通,教育网互相连接的弊端,掌握tcpdump,winshark,的抓包软件,TCP/IP协议,当然也有很多路由器的协议。

4.缓存层
了解中国几间著名的CDN厂商。

几个开源缓存的软件

1.squid

2.varnish

3.Traffic Server

5.系统层
首先是三大系统,Linux,Unix,Windows,市面上一般就用着三个做服务器系统,Linux 是现今互联网的主流所以一般着力学习这个,Windows是Windows 2008 R2,Unix 就是AIX ,Free BSD,这里并无歧视平台的原因,因为win本身的域控管理也十分强大,但由于win的版权问题,费用高昂,大部分都会侧重于Linux的学习,互联网也倾向这个。AIX和Free BSD这个其实学习了Linux,都差不多,只有些不同,有兴趣的朋友可以去学习一下Linux 和 Uninx之间的历史。

6.数据库层
数据库我自己一般倾向于的Mysql,不过也少有接触Oracle.主要精通一门,估计其它也不难,至于为何选择mysql是因为应用它可以用,深入学习可以了解源码。也有非关系数据库moogoDB

7.容器层
Tomcat,Nginx,Apache,redis,IIS这里没什么好说的了,各自的语言自己选择各种容器来跑应用。

推荐书籍
Linux

首先是系统的,Linux界可以借鉴一下red hat的RHCE课程

鸟哥私房菜(必看)(服务器版很一般,不要选择)

Linux系统管理技术手册(选购,大头书)

Windows
win服务器推荐几本英文书籍

Pearson.Windows.Server.2008.Portable.Command.Guide

Microsoft.Press.Windows.PowerShell.3.0.First.Steps

Professional.IIS.7

普通命令 => bat脚本编写 => Powershell(相当于Linux的BashShell) => 域控

网络
思科的CCNP学习资料(必买,交换机和路由)

构建高性能Web站点(这本书是必买的,对于初学者,尤其对运维重要)

TCP/IP 协议一卷(必看)

构建高可用Linux服务器(选购)

脚本
Shell(这里没什么建议,我自己没买书,网上看又行,买书也行,京东 china pub自由选择)

除了懂Shell至于Python Perl ,我建议自己选择,我是Perler所以当然指导你选择Perl

O'Reilly:Perl语言入门(必看)

Perl高效编程(第2版)(选购)

高阶Perl(选购)

Python
Python基础教程(必看)

基础了解之后可以应用一些框架例如Django,tornado,想深入了解当然看看源代码,还有兴趣继续深入,也觉得自己C不错,可以看看Python虚拟机的源代码

正则脚本(正则的原理,正则在linux必不可少)
正则表达式经典实例 (选看)

精通正则表达式 (选看)

数据库
高性能mysql(必看)

高可用mysql(必看)

Effective MySQL之备份与恢复(选购)

oracle database 9i/10g/11g编程艺术:深入数据库体系结构:第2版(如果你用oracle就看看)

监控
监控类型很多,你可以多上网查看相关内容,如Cact、bmon、nload、iftop、vnstat、iptraf等。

总结
CLI(Command line)是运维万根之源,对脚本要熟悉随意就能编写,大概排障步骤想好,初学者就参照网上的一键XXX来做个例子吧,再自己改进,例如初始化系统之类,配置ssh,配置参数之类。万丈高楼从地起,以上书籍虽然多,但是还是很有必要看看的。