服务器运维一般需要掌握哪些方面的技术?

服务器运维一般需要掌握哪些方面的技术?,第1张

1. 基础理论知识 2. 基础命令(系统命令、目录管理、用户管理、文件权限、磁盘管理、资源查看等等常见操作) 3. 文本高效处理(vi、vim、awk、grep、find、sed等) 4. bash shell脚本(可以边工作边学习,使用shell编写简单的代替重复性操作的脚本) 5. 进程调度,内存管理,文件系统,外设管理等,要熟练使用相关工具,如top iotop iftop iostat vmstatss等,并且最好了解其原理 1. TCP/IP协议、DNS服务、CDN原理、iproute常见的网络客户端工具(ping、wget、ftp) 2. crontab计划任务 3. ps、top、htop、vmstat、lsof等命令 4. tcp,http,https,udp等 5. 最好能做到精通,4层,7层的网络流量分析技能要熟练掌握 6. 内部路由协议,边际路由,交换原理,域名解析,ipv6相关知识 1. MySQL各个版本之间的关系和特性 2. MySQL的安装及增删改查 3. MySQL的存储引擎 4. MySQL的优化 5. MySQL日常使用及运维,包含备份及故障排查 1. 使用shell脚本实现各种服务的自动化部署 2. 使用shell脚本实现监控系统及应用自动化 3. 使用shell脚本实现各类巡检,故障排查自动化

服务器所用到的知识:

TCP/UDP,最基本的

并发——你可以选择使用select、poll,或者是多线程、多进程

如果你使用多线程,那么就必须使用同步技术——信号量、互斥体、条件变量的一种或几种,并且对于多线程技术,你还需要考虑使用进行线程分离与合并,

如果你使用了多进程,那么同步技术就不是你需要考虑的了,你需要考虑的是进程相关的问题了,你是使用fork还是vfork,你该如何处理客户端的请求,如何处理客户端断开连接后保证能够处理完数据并且没有僵尸进程产生,你还需要考虑高并发的问题

你发送接受数据的时候,采用何种方式,是阻塞的还是非阻塞的,还有连接超时、重传等问题

你是选择TCP还是UDP,如果选择UDP你可得忙了,需要你自己去进行重传验证,模拟TCP的三次握手,保证数据不会丢失,保证数据的有序性

还有其他很多需要你考虑的,以上都是指在Linux下的C++,本人对windows C++不了解

推荐书目:UNIX高级环境编程,UNIX网络编程,卷一。C++只不过是你使用这些技术的方式,不管你使用C还是C++,你都可以使用从这两本书中学习到很多有用的知识,但是不能保证你就可以写出高质量的服务器程序。

首先要看你想学习专业如果要学习的是系统软件知识,这是两个不同的领域。

如果你要学习硬件支持,应该从外之类的去了解。从一台服务器有哪一些部件构成到这些硬件产生故障会议该怎么解决?硬件的学习是比较固定的,因为他说产生的这些问题都是常见的一些应用问题。

如果要学习的是系统软件知识这一块就比较复杂,分为初级,中级,高级三个阶段。初级的就是系统的简单应用到入门,也就是系统在正常的操作过程当中,眼睛能看到的东西都属于初级。中级的过程我也考虑到软件与软件通信,以及外部粘连网连接到数据库等这些。高级的就是一些部署或集群式应用,而且还能够通过软件硬件相结合,相关知识的应用。当然,作为高级肯定要兼并初级和中级的相关知识和实际应用。具体要看你想学习哪一方面的知识。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/774370.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-21
下一篇2023-08-21

发表评论

登录后才能评论

评论列表(0条)

    保存