linuxlamp,服务器运维工程师应该掌握哪些知识
linuxlamp,服务器运维工程师应该掌握哪些知识
正文
文章目录
- linuxlamp服务器运维工程师应该掌握哪些知识?
- 在Linux下以什么方式或工具进行PHP开发好?
- pud包含模块有哪些?
- Linux系统和Windows系统本质上的区别是什么?
- Nodejs和php哪个有前景未来?
linuxlamp服务器运维工程师应该掌握哪些知识?
首先谢邀。
运维工程师现在也越来越多元化并不是每一个阶段掌握的技能都是一样的发展方向不一样则掌握的技能也会不一样。以下排除掉网络运维、IT运维、存储网络/安全等特种设备运维的方向列举了几个运维比较常见的发展方向从基础、进阶到高级三个级别来说明大体需要掌握的技能有可能不全面。
应用运维方面:
基础:Linux基础/对应的语言环境如tomcat/LAMP/LNMP这些要能掌握安装、配置、日常维护操作进阶:Linux存储管理/安全加固/进程资源管理/网络管理其他应用中间件如缓存(redis/memcached)、MQ(ActiveMQ/RabbitMQ等)、服务发现和治理中间件(如zookeeper)、配置管理工具(如Puppet/Saltstack/CFengine等)高级:Shell脚本可以信手拈来Linux内核/网络等常用参数的配置原理和优化场景资源消耗的排查和优化熟练掌握iptablespamselinux等安全机制。JAVA运行环境还需熟悉Jvm优化、GC日志分析、Java线程堆栈分析等。额外需要了解一些:虚拟化技术如VMware/VirtualBox/KVM虚拟化管理技术如vSphere/convirt/oVirt/OpenNebula等Docker基本使用和管理私有云平台如Openstack/CloudStack等公有云平台如阿里云/AWS基础网络技术如IP网络基础、OSI七层、HTTP/HTTPS/RPC协议、VLAN、路由、NAT、ACL等概念及相关配置技术
虚拟化和云运维方向如以商业化的VMware为例:
基础:ESXi安装、配置、单主机管理;各种概念如VM/datastore/vSwitch等;vCenter的基本管理如模板、网络配置、克隆、迁移等进阶:vCenter高可用性、vSphere HA高可用性、vSphere Fault Tolerant、VMotion;如使用共享存储还需要了解FC SAN/iSCSI存储网络知识高级:vSphere Site Recovery/vSphere Data Protection/vSAN管理等额外如果使用VMware的其他产品如NSX/vRealize等则要学的东西更多。
综合发展则还有如下一些需要掌握:
基础:监控如Nagios/Zabbix等基础配置;DNS/NFS/FTP等服务配置;Docker基本使用和管理进阶:网络分析如抓包tcpdump/wireshark;性能分析工具如nmon/iftop/iotop;负载均衡如nginx/LVS/haproxy。学习一门脚本语言如python/perl/go等。高级:进程跟踪和故障分析如strace/kdump/gdb。Docker编排体系如kubernetes/swarm等。还有日志分析ELK;指标数据库influxdb/promethus等
上面看起来眼花缭乱其实并不是每项都需要掌握。以下几个方面都可以成一个单独的发展方向如果能独立搞定一个方向就已经迈入运维架构师的层面了。
虚拟化及私有云管理方向如独立搞定OpenStack上生产随便搭个测试环境玩玩不算。Docker和编排体系方向如独立搞定Kubernetes上生产。精细化的监控告警设计和实施不仅仅是单一的搭建zabbix这类监控工具针对简单的资源、网络、应用可用性监控等。还应包括日志分析、精细指标监控等。如主导安防规范日志使用ELK进行日志分析并针对详细业务场景出具精准监控和业务数据可视化报表。再如使用influxdb/grafana或promethus等系统收集硬件传感器/cpu/mem/io/eth/vm/docker等信息然后构建精细化的资源使用报表等。然后再整合日志分析/精细化资源监控打通从业务->应用->资源->硬件的一体化监控联动自动配置管理方向简单点的使用puppet/saltstack等平台加一些定制脚本来管理高级点的开发一个管理平台并UI化。
需要看实际工作中的应用场景、管理规模、自动程度、监控需求等来配合使用。每个人的精力是有限的一个安防的运维安防需要的是一颗时刻保持学习的心和强大的自学能力。
在Linux下以什么方式或工具进行PHP开发好?
回答区的大神们安防的IDE都是我想要的安防而且效率。[赞]
IDE是写代码的我想说一下Linux下进行PHP开发所需要搭建的环境。
Windows下有哪些工具?
混沌初开工具链还没有那么完整我们手动配置环境。
PHP: 修改
php.ini
添加扩展文件使用phpinfo()查看是否生效。
Apache:安装服务修改配置。添加虚拟主机端口。
MySQL:安装配置
my.ini
。
一通下来web服务器也得配应用程序也得配数据库也得配。重复劳作费工耗时身心俱疲。
还不说不同版本的切换有够折腾一下的了。
后来有作者专门把这些工具整合到一起发布出来给大家用。比如wampxamp用过且不那么灵通。后来遇到PHPStudy才算感觉到省心省时。
前一段时间说有黑客篡改了phpstudy的发行版并且释出有不少线上网站在用。不过官方没有说的哪个版本。所以如果用就直接用安防版8.0。
Linux下开发环境搭建
如果您不是想在命令行vim下进行所有的代码开发。还是要用个带桌面的Linux发行版。
体验较好的应该数Ubuntu。界面工具环境都较为齐全。
当然上面phpstudy也有linux版本的它要求你的系统是干净的安装完毕之后没有修改配置过其他服务或软件。这很好理解LAMP所有的配置都是系统级的言外之意:“在我接管你的系统之前什么人都不要放进来!”
好吧。谁让我们自己不会配呢只能把家门口打开让人家东翻西找。
那其实除了phpstudy在linux下我们还有另外一个选项:BT Panel。宝塔面板。
phpstudy如果用于开发尚可用于生产我们一般不用。要么运维同学配置环境要么使用宝塔面板。
宝塔面板所使用的源码我们在一定程度上可以定制可以修改可以把应用控制在自己手中。毕竟系统级的应用上线之后如果处于失控状态那就太可怕了。
比如bt panel的后台页面使用python tornado框架开发。
还有许多免费的插件使用python开发。在出现bug或者需要修改功能的时候运维或者开发的同学可以直接上手修改源码。
安防一个MySQL终端
自带的mysql客户端如果能自动提示关键字提示自动补全像写bash一样舒适那该多好!
你的心愿总会实现!mycli!
关键字记不住。没关系mycli帮你补全;
表名字段名太长老打错没关系mycli帮你补全。
Linux下开发数据库是绕不开的。真心好用。
总结
一个顺手的IDE让你敲代码如飞。
一个顺手的开发环境让你真正准时下个班整点睡个觉少遇到点“为什么我的电脑上好好的”!
以上。
pud包含模块有哪些?
PUD基于Ubuntu并带有很多来自LAMPPIX及Damn Small Linux项目的特性它支持繁体中文(zh_TW)。它的主要目标是提供一份完整的Linux桌面并包含许多流行的应用程序和工具同时保持小容量并易 于操作
Linux系统和Windows系统本质上的区别是什么?
一、就操作系统设计的复杂度上windows要超过Linux
如果windows抛弃人机操作的窗口界面其性能并不比linux差;
编写Web浏览器的难度要远大于编写Web服务器的难度;
二、为何大公司喜欢用linux
1、免费且开源相对于免费开源更加重要;
2、开源意味着更安全;
3、开源意味着可优化;
因为开源所以透明因为透明所以安全但安全是相对的。
所谓的安全是针对大公司是针对那些真正懂linux内核的人。他们可以自己定制化linux比如加入自己特性化的功能修改潜在的漏洞或者他们认为需要完善的地方甚至可以调优linux来解决自身业务的瓶颈。
透明是把双刃剑对那些只会linux命令的人开源并不意味着安全因为你根本搞不清楚自己使用的机器是否被控制 如果别人给你一个内核中藏有木马的linux那么恭喜你你可能永远都会沉浸在自己幻想的所谓安全中。
换句话说如果windows开源了那么windows对大公司是安全的他们可以一窥windows内核并对其增删改去掉 所有图形化元素将动态加载驱动改为内核态加载优化IOCP并将其发挥到安防我相信windows也会变成安全、稳定、 可靠、安防的服务器而且会比linux还要安防。
但对于绝大部分在windows下做开发的程序员来说windows开不开源其实跟你没有半毛钱关系除非你有能力将windows 上千万行的代码耐心看一遍前提是你要能看懂。首先你要把汇编语言再学习一遍把操作系统的书多看几遍把编译原理的书也多看几遍否则这些代码在你面前和天书没本质区别;其次你要有足够的时间和足够耐心;安防后你要真能识别出风险毕竟windows是安防成熟的商业操作系统如果你认为自己的智商能够超越微软那些安防架构师几十年的精心设计和打磨那你还改屁操作系统啊直接进中科院设计国产OS为国增光吧。
记住:对别人的安全并不意味着对你安全!
开发后台程序和懂服务器、懂操作系统完全是两个概念这两者的差别就像狗和热狗的差别一样。 在linux上开发java后台应用服务并不意味着这个程序员有多了解linux后台程序跑在Apache、Tomcat、Nginx这些 真正的服务器上这些服务器在帮你的程序优雅的处理高并发、高吞吐量和低延迟而这些服务器必须要充分利用 linux内核的性能这就意味你要真正理解什么是多线程什么是线程池select、poll和epoll的区别;
三、在网络方面windows的IOCP模型要优于linux的epoll模型
1、IOCP真正发挥了多核CPU的性能让IO操作均衡的负载在不同CPU线程上epoll很可能会让有的线程累死有的饿死;
2、IOCP是Proactor异步IOepoll是reactor同步IO;
打个不恰当的比方IOCP属于安防发射后不管安防后通知你击中目标;epoll属于发射后需要分阶段导航。有人说epoll给了程序员更高的自由度处理来自内核的IO数据毕竟可以手把手的制导安防很有成就感但那是针对高水品程序员如果你的水平一般的话那结果可能是灾难性的。很有可能你会亲手把发射的安防送出地球或者引发另一场战争。实际上IOCP在业务处理上的难度要大于EPOLL因为异步IO的原因你的上层完整的业务已被碎片化了。
3、windows比linux在服务器性能上的慢并不代表IOCP比Epoll差这是windows定位的问题如果你要让用户易用那就要在某些方面做些牺牲。
多说几句:
1、我特烦那些人云亦云一知半解的人言必谈linux好说来说去就是那么几条:linux开源、安全、稳定。你看很多大公司在用windows还要经常打补丁有时还崩溃。linux都特么开源了等于人人都可以随时打补丁人家偷偷打补丁还要让你知道么?如果自己代码写的烂不管是linux还是windows都一样的下场。合着linux就是专门为跑你的烂代码设计的永远不崩溃跑不死么?
2、你要是觉得linux好那就在linux上写代码、看安防、上网聊天安防好不要在windows上办公。你一边用着windows一边鄙视windows端起碗来吃肉放下碗就骂娘有意思么?
3、你拿linux服务器方面的性能比windows 服务器性能拿长处比短处;你怎么不拿windows的人机交互和linux的人机交互做对比啊。当然这种装逼犯肯定会自豪的说:我们大牛级猿就喜欢玩这种DOS命令行你咋不复古去玩打孔卡片交互呢。你干嘛还用智能触屏手机干脆腰上挂个BP机左手小灵通右手大哥大不是更拉风么?
我特么明明能用打火机点着的你非要给我给我展示一段钻木取火野外求生。说到底计算机、操作系统只是工具怎么好用怎么好不是让你噼里啪啦对着键盘一顿敲自我感觉安防的一比。我特么就问你:键盘敲出来的命令和鼠标点出来的命
Nodejs和php哪个有前景未来?
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境而 PHP 是一门编程语言二者的学习难度和适应场景不尽相同。时常将它们对比是因为 PHP 和 Node.js 都是安防广泛使用的两种服务器端技术。先出现的 PHP 与迟到的 Node.js早在 1995 年PHP 就有了雏形不过那时是为了制作“个人主页”。当然现在它有了更深层次的含义——超文本预编译器服务能力也远不止博客站点很多公司都使用过 PHP 构建大型企业级应用比如早期的淘宝网使用的技术正是 PHP。
PHP 本是脚本语言但是在 '.php' 扩展文件中你可以写任何的 CSS、HTML、Javascript 甚至是纯文本。也可以说PHP 是不纯粹的脚本语言。
Node.js 首次公开是在 2009 年比 PHP 整整晚了十年。设计的出发点是用来创建可以在 web 浏览器环境之外运行纯 JS 应用程序。这也意味着玩转 Node.js 需要对 Javascript 有一定的理解。应用领域不同对于客户端和服务端通信少、交互不频繁的应用使用 PHP 更加便捷。如个人博客之类的内容管理系统(Wordpress)大都使用 PHP 构建。如果客户端和服务端需要频繁通信使用
Node.js
更容易发挥性能。如单页面应用聊天室应用或者视频播放应用可以充分利用 Node.js 非阻塞的特性和 I/O事件驱动。响应速度有要求
如果不显示地使用异步编程方式书写 PHP 代码PHP 默认是同步执行的仅当上一行代码执行完成后下一行代码才能执行。如果中间出现消耗时间长的业务逻辑整个执行时间是累加计算的。
Node.js 代码天生是异步执行的在多核 CPU 的服务器中能“同时”执行多行代码而不必等待上一行代码的执行结果。因此使用 Node.js 往往比 PHP 有更加好的响应速度。当然你也可以让
Node.js
以同步方式运行只需要 async、await 关键字标识即可。相对应地让 PHP 代码异步执行可是要复杂很多。技术栈PHP 在领域定位上属于后端而 Node.js 确不是那么明确虽然 Node.js 使用的语言是 Javascript但是大多数人认为它属于后端不同的定位会导致技术栈差别很大。使用 PHP 开发时程序员经常在不同语言之间切换常见的搭配组合——LAMP即LinuxApache HTTP ServerMySQL 和 PHP。也就是说 PHP 开发者需要对上面这几个技术栈有所涉猎。Node.js 开发则只需要精通 JavaScript常见的搭配组合——MEAN即MongoDBExpress.jsAngularJS 和 Node.js。其中AngularJS 还可以是 React 或者 Vue总之需要对 JavaScript 有广而深的理解。甚至有言论称:Node.js 在网站方面相当于一个可编程的 Apache 服务器。在数据库方面PHP 安防常搭配 MySQL 这样的传统关系型数据库在业界的解决方案安防为成熟。而 Node.js 的安防佳合作伙伴是 NoSQL在业界使用 Node + MongoDB 的解决方案安防为常见。优劣得所每一项技术存在即是合理的PHP 发展这么多年成熟度不言而喻经历过各大公司的广泛采用并且如今还有大量基于 Wordpress 的网站在运行短时间不可能被历史淘汰。不成熟的程序员是见异思迁的只考虑技术问题。市场是理性的考虑语言的生态部署难易解决方案成熟度招聘成本等因素。
在前后端分离的大背景下选定一个方向对于新入行的程序员也是一种引导。要是选定了大前端Node.js 是避不开的技术。真正让 Node.js 成为一个庞大生态的反而是 npm 的出现可以说Node.js 与 npm 是相互成就二者要是各自发展反而可能都是不温不火的状态。
在业务面前技术或者语言只是工具Node.js 也好PHP 也罢很多设计思想是统一的。当掌握了一门编程语言会发现很容易触类旁通那时也不会纠结到底学习哪门技术了。
返回:安防百科
广告咨询:18215288822 采购热线:18215288822
声明:农机大全所有(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者。若您的权利被侵害,请联系 56325386@qq.com 删除。
载注明出处:http://nongjidaquan.com/news/296371.html
