1、Linux基础
Linux/Windows操作系统安装,目录结构、启动流程等。
2、系统管理
Linux系统,生产环境中基本都在字符界面完成工作,所以要掌握常用的几十个基本管理命令,包括用户管理、磁盘分区、软件包管理、文件权限、文本处理、进程管理、性能分析工具等。
3、网络基础
OSI和TCP/IP模型一定要熟悉。基本的交换机、路由器概念及实现原理要知道。
4、Shell脚本编程基础
Shell基本语法结构,能编写简单的脚本即可。
1、网络服务
vsftp、nfs、samba等。
SVN和GIT,能部署和简单使用就可以了。
rsync和scp。
inotify/sersync。
Linux下的定时任务服务crond。
2、Web服务
Web服务平台了。
PHP语言开发的,通常搭建LAMP、LNMP网站平台,这是一个技术名词组合的拼写,分开讲就是得会部署Apache、Nginx、MySQL和PHP。
JAVA语言开发的,通常使用Tomcat运行项目,为了提高访问速度,可以使用Nginx反向代理Tomcat,Nginx处理静态页面,Tomcat处理动态页面,实现动静分离。
3、数据库
MySQL,它是世界上使用最为广泛的开源数据库。学它准没错!
SQL语句、用户管理、常用存储引擎、数据库备份与恢复。
MHA、MGR等。
4、安全
iptables限制只允许信任源IP访问,关闭一些无用的服务和端口等。
5、监控系统
Zabbix开源监控系统,功能丰富,能满足基本的监控需求。监控点包括基本服务器资源、接口状态、服务性能、PV/UV、日志等方面。
Grafana,会非常炫酷。
6、Shell脚本编程进阶
Shell脚本是Linux自动完成工作的利器,必须得熟练编写,所以得进一步学习函数、数组、信号、发邮件等。
grep、sed、awk)得玩6啊,Linux下文本处理就指望它们了。
7、Python开发基础
Shell脚本只能完成一些基本的任务,想要完成更复杂些的任务,比如调用API、多进程等。就需要学高级语言了。
Python是运维领域使用最多的语言,简单易用,学它准没错!此阶段掌握基础就可以了,例如基本语法结构、文件对象操作、函数、迭代对象、异常处理、发邮件、数据库编程等。
1、Web静态缓存
CDN解决,同时缓存静态页面,尽可能将请求拦截在最上层响应,减少后端请求和响应时间。
2、集群
Web服务器,同时对外提供服务,这样就成倍扩展性能了。负载均衡器主流开源技术有LVS、HAProxy和Nginx。一定要熟悉一两个!
Web服务器性能瓶颈解决了,数据库更为关键,还是采用集群,就拿学的MySQL来说,可以一主多从架构,在此基础上读写分离,主负责写,多从负责读,从库可水平扩展,前面再来个四层负载均衡器,承载千万级PV,妥妥的!
Keepalived、Heartbeat等。
NFS共享存储支撑不过了,处理很慢,好弄!上分布式文件系统,并行处理任务,无单点,高可靠,高性能等特性,主流的有FastDFS、MFS、HDFS、Ceph、GFS等。初期的话我建议学习下FastDFS,能满足中小规模需求。
3、虚拟化
KVM+OpenStack云平台。
Docker莫属了。
Docker大多数情况下是无法满足业务需求的,可以部署Kubernetes、Swarm集群化管理容器,形成一个大的资源池,集中管理,为基础架构提供有力的支撑。
4、自动化
Ansible、Saltstack
Jenkins
5、Python开发进阶
Python开发,掌握面向对象编程。
Web框架开发网站,例如Django、Flask,主要是开发运维管理系统,将一些复杂的流程写到平台中,再集成集中管理工具,可打造一个属于运维自己的管理平台。
6、日志分析系统
ELK
7、性能优化
grep、sed、awk
Rsync、Scp、Inodify/Sersync
Supervisor
top、free、df、iftop、iostat、vmstat、dstat、sar、sysdig
vsftp、nfs、samba、bind、dhcp、postfix
Web服务
Apache、Nginx、Tomcat、JBoss、Resin
MySQL、MariaDB、Percona Server for MySQL
NoSQL
Redis、MongoDB
RabbitMQ、ActiveMQ
SVN、Git
Squid、Varnish、Nginx
LVS、HAProxy、Nginx
Keepalived、Heartbeat、DRBD、corosync+pacemaker
Ansible、Saltstack、Chef、Puppet
KVM、Xen、Docker、Kubernetes、Openstack、Cloudstack
Kickstart、Cobbler
Tcpdump、Wireshark
Jenkins、Gitlab
MySQL代理
Altas、Cobar、Mycat
ab、fio、sysbench、mysqlslap
chrootkit、rkhunter
ELK
Zabbix、Cacti、Nagios、Grafana