【思考】由安装zabbix至排障php一系列引发的思考
【思考】由安装zabbix至排障php一系列引发的思考
linux的知识点林立众多,很有可能你在排查一个故障的时候就得用到另一门技术的知识;
由于linux本身的应用依赖的库和其它环境环环相扣,但又没有很好隔离应用,所以催生了Docker这种虚拟容器的技术,
虽然我现在还没有去掌握Docker,但我已经觉得迫在眉睫需要去学习并好好应用上了。
大概2016年8、9月份我知道了有Docker这种东西,到2017年1月份也只是大致上对它有一些了解和看了有关它技术的开篇的文档。
因为其它如mysql、nginx、zabbix等项目更迫切需要我先去掌握运用,所以我对Docker还一直只停留在感兴趣的层面。
使我深刻认识到有必要先去掌握Docker的这一点想法的是最近进行的安装zabbix的实验。
因为只是第一次参照大神们的文档和各种资料进行安装使用zabbix,所以整个实验环境我是为了省心方便而就在之前实验DZ论坛安装的虚拟机环境上。
系统和apache都没有问题,出现问题的是当时php的编译安装版本比较低,所以在安装完zabbix,通过浏览器访问的时候就出现了错误提示。
提示某行‘[’语法有问题,然后实际去检测是没有问题的,毕竟也是zabbix官方的安装包中的配置文件阿!
于是百度了一下,了解到了php的版本在5.4之下是会有识别[语法的问题,所以php版本得升级。
我马上又尝试了一下升级php的操作、编译安装5.6.3到yum换源安装5.6.3,高版本是安装成功了,但低版本在编译的时候和apache及库文件有千丝万缕关系,测试php info的时候还是显示5.2.7的信息。
看来得删除之前低版本时编译安装生成的各种文件甚或配置文件……我有点懵逼了,不想为了一个实验而去做那么复杂的事,而这个实验用的虚拟机一里面是早已被我实验过各种项目的,环境很乱,我也是有心到一定时候放弃它的。
所以我选择了在另一台虚拟机上再次做安装zabbix的实验,而这次选的虚拟机环境,是完全还没有安装php的,只有安装了Nginx,此前用来做反向代理实验的。
zabbix也适合装在LNMP的环境上,所以我也开始动手了,而这次动手我选择先装PHP,并且是yum换源安装,不用编译安装后卸载那么麻烦。
且PHP编译安装要指定的各项模块也很多和复杂,库文件也很多,依赖文件也N多,有必要的时候再去读官网和各路大神的资料文档去弄通透再进行编译安装吧,不然依样安装完还是不得要领。
当然无可否认依样多后还是能领悟出不少东西的,就好比这次我yum换源安装,在另一台虚拟机这测试时死活找不到php的包进行安装了。
我对比起两台虚拟机上的yum配置和仓库环境,再临急抱佛脚到网上细看了一下yum的文档和知识,发现了症结所在。
此前忘了我装什么东西,配置了sohu的源及貌似webtatic字样开头的yum源(查看/etc/yum.repos.d目录下),就这几个与另一台测试能成功yum安装php的虚拟机一上的repo不同,于是删除了这几个不同的repo配置文件,再测试就成功了。
也就是说本来我是做zabbix实验要点亮zabbix这个监控软件的技能树的,但是过程中我又变成了要去先将前置的小技能树php和yum都要进行加点了……
可见linux的不简单就在此,当然,我相信如果在干净的环境下再去做实验这事是少了很多排障发现,不过这种事多了,发现这个时间成本重了,而且排障解决了是有成就感,但也暴露了搭建实验的环境不成、杂乱这一弱点。
之前是想通过多建虚拟机或快照还原去解决的、只是建立在虚拟机VMware上的操作还不如试试Docker?这个想法决定在完成zabbix的安装后就去实现。
再说下去,yum安装php5.6.3是解决了,而且新的虚拟机内存配置比之前的那台要大,速度竟然真的快多了,似乎是昨天虚拟机一yum安装php是花了30分钟还不止,今天的15分钟左右就完成了?
完成归完成,建立了一个测试php信息的php文件后,在nginx上也配置好,然后测试用浏览器访问info.php这个文件又出现了另一个错误:php页面不像虚拟机一显示页面信息,而是提示下载。
最终通过百度又get到了两个知识点,一是更全面深刻认识到Nginx中对php支持的配置了,二是php-fpm这个解析器的作用。
此前由于我还在yum install 安装php-fpm的等待时间中就去做生成测试php这个步聚。那么还少了php-fpm的解析作用当然是不成功的,可见饭还是要一口口吃的。
当然,后来在查证资料前我就想到了有这个可能性,于是是在自行安装完php-fpm后重新启动fpm和nginx后再去相互印证查到的资料。
info.php这个文件成功显示出php的版本信息了,在那一刻还是满小激动的,有点侦探推理得出真相的小成就感。我想这就是linux的另一种迷人之处吧。
它无形中就是一种适合中二男人的不那么中二的游戏。不是有一句话说男人至死都是中二的么?
本篇由于只是归纳思考与总结,故当中的技术点并没有一一列出,在随后的zabbix安装实验文档中便会一一详尽揭示。
所谓思考远比技术本身重要。在linux运维这一途中,尽信书不如无书是真理,因为除非自己去重新编写,否则没有那一本书中的文档是会完全贴合你的,
特别是新人上路,想要不翻车,就得努力思考,结合站在众大神的肩膀上眺望,再从自身出发解决问题融汇知识。
文:食梦貘
2017年1月6日
【思考】由安装zabbix至排障php一系列引发的思考的更多相关文章
- 记一次KUBERNETES/DOCKER网络排障
https://coolshell.cn/articles/18654.html 总结在前面: 1.kill -9杀死docker进程,系统一定是要遍历所有的docker子进程来一个一个发退出信号的, ...
- [转帖]记一次KUBERNETES/DOCKER网络排障
记一次KUBERNETES/DOCKER网络排障 https://coolshell.cn/articles/18654.html 记得之前在一个公众号里面看过这个文章 讲的挺好的.. 物理机直接跑d ...
- 【排障】tomact未能看到网页
[排障]tomact未能看到网页 文:食梦貘 这是几个月前的事情了,那时候我在安装xwiki,需要用到tomcat,但是初次安装好时碰上过一个故障: 安装tomcat后,客户机用IE网址上输入:服务端 ...
- 【原】个人对win7开机黑屏只有鼠标排障总结
个人对win7开机黑屏只有鼠标排障总结 文:铁乐猫 第一种情况是explorer.exe进程丢失或损坏有关: 判断方法是按Ctrl+Alt+Del键能呼出任务管理器,结束explorer.exe进程, ...
- centos7如何安装zabbix
只需要按照第三次修改版本的内容安装就可以了(水平线内的内容),主要是执行两个脚本就可以完成自动化安装了,其他内容是以前写的,仅留下来作为参考 第三次修改:(此次为zabbix4.0版本的,进一步的自动 ...
- MongoDB系统CentOS 7.1 crash的排障过程
[作者] 王栋:携程技术保障中心数据库专家,对数据库疑难问题的排查和数据库自动化智能化运维工具的开发有强烈的兴趣. [问题描述] 最近我们有多台MongoDB的服务器CentOS 7.1系统发生了cr ...
- 记一次nginx -t非常慢的排障经历
在一次修改nginx配置时候,执行 case: #/usr/local/nginx/sbin/nginx -t 出现执行命令出现很久没返回结果,也没返回成功或是失败,就是一直卡住的状态,严重影响ngi ...
- TraceID在AspNETCore日志排障中的应用
前言 .NetCore日志,相信大家多少都接触过,博客园有关 ① AspNetCore依赖注入第三方日志组件 ②第三方日志组件Nlog,Serilog 应用方法的博文层出不穷. 结合程序的部署结构 ...
- Centos 源码安装zabbix 2.4.5
Zabbix简介 Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.zabbix能监视各种网络参数,保证服务器系统 的安全运营:并提供柔软的通知机制以让系统管 ...
随机推荐
- 【译】 AWK教程指南 附录A-Patterns
awk 通过判断 Pattern 的值来决定是否执行其后所对应的Actions.这里列出几种常见的Pattern: A.1 BEGIN BEGIN 为 awk 的保留字,是一种特殊的 Pattern. ...
- MySQL命令使用手记
1.登陆 >mysql -u root -p,root没密码按回车. 2.创建数据库 >create database XXX; 3.创建用户 >inse ...
- 大公司最喜欢问的Java集合类面试题
看了一些所谓大公司的JAVA面试问题,发现对于JAVA集合类的使用都比较看重似的,而自己在这方面还真的是所真甚少,抽空也学习学习吧. java.util包中包含了一系列重要的集合类,而对于集合类,主要 ...
- RecyclerView使用笔记
1.判断是否可以滑动 //是否可以上滑 ViewCompat.canScrollVertically(recyclerView, 1); //是否可以下滑 ViewCompat.canScrollVe ...
- Android中使用sqlite笔记
1.实现SQLiteHelper来在android中使用SQLite.代码如下,来自android官网. public class FeedReaderDbHelper extends SQLiteO ...
- [五]SpringMvc学习-Restful风格实现
1.Restful风格的资源URL 无后缀资源的访问(csdn用法) 2.SpringMvc对Rest风格的支持 2.1将 /*.do改为/ 2.2 3.@PathVariable获取Url变量 @R ...
- Windows 环境下基于 nginx 的本地 PyPI 源
Windows 环境下基于 nginx 的本地 PyPI 源的搭建: 1.登录 nginx 官网,下载安装包
- 理解virtual方法
1.使用场景 virtual方法的使用场景:父类告诉子类,继承接口,修改实现,从而可以面向接口编程. non-virtual方法的使用场景:父类告诉子类,继承接口和实现,从而可以代码复用. 2.成员方 ...
- 【原创】OllyDBG 入门系列(一)-认识OllyDBG
****** http://blog.fishc.com/645.html 标 题: [原创]OllyDBG 入门系列(一)-认识OllyDBG作 者: CCDebuger时 间: 2006-0 ...
- "无法启动程序,因为计算机中丢失*.dll” 运行exe错误解决方法
笔者把编译生成的win32 Release exe文件复制到另外一台电脑上,却发现程序不能运行,报错如下: 报错提示缺失动态链接库pcl_common_release.dll,那为什么在编译生成的电脑 ...